|
Программирование >> Программирование баз данных
Gererd Steps Schedules jAIefts Notificatiors J> Teioets Refresh icheduie Scj - НсЭр Actions to pef form wdien the job completes: □ Еэзе: □ Hetcend □ Write to the Windows Application evert log; □ Aiitomaiicdly delete job: n thB jab fate Whmlheioblais Whe<hejabfd£ .When ihejobiucceedt Puc. 24.13. Страница Notifications Страница Notifications (см. рис. 24.13) позволяет отказаться от применявшейся ранее модели формирования предупреждающих сообщений и определить формат отклика, более подходящий для конкретного задания; в настоящей главе мы ограничимся только приведенным выше описанием и лишь отметим, что это диалоговое окно позволяет определить форматы конкретных дополнительных извещений. Теперь можно щелкнуть на кнопке ОК и выйти из диалогового окна New Job. После этого придется подождать несколько минут, прежде чем активизируется задание (записи журнала появляются в журнале событий Windows через каждые пять минут). Для того чтобы просмотреть новые записи журнала, выберите элемент меню Starti Programs=>Administrative Toois=>Event Viewer. Кроме того, необходимо установить в открывшемся окне переключатель таким образом, чтобы использовался журнал приложений. Application log, а не заданный по умолчанию системный журнал. System log. Следует учитывать, что если вы собираетесь эксплуатировать запланированные задания, подобные описанному, то для запуска их на выполнение необходимо вызвать программу SQL Server Agent. Чтобы проверить состояние работы службы SQL Server Agent, можно запустить на выполнение программу SQL Server Configuration Manager и выбрать службу SQL Server Agent или перейти к узлу SQL Server Agent в окне Object Explorer программы Management Studio. Кроме того, после проверки рассматриваемого задания не забудьте его отменить (щелкните правой кнопкой мыши на имени этого задания в программе Management Studio после того, как убедитесь, что оно работает в соответствии с ожиданиями). В противном случае задание будет вызываться повторно снова и снова и создавать записи в журнале приложений, Application Log; в конечном итоге журнал приложений заполнится и в ходе эксплуатации системы возникнут проблемы. Создание заданий и задач с использованием средств T-SQL Прежде всего необходимо отметить, что средства языка T-SQL, как правило, не используются для повседневного выполнения такого рода работы (для создания запланированных заданий и задач). Дело в том, что в конечном итоге планированием большинства заданий занимается администратор базы данньгх, исходя из определенньгх потребностей и конкретного графика, который должен быть составлен заранее. Те читатели, которым не приходится подготавливать сценарии для планирования задач, могут пропустить этот раздел (поскольку нет смысла изучать изложенный в нем большой объем материала, который не придется использовать). Тем не менее разработчики иногда сталкиваются с такой ситуацией, что в распоряжении их заказчиков нет администратора базы данных (например, на малых предприятиях часто отсутствуют специалисты, имеюш;ие хотя бы даже начальную подготовку в области администрирования баз данньпс), поэтому им приходится писать сценарии вьшолнения некоторьпс заданий, которыми могли бы воспользоваться даже неподготовленные пользователи. В процедурах инсталляции во многих случаях обнаруживаются упущения в части автоматизации создания определенных заданий; это особенно свойственно программному обеспечению, поставляемому в виде инсталляционньгх пакетов. Если разработчику приходится передавать созданное им программное обеспечение в эксплуатацию в какую-либо консультативную фирму или на небольшое частное предприятие, то чаще всего на него возлагаются также обязанности по составлению графика вьшолнения всех необходимых задач в процессе инсталляции. Но если программное обеспечение поставляется в виде инсталляционного пакета, то чаще всего полный контроль над процессом инсталляции отсутствует, а фактически разработчик может находиться за сотни или тысячи километров от места проведения инсталляции и даже не знать о том, что в данный момент устанавливается созданное им программное обеспечение. Поэтому разработчик обязан позаботиться о том, чтобы в ходе эксплуатации созданного им программного обеспечения было предусмотрено выполнение основных задач поддержки и сопровождения (например, таких, как резервное копирование). Процедуры подготовки всего необходимого для выполнения таких задач можно ввести в состав процесса инсталляции. Для ввода в действие заданий в СУБД SQL Server могут использоваться следующие три хранимые процедуры, вызываемые на выполнение с помощью языка T-SQL. sp acici j ob. Эта процедура фактически создает задание. sp acici job step. С помощью этой процедуры создается задача, входящая в состав вышеупомянутого задания. sp acici j obscheciule. Эта процедура определяет время выполнения задания. Каждая из приведенных выше процедур необходима для выполнения запланированной задачи и выполняет функции, аналогичные тем, которые предусмотрены на различных вкладках в окне программы Management Studio. Эти процедуры рассматриваются отдельно в следующих разделах. Все задания и задачи хранятся в базе данных msdb. Прежде всего необходимо убедиться в том, что msdb является текущей базой данньгх (с помощью команды USE) и только после этого вызывать любую из рассматриваемых хранимых процедур. Хранимая процедура sp add job Хранимая процедура sp add j ob создает верхний уровень иерархии и позволяет определить, кто является владельцем задания и как должны обрабатываться извещения. Эта процедура имеет довольно много параметров, но большинство из них в основном не требует описания: sp add j ob [@j ob name =] < j ob name > [, [©enabled =] <0 for no, 1 for yes>] [, [©description =] <description of the job>] [, [@start step id =] <ID of the step you want to start at>] [/[@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 =] <name of operator to email>] [, [@notify netsend operator name =] <name of operator for network message>] [, [@notify page operator name =] <name of operator to page>] [, [@delete level =] <delete level>] [, [@job id =] <job id> OUTPUT] Еще раз отметим, что сами имена большинства параметров полностью описывают их назначение, поэтому ниже рассматриваются только те параметры, смысл которых понять немного труднее. @start step id. Этот параметр, обозначающий начальный шаг, принимает по умолчанию значение 1 и почти во всех случаях вызова процедуры не подвергается изменениям. О том, как ввести дополнительные шаги, будет описано ниже, но добавляемые шаги обозначаются идентификаторами, и только начальный шаг позволяет передать программе SQL Server Agent информацию о том, с чего начинается задание. @category name. Этот параметр полностью соответствует обозначению категории, которое рассматривалось при описании процесса планирования заданий в программе Management Studio. Данный параметр часто остается не определенным (в таком случае см. описание параметра @category id), но может принимать значение Database Maintenance (еще один распространенный вариант). Full Text, Web Assistant, Replication или обозначать категорию, добавленную с помощью хранимой процедуры sp add category. @category id. Этот параметр представляет собой всего лишь один из способов указания категории независимо от конкретного языка. Если нет необходимости назначать заданию какую-то конкретную категорию, то рекомендуется использовать этот параметр вместо имени и задавать в качестве него либо значение О (Uncategorized, but runs local - некатегоризованное задание, выполняемое локально), либо 1 (Uncategorized Multi-Server- некатегоризованное мультисерверное задание).
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |