Опубликован: 11.12.2006 | Доступ: свободный | Студентов: 5820 / 381 | Оценка: 4.42 / 3.86 | Длительность: 57:15:00

Лекция 31: Автоматизация административных задач

Использование T-SQL

Команды T-SQL, используемые для создания задания, добавления шагов к заданию и создания расписания для задания, – это системные хранимые процедуры sp_add_job, sp_add_jobstep и sp_add_jobschedule. Эти хранимые процедуры имеют много необязательных параметров, как это показано в их синтаксисе, представленном в этом разделе. SQL Server присваивает каждому неуказанному параметру значение по умолчанию. Enterprise Manager намного удобнее для создания заданий, поскольку его графический пользовательский интерфейс позволяет вам увидеть все параметры для задания, чтобы вы ничего не забыли. Используя T-SQL, вы должны задавать значения для всех необязательных параметров или быть уверенным в том, что принятые по умолчанию значения всех пропущенных вами параметров подходят для вашего задания. Вместо запуска этих хранимых процедур вручную вам следует использовать Enterprise Manager. Вы можете затем генерировать сценарии T-SQL, которые использовал Enterprise Manager для создания вашего задания; для этого щелкните правой кнопкой мыши на имени этого задания, укажите в контекстном меню All Tasks и выберите команду Generate SQL Script (Генерировать SQL-сценарий). Этот метод поможет вам повторно создать задание с помощью сценария, если это когда-нибудь потребуется.

Для запуска этих хранимых процедур вы должны использовать базу данных msdb, поскольку они хранятся в этой базе данных. Рассмотрим параметры, которые указываются в этих хранимых процедурах, – на тот случай, если вы все же захотите использовать их. Для всех хранимых процедур, описанных в этом разделе, используется один общий синтаксис. Хранимая процедура sp_add_job имеет следующий синтаксис:

sp_add_job [@job_name =] 'job_name'
[,[@enabled =] enabled] 
[,[@description =] 'description']
[,[@start_step_id =] step_id] 
[,[@category_name =] 'category']
[,[@category_id =] category_id] 
[,[@owner_login_name =] 'login']
[,[@notify_level_eventlog =] eventlog_level]
[,[@notify_level_email =] email_level]
[,[@notify_level_netsend =] netsend_level]
[,[@notify_level_page =] page_level]
[,[@notify_email_operator_name =] 'email_name']
[,[@notify_netsend_operator_name =] 'netsend_name'] 
[,[@notify_page_operator_name =] 'page_name']
[,[@delete_level =] delete_level] 
[,[@originating_server =] 'server_name'
[,[@job_id =] job_id OUTPUT]

Процедура sp_add_jobstep имеет следующий синтаксис:

sp_add_jobstep [@job_id =] job_id | [@job_name =] 'job_name'] 
[,[@step_id =] step_id] 
{,[@step_name =] 'step_name'}
[,[@subsystem =] 'subsystem'] 
[,[@command =] 'command']
[,[@additional_parameters =] 'parameters']
[,[@cmdexec_success_code =] code]
[,[@on_success_action =] success_action]
[,[@on_success_step_id =] success_step_id]
[,[@on_fail_action =] fail_action]
[,[@on_fail_step_id =] fail_step_id] 
[,[@server =] 'server']
[,[@database_name =] 'database'] 
[,[@database_user_name =] 'user']
[,[@retry_attempts =] retry_attempts] 
[,[@retry_interval =] retry_interval]
[,[@os_run_priority =] run_priority] 
[,[@output_file_name =] 'file_name']
[,[@flags =] flags]

Процедура sp_add_jobschedule имеет следующий синтаксис:

sp_add_jobschedule [@job_id =] job_id, | [@job_name =] 'job_name',
[@name =] 'name'
[,[@enabled =] enabled] 
[,[@freq_type =] freq_type]
[,[@freq_interval =] freq_interval]
[,[@freq_subday_type =] freq_subday_type]
[,[@freq_subday_interval =] freq_subday_interval]
[,[@freq_relative_interval =] freq_relative_interval]
[,[@freq_recurrence_factor =] freq_recurrence_factor] 
[,[@active_start_date =] active_start_date]
[,[@active_end_date =] active_end_date]
[,[@active_start_time =] active_start_time]
[,[@active_end_time =] active_end_time]
Дополнительная информация.Чтобы получить описание каждого параметра и его значения по умолчанию, найдите имя соответствующей хранимой процедуры в индексе Books Online.
Примечание. Описанные здесь хранимые процедуры, как и другие хранимые процедуры, связанные с созданием и управлением для заданий, операторов, уведомлений и оповещений, хранятся в базе данных msdb. Для запуска этих процедур у вас должна использоваться эта база данных.