Поделиться через


Начать задание

применимо к:SQL ServerУправляемому экземпляру SQL Azure

Важный

В управляемом экземпляре SQL Azureв настоящее время поддерживаются большинство, но не все функции агента SQL Server. Дополнительные сведения см. в разделе отличия T-SQL управляемого экземпляра SQL Azure от SQL Server.

В этой статье описывается, как запустить задание агента Microsoft SQL Server в SQL Server с помощью SQL Server Management Studio, Transact-SQL или объектов управления SQL Server.

Задание — это указанный ряд действий, выполняемых агентом SQL Server. Задания агента SQL Server могут выполняться на одном локальном сервере или на нескольких удаленных серверах.

Перед началом работы

Безопасность

Для получения подробной информации см. статью Настройка безопасности агента SQL Server.

Используйте SQL Server Management Studio

  1. В Обозревателе объектов подключитесь к экземпляру системы управления базами данных SQL Server, а затем разверните этот экземпляр.

  2. Разверните агент SQL Server, и разверните заданий. В зависимости от способа запуска задания выполните одно из следующих действий:

    • Если вы работаете на одном сервере или работаете на целевом сервере или выполняете локальное задание сервера на главном сервере, щелкните правой кнопкой мыши задание, которое нужно запустить, а затем выберите запустить задание.

    • Если вы хотите запустить несколько заданий, щелкните правой кнопкой мыши Монитор активности заданий, а затем выберите Просмотреть активность задания. В мониторе действий заданий можно выбрать несколько заданий, щелкнуть правой кнопкой мыши по выбранным заданиям и выбрать Запустить задачи.

    • Если вы работаете на главном сервере и хотите, чтобы все целевые серверы одновременно выполняли задание, щелкните правой кнопкой мыши задание, которое нужно запустить, выберите Запустить задание, а затем выберите Запустить на всех целевых серверах.

    • Если вы работаете на главном сервере и хотите указать целевые серверы для задания, щелкните правой кнопкой мыши задание, которое нужно запустить, выберите Запустить задание, а затем выберите Запустить на определенных целевых серверах. В диалоговом окне Инструкции после загрузки установите флажок Эти целевые серверы, а затем выберите каждый целевой сервер, на котором следует выполнить это задание.

Используйте Transact-SQL

  1. В обозревателе объектовподключитесь к экземпляру СУБД.

  2. На панели "Стандартный" выберите Новый запрос.

  3. Скопируйте и вставьте следующий пример в окно запроса и выберите Выполнить.

    -- starts a job named Weekly Sales Data Backup.
    USE msdb ;
    GO
    
    EXEC dbo.sp_start_job N'Weekly Sales Data Backup' ;
    GO
    

Дополнительные сведения см. в sp_start_job (Transact-SQL).

Использование языков программирования

Вызовите метод start класса Job с помощью выбранного языка программирования, например Visual Basic, Visual C# или SQL PowerShell.

SQL PowerShell

Ниже приведен скрипт PowerShell, который можно использовать в агенте SQL Server с параметрами. В этом скрипте показано, как запустить задание агента SQL Server с помощью параметров, переданных в скрипт.

# Parameters
param(
    [string]$ServerInstance,
    [string]$JobName
)

# Load the SMO assembly
Add-Type -AssemblyName "Microsoft.SqlServer.SMO"

# Create a server object
$server = New-Object Microsoft.SqlServer.Management.Smo.Server $ServerInstance

# Get the job you want to start
$job = $server.JobServer.Jobs[$JobName]

# Start the job
if ($job) {
    $job.Start()
    Write-Output "The job '$JobName' on server '$ServerInstance' has been started successfully."
} else {
    Write-Output "The job '$JobName' was not found on server '$ServerInstance'."
}

Использование скрипта в агенте SQL Server.

  1. Откройте SQL Server Management Studio (SSMS).

  2. Подключитесь к соответствующему экземпляру SQL Server.

  3. Разверните узел Агента SQL Server.

  4. Щелкните правой кнопкой мыши на Джобс и выберите "Создать задание".

  5. В диалоговом окне "Новое задание" введите имя задания и другие необходимые сведения.

  6. Перейдите на страницу "Шаги" и выберите "Создать", чтобы создать новый шаг задания.

  7. В диалоговом окне "Новый шаг задания":

    1. Задайте для свойства Type значение PowerShell.

    2. В поле "Команда" введите сценарий PowerShell вместе с параметрами, например:

      .\YourScript.ps1 -ServerInstance "YourServerInstance" -JobName "YourJobName"
      
  8. Задайте любые другие свойства задания по мере необходимости (расписания, оповещения, уведомления и т. д.).

  9. Нажмите кнопку "ОК", чтобы сохранить задание.

Объяснение сценария

  • Параметры: скрипт принимает два параметра, $ServerInstance и $JobName, которые являются экземпляром SQL Server и именем задания соответственно.
  • Загрузка SMO: командлет Add-Type используется для загрузки сборки SQL Server Management Objects (SMO).
  • Серверный объект: создается новый объект сервера с помощью параметра $ServerInstance.
  • Получение задания. Скрипт извлекает указанное задание с помощью параметра $JobName.
  • Запуск задания: если задание найдено, оно запущено с помощью метода Start. Скрипт выводит сообщение об успешном выполнении. Если задание не найдено, отображается сообщение об ошибке.

Дополнительные сведения см. в объектов управления SQL Server (SMO).