Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Ступень задания — это действие, которое задание выполняет в базе данных или на сервере. Каждое задание должно иметь как минимум один этап. Шаги задания могут быть следующими:
Исполняемые программы и команды операционной системы.
Transact-SQL инструкции, включая хранимые процедуры и расширенные хранимые процедуры.
Скрипты PowerShell.
Сценарии Microsoft ActiveX.
Задачи репликации.
Задачи служб Analysis Services.
Пакеты служб «Integration Services».
Каждый шаг задания выполняется в определенном контексте безопасности. Если шаг задания задает прокси-сервер, шаг задания выполняется в контексте безопасности учетных данных для прокси-сервера. Если шаг задания не указывает прокси-сервер, шаг задания выполняется в контексте учетной записи службы агента SQL Server. Только члены предопределенной роли сервера sysadmin могут создавать задания, которые явно не указывают прокси-сервер.
Так как действия задания выполняются в контексте определенного пользователя Microsoft Windows, этот пользователь должен иметь разрешения и конфигурацию, необходимые для выполнения шага задания. Например, при создании задания, требующего буквы диска или пути универсального соглашения об именовании (UNC), действия задания могут выполняться в учетной записи пользователя Windows при тестировании задач. Однако пользователь Windows для шага задания также должен иметь необходимые разрешения, настройки букв диска или доступ к требуемому диску. В противном случае шаг задания завершается сбоем. Чтобы предотвратить эту проблему, убедитесь, что прокси-сервер для каждого шага задания имеет необходимые разрешения для задачи, выполняемой этапом задания. Дополнительные сведения см. в разделе "Центр безопасности для ядра СУБД SQL Server" и Базы данных SQL Azure.
Журналы шагов работы
Агент SQL Server может записывать выходные данные из некоторых шагов задания в файл операционной системы или в таблицу sysjobstepslogs в базе данных msdb. Следующие типы шагов задания могут записывать выходные данные в оба места назначения.
Исполняемые программы и команды операционной системы.
Операции Transact-SQL.
Задачи служб Analysis Services.
Только шаги задания, выполняемые пользователями, которые являются членами фиксированной серверной роли sysadmin, могут записывать результаты шагов задания в файлы операционной системы. Если действия задания выполняются пользователями, которые являются членами SQLAgentUserRole, SQLAgentReaderRole или предопределенных ролей базы данных SQLAgentOperatorRole в базе данных msdb, выходные данные из этих шагов задания можно записать только в таблицу sysjobstepslogs.
Журналы шагов задания автоматически удаляются при удалении заданий или шагов задания.
Замечание
Задача репликации и ведение журнала этапов заданий пакетов служб Integration Services обрабатываются соответствующими подсистемами. Агент SQL Server нельзя использовать для настройки ведения журнала пошагового выполнения для этих типов шагов заданий.
Исполняемые программы и команды Operating-System в качестве шагов задания
Исполняемые программы и команды операционной системы можно использовать в качестве шагов задания. Эти файлы могут иметь .bat, .cmd, .com или расширения файлов .exe.
При использовании исполняемой программы или команды операционной системы в качестве шага задания необходимо указать:
Код выхода процесса возвращается, если команда выполнена успешно.
Команда для выполнения. Для выполнения команды операционной системы это просто сама команда. Для внешней программы это имя программы и аргументы программы, например C:\Program Files\Microsoft SQL Server\100\Tools\Binn\sqlcmd.exe -e -q "sp_who".
Замечание
Необходимо указать полный путь к исполняемому файлу, если он не находится в каталоге, указанном в системном пути или в пути пользователя, под учетной записью которого выполняется шаг задания.
шаги задания Transact-SQL
При создании шага задания Transact-SQL вы должны:
Определите базу данных, в которой выполняется задание.
Введите инструкцию Transact-SQL для выполнения. Инструкция может вызвать хранимую процедуру или расширенную хранимую процедуру.
При необходимости можно открыть существующий файл Transact-SQL в качестве команды для шага задания.
Transact-SQL действия задания не используют прокси агента SQL Server. В таком случае шаг задания выполняется от имени владельца шага задания или от имени учетной записи службы агента SQL Server, если владелец шага задания является членом фиксированной серверной роли sysadmin. Члены предопределенных ролей сервера sysadmin также могут указывать, что шаги задания Transact-SQL выполняются в контексте другого пользователя с помощью параметра database_user_name хранимой процедуры sp_add_jobstep. Дополнительные сведения см. в sp_add_jobstep (Transact-SQL).
Замечание
Один шаг задания Transact-SQL может содержать несколько пакетов. Transact-SQL действия задания могут содержать встроенные команды GO.
Этапы задания скриптов PowerShell
При создании шага задания скрипта PowerShell необходимо указать одну из двух вещей в качестве команды для шага:
Текст скрипта PowerShell.
Существующий файл скрипта PowerShell для открытия.
Подсистема PowerShell агента SQL Server запускает сессию PowerShell и загружает модули SQL Server PowerShell. Скрипт PowerShell, используемый в качестве команды шага задания, может обращаться к поставщику и командлетам SQL Server PowerShell. Для получения дополнительной информации о написании скриптов PowerShell с использованием модулей SQL Server PowerShell см. в разделе SQL Server PowerShell.
Этапы задания скриптов ActiveX
Это важно
Шаг задания сценариев ActiveX будет удален из агента SQL Server в будущей версии MicrosoftSQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.
При создании шага задания скрипта ActiveX необходимо:
Определите язык сценариев, на котором записывается шаг задания.
Напишите скрипт ActiveX.
Вы также можете открыть существующий файл скрипта ActiveX в качестве команды для шага задания. Кроме того, команды скриптов ActiveX можно скомпилировать во внешней среде (например, с помощью Microsoft Visual Basic), а затем запустить как исполняемые программы.
Когда команда шага задания является скриптом ActiveX, можно использовать объект SQLActiveScriptHost для печати выходных данных в журнал журнала заданий или создания COM-объектов. SQLActiveScriptHost — это глобальный объект, который внедряется системой размещения агента SQL Server в пространство имен скрипта. Объект имеет два метода (Print и CreateObject). В следующем примере показано, как работает скрипт ActiveX в Visual Basic Scripting Edition (VBScript).
' VBScript example for ActiveX Scripting job step
' Create a Dmo.Server object. The object connects to the
' server on which the script is running.
Set oServer = CreateObject("SQLDmo.SqlServer")
oServer.LoginSecure = True
oServer.Connect "(local)"
'Disconnect and destroy the server object
oServer.DisConnect
Set oServer = nothing
Этапы задачи репликации
При создании публикаций и подписок с помощью репликации задания репликации создаются по умолчанию. Тип создаваемого задания определяется типом репликации (моментальным снимком, транзакцией или слиянием) и используемыми параметрами.
Шаги задания репликации активируют один из следующих агентов репликации:
Агент моментальных снимков (задание моментального снимка)
агент чтения журналов (задание "LogReader")
Агент по распространению (работа по распространению)
Агент слияния (задание слияния)
Агент считывателя очереди (задание считывателя очереди)
При настройке репликации можно указать запуск агентов репликации одним из трех способов: непрерывно после запуска агента SQL Server, по запросу или по расписанию. Дополнительные сведения об агентах репликации см. в разделе "Обзор агентов репликации".
Этапы задания служб Analysis Services
Агент SQL Server поддерживает два различных типа шагов задания для Служб Analysis Services: шаги команд и шаги запросов.
Шаги задания команд Служб Analysis Services
При создании шага задания служб Analysis Services необходимо:
Определите сервер OLAP базы данных, в котором выполняется шаг задания.
Введите инструкцию для выполнения. Оператор должен быть XML-запросом для метода Execute в службах Analysis Services. Утверждение может не содержать полной оболочки SOAP или метода Discover для XML Analysis Services. Обратите внимание, что, хотя SQL Server Management Studio поддерживает полные конверты SOAP и метод Discover, шаги заданий агента SQL Server этого не делают.
Шаги задания запросов Analysis Services
При создании шага задания запроса Analysis Services необходимо:
Определите сервер OLAP базы данных, в котором выполняется шаг задания.
Введите инструкцию для выполнения. Выражение должно быть запросом многомерных выражений (MDX).
Дополнительные сведения о многомерных выражениях см. в разделе "Основы запросов многомерных выражений" (Службы анализа).
Пакеты служб интеграции
При создании шага задания пакета служб интеграции необходимо выполнить следующие действия:
Определите источник пакета.
Определите расположение пакета.
Если файлы конфигурации необходимы для пакета, определите файлы конфигурации.
Если для пакета требуются файлы команд, определите файлы команд.
Определите проверку, используемую для пакета. Например, можно указать, что пакет должен быть подписан или что пакет должен иметь определенный идентификатор пакета.
Определите источники данных для пакета.
Определите поставщиков журналов для пакета.
Укажите переменные и значения, которые необходимо задать перед запуском пакета.
Определите параметры выполнения.
Добавление или изменение параметров командной строки.
Обратите внимание, что при развертывании пакета в каталоге служб SSIS и указан каталог служб SSIS в качестве источника пакета, большая часть этих сведений конфигурации получается автоматически из пакета. На вкладке "Конфигурация" можно указать среду, значения параметров, значения диспетчера соединений, переопределения свойств и выполнение пакета в 32-разрядной среде выполнения.
Для получения дополнительной информации о создании шагов заданий, которые запускают пакеты Integration Services, см. "Задания агента SQL Server для пакетов".
Связанные задачи
| Описание | Тема |
| Описывает создание шага задания с исполняемой программой. | Создайте шаг задания CmdExec |
| Описывает, как сбросить разрешения агента SQL Server. | Настройка пользователей для создания заданий агента SQL Server и управления ими |
| Описывает, как создать шаг задания Transact-SQL. | Создайте шаг задания Transact-SQL |
| Описывает, как определить параметры для этих этапов задания агента Microsoft SQL Server Transact-SQL. | Определение параметров шага задания Transact-SQL |
| Описывает, как создать шаг задания создания скрипта ActiveX. | Создание шага задания скрипта ActiveX |
| Описывает, как создать и определить этапы задания агента SQL Server, которые выполняют команды и запросы служб SQL Server Analysis Services. | Создайте шаг задания в службах Analysis Services |
| Описание действия SQL Server, если во время выполнения задания возникает сбой. | Настройка потока успеха или неудачи этапа задания |
| Описывает, как просмотреть сведения о шаге задания в диалоговом окне "Свойства шага задания". | Просмотр сведений о шаге задания |
| Описывает, как удалить журнал шага задания агента SQL Server. | Удаление журнала шагов задания |
См. также
dbo.sysjobstepslogs (Transact-SQL)
Создание заданий
sp_add_job (Transact-SQL)