How to migrate scheduled jobs between multiple installations

Refers to the Professional edition only


This guide explains how to move scheduled jobs from one machine to another when using SQL Examiner or SQL Data Examiner. The migration process is based on copying internal job folders and importing corresponding Windows Task Scheduler tasks.

Note 1: In this article, the term SQL Examiner Suite is used for convenience. It refers to scheduled jobs created by SQL Examiner, SQL Data Examiner, or both. This avoids repeating both product names each time while covering all relevant scenarios.

Note 2: Beginning with SQL Examiner Suite 2026, the product includes a built-in job export feature that makes migration much easier. Earlier versions require manual transfer as described below.

Before proceeding, you may also want to review how scheduled jobs are normally configured: How to schedule a comparison

Overview

A scheduled job consists of:

  • A job folder stored under the SQL Examiner Suite data directory.
  • A Windows Task Scheduler entry that triggers the job.
  • Optional config or project files referenced by this job.
  • Optional paths for logs, backups, reports, and other outputs.

To successfully migrate a job, both the job folder and the corresponding Windows scheduled task must be transferred to the new machine. Jobs typically run without changes if all file paths stay identical.

You can migrate all jobs, or only a selected subset. Both scenarios are described below.

Migrating all scheduled jobs

Use this method when you want to move the entire set of scheduled jobs from one installation to another.

Step 1. Copy the Scheduled Tasks directory

On the source machine, locate and copy:

%PROGRAMDATA%\TulaSoft\SQL Examiner Suite\Scheduled Tasks

Copy the entire Scheduled Tasks directory to the target machine.

Important: The directory path must remain exactly the same on the target system. If the path differs, the jobs may fail or require manual correction.

Step 2. Export the Windows scheduled tasks

On the source machine:

  1. Open Windows Task Scheduler (Windows + R > taskschd.msc).
  2. Locate the scheduled tasks belonging to SQL Examiner Suite.
  3. Export each task using the "Export" command. This produces one XML file per job.

Step 3. Import the tasks on the target machine

On the target machine:

  1. Open Windows Task Scheduler.
  2. Use Import Task to import each exported XML file.
  3. When importing, specify the user account under which the job should run.

After importing, the scheduler tasks will reference the job folders you copied earlier.

Step 4. If a job does not run, verify all paths

If a migrated job fails, the issue is almost always caused by differences in file paths. Check and correct the following:

  1. Paths in the Task Scheduler XML files.
  2. Paths inside the root metadata.xml file.
  3. Paths inside each job folder’s metadata.xml.
  4. Paths in each job folder’s task.cmd.
  5. Paths in any referenced config or project files, including directories for logs, backups, reports.

If any referenced files or directories are missing, restore them or update the paths.

Migrating only selected scheduled jobs

Use this method when you want to transfer only some of the jobs.

Unlike full migration, you do not copy the entire directory. Instead, you identify the required jobs, export only their Windows tasks, and copy only their metadata folders.

Step 1. Map SQL Examiner Suite jobs to Windows tasks

SQL Examiner Suite stores internal job metadata separately from Windows Task Scheduler.

To map internal job names to Windows task names and job folder names, run the following PowerShell script on the source machine:

# Path to the main Task Scheduler metadata file
$mainXmlPath = "$env:PROGRAMDATA\TulaSoft\SQL Examiner Suite\Scheduled Tasks\metadata.xml"

# Load the main metadata XML
$main = [xml](Get-Content -Encoding UTF8 $mainXmlPath)

$main.TaskScheduler.Tasks.Task | ForEach-Object {
    $metaPath = $_.metadata

    # Verify that the referenced metadata file exists
    if (-not (Test-Path $metaPath)) {
        Write-Warning "File not found: $metaPath"
        return
    }

    # Load the job-specific metadata file
    $metaXml = [xml](Get-Content -Encoding UTF8 $metaPath)

    # Extract the job folder path and take only the leaf folder name
    $fullFolder = $metaXml.Task.folder
    $folderLeaf = Split-Path $fullFolder -Leaf

    # Output a CSV record containing the internal job name
    # and the corresponding Windows Task Scheduler folder name
    [PSCustomObject]@{
        Name   = $metaXml.Task.name
        Folder = $folderLeaf
    }
} | Export-Csv -NoTypeInformation -Encoding UTF8 "$env:PROGRAMDATA\TulaSoft\SQL Examiner Suite\Scheduled Tasks\tasks.csv"

This creates:

%PROGRAMDATA%\TulaSoft\SQL Examiner Suite\Scheduled Tasks\tasks.csv

Each row contains:

  • The job name shown in SQL Examiner Suite
  • The corresponding Windows Task Scheduler name (e.g.
    • SQL Examiner - {06A46B65-059D-42DB-B80E-D405031E6AE8}
    • SQL Data Examiner - {73D3A2FE-CE5F-426E-82F7-138D68181BCB})

Use this file to identify which jobs you want to migrate.

Step 2. Export only the required Windows tasks

Using the values from Folder column in tasks.csv:

  1. Open Windows Task Scheduler.
  2. Locate each required task.
  3. Export each selected task to an XML file.

Step 3. Copy only the corresponding job folders

On the source machine:

%PROGRAMDATA%\TulaSoft\SQL Examiner Suite\Scheduled Tasks

Copy only the subfolders whose names match the Windows task names of the selected jobs. Do not copy unrelated folders.

Each folder contains a metadata.xml file and auxiliary job files.

Step 4. Import the tasks on the target machine

On the target machine:

  1. Import each exported XML file via Task Scheduler.
  2. Specify the correct user account during import.

Step 5. Copy the job folders

Copy the selected job folders into:

%PROGRAMDATA%\TulaSoft\SQL Examiner Suite\Scheduled Tasks

Folder names must remain unchanged.

Step 6. Update metadata.xml on the target machine

Open:

%PROGRAMDATA%\TulaSoft\SQL Examiner Suite\Scheduled Tasks\metadata.xml

For each imported job, add a new <Task> entry with the following attributes:

  • externalName – Windows Task Scheduler task name
  • application – SQL Examiner or SQL Data Examiner
  • metadata – full path to the job’s metadata.xml inside its folder

Ensure that the structure matches the existing entries.

Step 7. Verify paths

If all job-related paths on the target machine match the original environment, the migrated jobs will run correctly.

If not, adjust the paths manually.

Recommendation

Based on our support experience, if the source and target installation paths differ significantly, it may be faster to recreate jobs manually rather than fix many path discrepancies, especially when jobs reference external config files, backup folders, or report directories.

Summary

  • This article covers job migration for SQL Examiner Suite Professional edition, version 2023 and earlier.
  • The term SQL Examiner Suite is used to refer to SQL Examiner and/or SQL Data Examiner jobs.
  • You can migrate all jobs or only selected ones.
  • For full migration, copy the entire Scheduled Tasks directory and export/import all Windows tasks.
  • For partial migration, generate tasks.csv, export only the required Windows tasks, copy only the matching job folders, update metadata.xml, and verify paths.
  • Starting with SQL Examiner Suite 2026, a built-in job export feature replaces this manual procedure.
  • Product:  SQL Examiner, SQL Data Examiner
  • Edition:  Professional
  • Version:  2023 and earlier
  • Published:  2025-11-28
  • Last Updated:  2025-12-03

Do not see what you are looking for?
Please submit a support request

Table of contents