Книги, научные публикации Pages:     | 1 |   ...   | 5 | 6 | 7 | 8 | 9 |

Kit Exam 70-228 SQL Server 2000 System Administration курс Сертификационный экзамен 70-228 Администрирование Microsoft SQL Server 2000 Официальное пособие Microsoft для самостоятельной подготовки ...

-- [ Страница 7 ] --

В панели запросов введите SELECT * FROM и в панели инструментов щелкните кнопку Execute Query.

Обратите внимание, что в области результатов запроса не показана таблица Custo mer. Тому есть ряд причин: во-первых, не разрешает использо вание учетных записей SQL Server, во-вторых, у пользователя Joe нет учетной за писи пользователя SQL Server в MyNamedlnstance.

16. Разверните окно SQL Server Enterprise Manager.

17. В дереве консоли щелкните кнопкой и выберите Properties.

Откроется окно SQL Server Properties (Configure) Ч Instance.

18. На вкладке Security установите переключатель SQL Server And Windows и нажми те ОК.

19. Щелкните кнопку Yes, чтобы перезапустить службу SQL Server.

20. Разверните окно SQL Query Занятие 2 компонентов 21. В панели инструментов щелкните кнопку Execute Query, чтобы заново запрос пользователя Joe.

22. Заметьте: в области результатов запроса отображается другое сообщение об ке. Теперь пользователь Joe не может выполнить распределенный запрос, так как его локальная учетная запись связана с еще не созданной в экземпляре Instance учетной записью Joe.

23. Разверните окно SQL Server Enterprise Manager.

24. В дереве консоли раскройте а затем Ч Security.

25. Щелкните кнопкой Logins и выберите New Login.

Откроется окно SQL Server Login Properties Ч New Login.

26. В поле Name введите Joe.

27. Установите переключатель SQL Server Authentication.

28. В поле Password введите password и щелкните ОК.

Откроется окно Confirm Password.

29. В поле Confirm New Password введите password и щелкните ОК.

Разверните окно SQL Query Analyzer.

31. В панели инструментов щелкните кнопку Execute Query, чтобы заново выполнить запрос пользователя Joe.

Обратите внимание, что таблица Customer теперь отображается в области резуль татов запроса. Пользователь Joe может выполнять запросы к БД так как для Northwind создана учетная запись пользователя guest, обладающая ми выполнения оператора SELECT в Customer.

32. Разверните окно SQL Server Enterprise Manager.

В дереве консоли раскройте затем Ч Security и щелкните Servers.

34. В области, где отображаются объекты, их состав и свойства, дважды щелкните Откроется окно Linked Server Properties Ч 35. Перейдите на вкладку Security.

36. В первой строке Local Login щелкните стрелку раскрывающегося списка и выберите имя пользователя Ana.

37. В поле Remote User введите Joe.

38. В поле Remote Password введите password.

39. Во второй строке введите Joe и пометьте флажок Impersonate.

40. Ниже надписи For A Login Not Defined Tn The List Above, Connections Will устано вите переключатель Not Be Made и щелкните ОК.

Только Joe и Ana могут использовать данную конфигурацию удаленного сервера.

41. Разверните окно SQL Query Analyzer.

42. панели инструментов щелкните кнопку Execute чтобы заново выполнять запрос пользователя Joe.

Обратите внимание, что Customer отображается в области результатов роса.

43. Переключитесь на свое соединение в качестве администратора в SQL Analyzer.

44. В панели инструментов щелкните кнопку Execute Query, чтобы заново выполнить запрос.

Обратите внимание, что вы не можете больше подключаться к связанному серве ру, так как ваша учетная запись не связанна с другой записью.

SQL Server 45. В меню File выберите Connect.

46. Откроется окно Connect To SQL Server.

47. Щелкните SQL Server Authentication.

В поле Login name введите Ana.

В поле Password введите password и щелкните ОК.

Откроется окно SQL Query Analyzer.

50. В панели запросов введите SELECT * и в панели инструментов щелкните кнопку Execute Query.

Обратите внимание, что в области результатов запроса отображается Customer. Пользователь Ana использует конфигурацию связанного сервера и име ет доступ к данным в используя права учетной записи Joe.

Закройте SQL Server Enterprise Manager и SQL Query Analyzer, не сохраняя выпол ненных изменений.

Создание ODBC-источников данных SQL Server Обычно клиенты подключаются к SQL Server 2000 с помощью OLE DB или ODBC.

OLE получают информацию о соединении от поставщика Microsoft OLE DB Provider for SQL Server. ODBC-клиенты получают необходимую информацию о соединении от Microsoft OLE DB for ODBC, также они могут установить соединение, используя имя источника данных (data source name, DSN) ODBC SQL Server.

DSN Ч это специальная запись, где хранится информация об используемом ODBC-драйвере, о соединении и некоторые специальные данные, необходимые для драйвера. Для создания DSN используется утилита ODBC Data Source Administrator.

Чтобы создать DSN в Windows 2000, из группы Administrative Tools из Control Panel запустите утилиту Data Sources (ODBC), как показано на рис. 12-34.

Рис. 12-34, Создание DSN Вы можете создать пользовательское, системное и файловое имя DSN. Пользова тельское имя DSN принадлежит который его создал и находится толь ко на компьютере, где оно было создано, Системное имя DSN доступно всем под ключенным пользователем и находится на компьютере, где оно было создано. Фай ловое имя DSN хранится в оно может быть доступно нескольким Настройка компонентов лем сети и не обязательно должно быть локальным файлом на клиентском компью тере. После того, как вы выбрали тип DSN (на вкладке) и для нового DSN (щелкнув кнопку Add), откроется окно мастера Data Source Wizard.

На рис. 12-35 показано создание нового ODBC-источника данных для SQL Server.

В первом окне мастера введите имя DSN в поле Name, краткое описание Ч в поле Description и выберите в списке Server имя экземпляра SQL Server, для которого DSN будет хранить информацию о соединении. Во втором окне мастера введите цию о соединении (рис. 12-36).

Рис. 12-35. Создание данных для DSN Рис. 12-36. Ввод информации о соединении для DSN Вы можете указать, чтобы драйвер SQL Server ODBC использовал соединение или учетную запись и пароль SQL Server, введенные пользователем. Вы также можете задать параметры клиентских сетевых библиотек, шелкнув кнопку Client Configuration, Кроме того, вы можете подключиться к SQL Server, чтобы ввести начальные параметры, используемые в следующих окнах мастера, установив Connect То SQL Server To Obtain Default Settings For The Additional Configuration Options. Если вы не подключитесь к SQL Server в процессе создания источника данных, будут ис пользованы значения по умолчанию.

В третьем окне мастера вы можете выбрать БД по умолчанию, пометив флажок Change The Default Database To или присоединив БД для этого DSN, пометив флажок Attach Database Filename. Вы также можете определить параметры ANSI, используе Глава SQL данным DSN, установив соответствующий флажок. И наконец, вы можете ис пользовать кластеризацию с резервированием узлов, когда при выходе из строя одно го экземпляра сервера его функции будет выполнять резервный экземпляр. Для этого пометьте флажок Use The Failover SQL Server If The Primary SQL Server Is Not Available (рис. 12-37).

Рис. 12-37. Определение параметров БД для DSN В четвертом окне мастера вы можете изменить язык системных SQL Server его в соответствующем списке), разрешить шифрование, определить соответствие наборов символов при использовании разных и задать локаль ные параметры настройки, установив соответствующие флажки. Вы также можете разрешить записывать в журнал о долго обрабатываемых запросах (вре мя обработки по умолчанию указано в миллисекундах), пометив флажок Save Long Running Queries To The Log File, а также статистических данных о драйвере ODBC, пометив флажок Log ODBC Driver Statistics To The Log File (рис. 12-38).

:...].Х.. г Рис. 12-38. Настройка языковых и а также параметров ведения журнала для DSN После того как вы введете всю необходимую откроется окно ODBC Microsoft SQL Server Setup. До создания DSN вы можете просмотреть определенные параметры конфигурации и проверить источники данных, щелкнув кнопку Test Data Source. На рис. 12-39 показан удачный результат проверки ODBC-источников данных.

Занятие дополнительных компонентов Рис. 12-39. Просмотр параметров и тестирование DSN Настройка поддержки XML-функциональности SQL Server в IIS Одно из наиболее нововведений в SQL Server Ч поддержка XML. Вы можете сделать так, чтобы ваша система SQL Server хранила БД в виде XML. Для это го нужно сконфигурировать виртуальный каталог IIS. Это позволит вашей системе SQL Server 2000:

Х предоставлять доступ по протоколу HTTP;

Х создавать и обрабатывать схемы XML-Data и запросы Х получать и записывать XML-данные;

Х использовать XML-документы как набор команд и получать наборы в виде потока.

Подробное изложение XML с программной точки зрения выходит за рамки этой книги. Однако с помощью утилиты IIS Virtual Directory Management For SQL Server администраторы БД смогут легко создавать виртуальные каталоги в IIS. Чтобы выз вать эту утилиту, раскройте меню SQL Server и Configure SQL XML Support In IIS. На рисунке 12-40 показано окно IIS Virtual Directory Management SQL Server.

Рис. 12-40. Окно IIS Virtual Directory Management For SQL Server SQL Server Глава В дереве консоли раскройте свой экземпляр сервера, щелкните правой кнопкой Default Web Site, выберите New и щелкните Virtual Directory. Откроется окно New Virtual Directory Properties. На вкладке General введите понятное пользователю имя виртуального каталога в поле Virtual Directory Name. В поле Local Path укажите физи ческий путь к файлам на локальном компьютере, которые будут доступны через этот виртуальный каталог. Обычно это папка в каталоге C:\Inetpub, которая будет содер жать XML-запросы, шаблоны и таблиц стилей (рис. 12-41).

НИШ Рис. 12-41. имени и пути к каталогу На вкладке Security тип проверки подлинности для доступа к SQL Server 2000. При проверке подлинности могут использоваться учетные записи SQL Server 2000 или локальные учетные записи IIS (права которых вы можете определить).

Обычно этот метод используется для предоставления доступа пользователю guest с ограниченными правами. Вы также можете указать, чтобы каждый пользователь про ходил индивидуальную проверку подлинности средствами Windows или SQL Server (рис. 12-42).

Затем на вкладке Data Source в группе SQL Server определите экземпляр SQL Server 2000, данные которого будут доступны через виртуальный каталог, Кроме того, опре делите БД по просмотрев в окне Database список БД своей системы и введя имя и пароль, указанные в предыдущем окне (рис. 12-43).

На вкладке Settings определите тип доступа к системе SQL Server 2000, пометив нужные флажки. URL-запросы позволяют пользователю передавать любой запрос, тогда как запросы шаблонов накладывают определенные ограничения на запросы, которые могут быть созданы с помощью виртуального каталога. Запросы XPath к представлениям SQL позволяют определять вид и структуру возвращаемого докумен та. Они могут быть инкапсулированы в запросах URL или шаблонах. Вы можете раз решить пользователям вводить значения параметров, передаваемых в запросы POST, а также можете ограничить объем данных, вводимых пользователем (объем указыва ется в Кб), как показано на рис. 12-44.

I I.

Рис. 12-42. Выбор проверки подлинности для подключения к виртуальному каталогу,-,.., I Рис. 12-43. Выбор сервера и БД для публикации с виртуального каталога SQL Server - Х -. ' Рис. 12-44. параметров доступа к БД SQL Server На вкладке Names введите имена новых виртуальных каталогов, щелкнув кнопку New. Например, вы можете создать виртуальное имя, связанное с физичес ким путем к папке, содержащей XML-шаблоны и представления (рис. 12-45).

. !-.. Х..,-.,.

. -..

Рас. 12-45. Создание виртуального для публикуемых данных На вкладке Advanced вы можете указать файла Sqlisapi.dll в группе Location, определить дополнительные пользовательские параметры в группе Additional User Settings или отключить кэширование в группе Caching Options. Обыч но значения по умолчанию не изменяют (рис. 12-46).

Занятие компонентов,,.

.--.

. - -.

Рис. 12-46. дополнительных параметров виртуального по умолчанию Упражнение 2. Создание виртуального каталога IIS А В этом упражнении вы с помощью оснастки IIS Virtual Directory Management For SQL Server создадите виртуальный каталог IIS.

Чтобы создать виртуальный каталог IIS 1. что вы зарегистрировались на контроллере домена под учетной записью Administrator.

2. В Windows Explorer создайте новую папку с именем Northwind в C:\Inetpub.

3. Раскройте меню SQL Server и выберите Configure SQL XML Support In IIS.

В консоли IIS Virtual Directory Management For SQL Server будет показана ваша пользовательская сессия.

4. В дереве консоли раскройте свой экземпляр сервера, щелкните правой кнопкой Default Web Site, выберите New, а затем Ч Virtual Directory.

Откроется окно New Virtual Directory Properties.

5. На вкладке General в поле Virtual Directory Name введите Northwind.

6. В поле Local Path введите 7. Перейдите на вкладку Security.

8. В поле User Name введите sa.

9. Перейдите на вкладку Data Source.

Откроется окно Confirm Password.

10. Щелкните OK, чтобы подтвердить, что учетная запись sa не имеет пароля.

Щелкнув кнопку рядом с полем SQL Server, выберите в списке значение CPU.

12. Выберите БД Northwind в списке Database.

384 Администрирование SQL Server Глава Перейдите на вкладку Settings.

14. Пометьте флажок Allow URL Queries и что вы установили флажок Allow Template Queries.

15. Перейдите на вкладку Virtual Names.

16. Щелкните кнопку New.

Откроется окно Virtual Name Configuration.

17. В поле Name введите Queries.

В списке Туре выберите Template.

19. В поле Path введите и щелкните кнопку Save.

Щелкните ОК, чтобы создать новый виртуальный каталог.

21. В Notepad откройте файл из папки 22. Скопируйте запрос HTTP.

23. Откройте Internet Explorer.

24. Вставьте запрос в поле Address и щелкните кнопку Go.

При этом на экране отобразятся контактные имена и телефоны из таблицы Custo mers БД 25. Закройте Windows Explorer, Notepad, Internet Explorer и окно IIS Virtual Directory Management SQL Server.

Примечание На прилагаемом к книге компакт-диске SQL Server 2000 содержатся не которые запросы и упражнения по Они находятся в папке DevTools\Samples\Xml в самораспаковывающемся Резюме Установка SQL Mail позволяет службе SQL Server 2000 отвечать на запросы пользова телей и отправлять им результаты выполнения сценариев Transact-SQL в виде сооб щений электронной почты. позволяет службе SQL Server Agent отправ лять оповещения, а также информацию о выполнении и невыполнении заданий. Ус тановка связанных серверов позволяет пользователям подключаться к удаленным БД, не вводя каждый раз информацию, необходимую для подключения к этому серверу.

Для приложений, использующих ODBC, могут потребоваться имена DSN, которые должен создать администратор БД. чтобы создать сервер с БД в формате XML, необходимо настроить IIS, создав виртуальный каталог, связанный с БД SQL Server 2000, ввести информацию о соединении и разрешить некоторые типы доступа XML.

3 SDL Занятие 3. Обслуживание SQL Server Кроме установки и конфигурирования, администратор БД должен обслуживать сис тему. На этом занятии вы научитесь обновлять статистику перестраи вать индексы и управлять полнотекстовыми индексами. Эти действия, а также пе риодическое резервное копирование и проверка согласованности БД, являются са мыми основными для сопровождения БД. О резервном копировании Ч в главе а о проверке внутренней согласованности Ч в главе 14.

Изучив материал этого занятия, вы сможете:

обновлять статистику распределения;

V перестраивать индексы;

обслуживать полнотекстовые индексы.

Продолжительность занятия Ч около минут Обновление статистики распределения SQL Server 2000 автоматически создает и поддерживает статистику распределения для каждого индекса. Эти данные описывают избирательность и распределение значений ключа для каждого индекса. Оптимизатор запросов SQL Server 2000 использует ста тистические данные для повышения эффективности поиска данных при выполнении запроса. Оптимизатор запросов Ч это компонент SQL Server 2000, определяющий наиболее эффективный способ поиска данных (он определяет, использовать ли декс при поиске, и какой именно). Статистику распределения для столбцов можно созданы вручную с оператора CREATE STATISTICS или автоматически с помощью запросов.

Хотя служба SQL Server регулярно обновляет статистику распределения, при менении нескольких значений ключа или при добавлении большого количества но вых данных в таблицу вам потребуется сделать это вручную. Вы можете воспользо ваться оператором UPDATE STATISTICS или просмотреть план выполнения запро са с SQL Query Analyzer (для этого в меню Query выберите Show Execution Plan). На вкладке Execution Plan устаревшие и исчезнувшие статистические данные будут показаны с соответствующими пометками, вы можете обновить их или создать новые статистику распределения. Вы также можете запланировать периодическое новление статистики распределения с помощью мастера Database Maintenance Plan Wizard (см. главу 13).

Чтобы проверить, что для БД установлено автоматическое создание и автомати ческое обновление статистических данных, щелкните правой кнопкой имя БД в SQL Server Enterprise Manager и выберите Properties. Проверьте, что на вкладке Options установлены оба флажка (autocreate и autoupdate).

Поддержка индексов Кластерные индексы определяют порядок и физическое размещение данных, содер жащихся на страницах данных таблиц. В кластерном индексе физический порядок столбцов в таблице совпадает с порядком значений ключа индекса. При вводе новых данных SQL Server 2000 может реорганизовать данные, чтобы дить пространство и сохранить существующий порядок. Некластерные индексы так SQL же необходимо если при вводе новых данных требуется расщеплять стра ницы. Если SQL Server 2000 должен поместить данные на заполненную страницу, он выделяет новую страницу и распределяет данные между ними. страни цы может снизить производительность, а также вызвать фрагментацию данных, ко торая может отрицательно сказаться на производительности в будущем.

Чтобы минимизировать расщепления страниц, для индекса часто определяется коэффициент заполнения factor). Он может быть создан на основе значения, определенного на уровне всего сервера или установленного только для индекса. При создании индексов, коэффициент ко вре мени создания индекса страницы остаются частично заполненными. Однако при за несении новых данных в таблицу величина коэффициента не важна, так как частич но пустые страницы заполняются и происходит расщепление страниц.

Как администратору БД, при расщеплении страницы вам может понадобиться за ново создать индексы, изменить порядок хранения данных и перестроить частично заполненные страницы, переопределив коэффициент заполнения. Это можно делать, когда пользователи не работают активно с БД. Создание или изменение кластерного индекса отнимает много поскольку при этом происходит переорганизация столбцов таблиц на диске. Вы можете перестраивать индексы с помощью оператора используемого совместно с CREATE INDEX, или оператора DBREINDEX. Средствами мастера Database Maintenance Plan Wizard в SQL Server Enterprise Manager вы можете запланировать автоматическое обновле ние индексов.

Поддержка полнотекстовых индексов Полнотекстовые индексы Ч это индексы всех текстовых данных одной или несколь ких таблиц БД. Индексы хранятся в файловой системе, но управление осуществляет ся через БД. Полнотекстовый поиск осуществляется службой Microsoft Search. На уровне сервера вы можете определить системные ресурсы, которые будет использо вать Microsoft Search для поддержки текущих индексов. На уровне БД вы можете раз решить одной или нескольким таблицам использование службы Microsoft Search.

После этого вы должны создать полнотекстовый индекс для каждой таблицы, в кото рой разрешен полнотекстовый поиск. Эти индексы будут храниться в каталогах на локальном сервере.

С мастера Full-Text Indexing Wizard в SQL Server Enterprise Manager вы можете разрешить полнотекстовую индексацию одной или таблиц БД, оп ределить столбцы в таблицах и задать план заполнения индексов. Для начального за полнения полнотекстового в дереве консоли раскройте БД, содержащую полнотекстовый каталог, а затем Ч Full-Text Catalogs. Щелкните правой кнопкой Full Text Catalogs, чтобы заполнить все каталоги, или имя отдельного каталога, чтобы за полнить только выбранный каталог.

Разработка и создание полнотекстовых индексов не входят в обязанно сти администратора БД, однако вы можете перестраивать индексы и проверять распре деление системных ресурсов, используемых для поддержки индексов службой Micro soft Search.

После заполнения индексов нужно определить, как они будут об новляться. Чтобы в моменты работы пользователей с БД на обслуживание индексов не тратилось много ресурсов, можно обновлять индексы вручную или по SQL Server расписанию. Кроме того, автоматическое обновление индексов можно сделать фоно вым процессом, который будет выполняться в периоды активности БД, В табл.

12-7 перечислены три метода обновления полнотекстовых индексов.

Табл. 12-7. обновления полнотекстовых Тип обновления Описание Использование Full Rebuild Заново выполняется последовательный При изменении просмотр всех столбцов, полнотексто- объемов данных вый индекс строится заново, Должно выполняться вручную или по распи санию Заново проверяет столбцы, измененные Используется при изме incremental Rebuild со времени последнего полного обнов- нении большого коли ления или обновления в указанное время. чества данных, которое В индексированной таблице должен быть невелико в процентном столбец timestamp;

обновляются только отношении от те записи, для которых изменилось числа записей в этой колонке. Должно выполняться вручную или по расписа нию вручную или планируется Change Tracking Поддерживается список всех изменен- При запланированном ных данных. Обычно выполняется как обновлении или фоновом запланированный или фоновый процесс, процессе когда доступны память и процессор Чтобы вручную обновить полнотекстовый индекс, правой кнопкой нуж ное имя полнотекстового каталога в списке Full-Text Catalogs и выберите Rebuild Catalog или Start Incremental Population. Чтобы проследить за изменениями, исполь зуйте системную хранимую sp_fulltext_table. Если вы хотите посмотреть, сколько ресурсов может использовать служба Microsoft используйте систем ную хранимую процедуру Резюме Для поддержки БД администратору необходимо обновлять статистику перестраивать индексы и обновлять полнотекстовые индексы. Обновлять статистику и перестраивать индексы можно вручную или по расписанию. Обновление полнотек стовых индексов тоже может выполняться вручную или по расписанию, а также запу скаться как фоновый процесс с низким приоритетом.

14- SQL Server Глава Закрепление материала 7 J Приведенные ниже вопросы помогут вам лучше усвоить основные темы дан ной главы. Если вы не сумеете ответить на вопрос, повторите материал соот занятия. Правильные ответы приведены в приложении Воп росы и ответы в конце книги, 1. Вы работаете с несколькими серверными приложениями на одном компьютере и заметили, что после периода низкой активности производительность SQL Server 2000 мала. Как вы можете повысить производительность?

2. Вы хотите настроить службу Server Agent, чтобы отправлять администраторам почту в ответ на оповещения. Что вы должны сделать в первую очередь?

3. Вы хотите разрешить XML-запросы к одной из ваших БД. Что для этого нужно сделать?

Автоматизация административных задач Создание операторов Занятие 2. заданий Занятие 3. Настройка оповещений Занятие Создание плана обслуживания БД 5, Создание заданий В этой главе Здесь рассказывается об автоматизации различных задач администрирования, вклю чая создание операторов, заданий и упрощающих выполнение рутин ных задач и позволяющих запрограммировать реакцию системы на ожидаемые тия и условия производительности, Вы также научитесь создавать план ния БД и задания.

Прежде всего Для изучения материалов этой главы вам потребуются:

Х компьютер, соответствующий минимальным аппаратным требованиям, перечис ленным в главе 2;

Х ОС Microsoft Windows 2000 установленная на разделе диска с файловой системой NTFS;

Х компьютер с сетевым именем сконфигурированный как контрол лер домена Х один установленный по умолчанию и по крайней мере один именованный экзем.пляр SQL Server 2000;

Х БД SSEMDB, созданная при помощи сценария CreateDB.sql;

Х таблица Customer БД SSEMDB, созданная при помощи сценария Занятие Создание операторов Первый этап автоматизации административных задач Ч назначение уве домляемых об успехе, ошибке или завершении выполнения автоматизированной за дачи, а также о наступлении определенного события или условия. Здесь рассказыва ется о создании операторов, уведомляемых по электронной посредством пей джера или с NET SEND. Вы научитесь назначать надежного (fail-safe operator), извещаемого в случаях, когда передать сообщение со зданному для конкретной оператору невозможно.

Изучив материал этого вы сможете:

назначить операторов;

определить надежного оператора;

устранить проблемы с оповещением операторов.

Продолжительность занятия Ч около 30 минут Способы уведомления операторов Служба SQL Server Agent может уведомлять операторов о выполнении различных за а также о наступлении определенных событий или условий производительности.

Оператор Ч это пользователь или почтовая группа, сконфигурированная для приема от агента SQL Server Agent по электронной почте, на пейджер или по средством команд NET SEND.

Электронная почта Если настроена служба SQL Server Agent может уведомлять операто ров по электронной почте. Как вы помните, требует, чтобы SQL Server Agent выполнялась в контексте учетной записи пользователя домена. На компьюте ре, где выполняется эта служба, для данной учетной записи должен быть определен почтовый профиль MAPI.

Пейджер SQL Server Agent также может уведомлять операторов, отправляя сообщения на пей джер с помощью электронной почты и ПО сторонних производите то есть сначала потребуется настроить службу SQLAgentMail.

В SQL Server 2000 нет пейджингового ПО, и выбор стороннего пейд жингового решения целиком зависит от вас. Если для всех операторов используется одно решение, можно стандартное форматирование сообщений электрон ной почты, например ограничить размер сообщения (это необходимо для некоторых исключив из него описание ошибки. Для этого в SQL Server Enterprise Manager раскройте контейнер Management нужного экземпляра SQL Server, щелкните значок SQL Server Agent правой кнопкой, выберите Properties, и на вкладке Alert System диалогового окна SQL Server Agent Properties установите необходимые параметры.

Занятие 1 Создание операторов Команда SEND Кроме SQL Server может уведомлять операторов с помощью команды NET SEND, применяемой для передачи сообщений по сети. Эта команда поддерживается только на компьютерах с Windows NT 4.0/2000 и использует службу Windows Messen ger, которая должна быть запущена на исходной и конечной системах. Сообщения можно передавать пользователям, компьютерам или почтовым именам. Почтовое имя Ч это для которого компьютер принимает сообщения, создать его можно с помощью утилиты командной строки NET NAME.

Надежные операторы В случаях, когда невозможно отправить созданному для конкретной ситуации опера тору сообщение на пейджер или обратиться к системным таблицам БД msdb, служба SQL Server Agent может надежного оператора. Отправить сообщение на пейджер бывает невозможно потому, что указан неправильный адрес, или потому, что в соответствии с графиков дежурств, определенным при создании нового надеж ного оператора, обычный оператор, которому предназначено сообщение, отдыхает, Невозможность доступа к системным таблицам часто связана с отказом диска.

Создание операторов Оператор Ч это пользователь, почтовая группа или компьютер, которых можно уве домить посредством одного из вышеперечисленных способов. Создайте план опове щения всех операторов, включая графики дежурств и адреса пейджеров. Операторов можно назначить средствами SQL Server Enterprise Manager или системных хранимых процедур Transact-SQL.

Примечание Надежность уведомления по электронной почте и через пейджер зави сит от инфрастуктуры обмена сообщениями.

Использование SQL Server Enterprise Manager Раскройте контейнер Management нужного экземпляра SQL Server, и затем Ч кон тейнер SQL Server Agent. Щелкните контейнер Operators правой кнопкой и выберите New Operator. Откроется окно New Operator Properties (рис. 13-1).

Каждому оператору следует назначить уникальное имя. На вкладке General но указать адреса для уведомления всеми тремя способами. Чтобы проверить указан ный адрес (и базовую отправьте тестовое сообщение. Если оператор будет уведомлен выбранным вами способом, адрес правилен и инфрастуктура мально функционирует. При оповещении через пейджер можно также определить график дежурств, включая длительность рабочего дня в часах.

Примечание Во избежание проблем с преобразованием псевдонимов всегда указы вайте только полные адреса электронной почты. Например, если в адресной книге опре делены псевдонимы JohnD и JohnDoe, отправить уведомление для псевдонима JonliD будет невозможно.

Задать уведомления, отправляемые новому оператору, можно на вкладке tions (рис. 13-2).

административных Глава Рис. 13-1. диалогового окна New Operator Properties Se Sev. Sev Рис. 13-2. Вкладка Notifications диалогового окна New Operator Properties Выберите одно или несколько оповещений (alerts), о срабатывании которых необ ходимо уведомлять оператора. Можно также немедленно отправить оператору, реа гирующему на выбранное оповещение, сообщение электронной почты и просмотреть статистику уведомлений данного оператора.

Примечание Чтобы просмотреть оповещения и задания, уведомления о которых по лучает оператор, воспользуйтесь вкладкой Notification.

Использование Transact-SQL Создавать и обновлять настройки операторов можно при помощи системных храни мых процедур и sp_update_operator. Процедура вы водит информацию о существующих операторах.

Занятие Создание операторов Примечание Рекомендуется использовать не системные хранимые sact-SQL, а графический интерфейс SQL Server Manager. Заархивировать объекты SQL Server, созданные SQL Server Enterprise можно с ко манды Generate Script.

Создание надежного оператора В SQL Server Enterprise Manager раскройте контейнер Management нужного экземп ляра SQL Server, контейнер SQL Server Agent правой кнопкой и Properties. Затем в диалоговом окне SQL Server Agent Properties перейдите на вкладку Alert System Чтобы назначить надежного оператора из числа имеющихся, воспользуйтесь рас крывающимся списком Operator;

можно также создать надежного оператора на выбрав в списке пункт New Fail-Safe Operator. Надежного операто ра нельзя удалить, пока не будет выбран другой надежный оператор или не будет ука зано, что надежные операторы отсутствуют.

Рис. 13-3. Создание надежного оператора Упражнение Создание операторов и назначение надежного оператора В этом упражнении вы с помощью SQL Server Enterprise Manager создадите операторов и назначите отказоустойчивого оператора (поскольку не у всех читателей установлен MAPI-клиент, здесь используются команды NET SEND.

Тем не менее при наличии такого клиента вы, возможно, захотите сконфигу рировать службу в соответствии с инструкциями главы 12 и создать для дальнейших упражнений операторов, оповещаемых по электрон ной почте).

Чтобы создать операторов и назначить надежного оператора Убедитесь, что вы зарегистрировались на контроллере домена FT под учетной записью Administrator.

административных Глава 2. Раскройте и выберите Command Prompt.

Откроется окно сеанса MS-DOS.

3. В командной строке введите name failsafe /add и нажмите Enter.

ОС известит вас об успешном добавлении почтового имени FailSafe.

4. Закройте окно сеанса MS-DOS.

5. Раскройте меню SQL Server и выберите Enterprise Manager.

6. В дереве консоли последовательно раскройте контейнеры Microsoft SQL Servers, SQL Server Group, экземпляра по Management и SQL Server Agent.

7. Щелкните контейнер Operators правой кнопкой и выберите New Operator.

Откроется окно New Operator Properties Ч 8. В поле Name введите Operator.

9. В поле E-Mail Name введите E-mail (или действительный адрес электронной почты).

10. В поле Pager E-Mail Name введите Pager (или действительный адрес пейджера).

В поле Net Send Address введите SelfPacedCPU и щелкните Test, чтобы проверить данный адрес.

Откроется диалоговое окно Test Net Send сообщающее, что на адрес SelfPacedCPU будет послано сетевое сообщение (имя Administrator для отправки сообщений в этом упражнении не используется, так как в различ ных доменах вашей сети может иметься несколько таких пользователей).

ОК.

Откроется окно службы Messenger Service с от SelfPacedCPU для SelfPacedCPU, уведомление при помощи команды NET SEND.

13. Щелкните OK, чтобы закрыть окно Messenger Service.

14. В группе Pager On Duty Schedule определите расписание дежурств со гласно которому при выполнении вами упражнений этой главы данный оператор будет отдыхать.

15. Щелкните ОК, чтобы закрыть диалоговое окно New Operator Properties Ч SelfPa cedCPU.

Заметьте: в правой панели отображается новый оператор.

16. В дереве консоли щелкните контейнер SQL Server Agent правой кнопкой и выбе рите Properties.

Откроется окно SQL Server Agent Properties Ч SelfPacedCPU.

17. Перейдите на вкладку Alert System.

18. В группе Operator в раскрывающемся списке Operator выберите (New Fail Safe Operator).

Откроется окно New Operator Properties Ч SelfPacedCPU.

19. В поле Name введите FailSafe.

20. В поле Net Send Address введите FailSafe и щелкните Test, чтобы проверить дан ный адрес.

Откроется окно Test Net Send Address, сообщающее, что на адрес FailSafe будет послано всплывающее сетевое сообщение.

Щелкните ОК.

Откроется окно Messenger Service с сообщением от SelfPacedCPU для FailSafe, проверяющим уведомление при помощи команды NET SEND.

22. Щелкните OK, чтобы закрыть окно сообщения Messenger Service.

23. Щелкните OK, чтобы закрыть окно New Operator Properties Ч SelfPacedCPU.

Занятие 1 операторов Откроется окно SQL Server Agent Properties Ч В списке Operator в качестве надежного оператора, уведомляемого средствами манды NET SEND, будет указан FailSafe.

24. Щелкните ОК.

25. В дереве консоли щелкните Operators.

Заметьте: в правой панели отображается два оператора.

26. Не закрывайте SQL Server Enterprise Manager.

Резюме Создание операторов Ч первый шаг к автоматизации административных задач. Опе ратором может быть пользователь, почтовая группа или компьютер. Уведомлять опе раторов можно по электронной почте, через пейджер или с помощью команды NET SEND. Если уведомление осуществляется по электронной почте и через пейджер, для учетной записи пользователя домена, под которой выполняется служба SQL Server Agent, должен быть сконфигурирован почтовый профиль MAPI службы Для оповещения с помощью команды NET SEND требуется служба Windows Messenger, доступная только на компьютерах с Windows NT 4.0/2000.

задач 2. Создание заданий Служба SQL Server Agent позволяет создавать и планировать выполнение заданий, автоматизирующих стандартные административные задачи. Здесь рассказывается о создании простых и сложных заданий. Вы научитесь настраивать разрешения зада ний, принадлежащих не состоящим в серверной роли sysadmin, и вы полнять такие задания вручную и по расписанию. Кроме того, вы узнаете, как уведо мить оператора об успехе, ошибке или завершении выполнения задания. Мы также обсудим, как просмотреть свойства и журнал выполнения задания.

Изучив материал этого вы сможете:

создавать одно- и многоэтапные задания;

создавать расписание выполнения задания;

создавать и отключать задания и расписания их выполнения;

назначать операторов, уведомляемых об успехе, ошибке или завершении выполнения задания;

устранять проблемы с выполнением заданий;

просматривать свойства и журналы заданий.

Продолжительность занятия Ч около 45 минут Реализация заданий Задания Gobs) позволяют выполнять стандартные административные функции (на пример резервное копирование БД или импорт данных) по расписанию или в ответ на определенные события и Задание может быть простой состо ящей из одного этапа, или включающей множество этапов с управле нием логикой выполнения. За управление и выполнение всех заданий отвечает служ ба SQL Server Agent, и выполнения необходимо, чтобы она была запуще на. Задания можно создавать на локальном а в мультисерверной среде выполнять их на одной или нескольких подчиненных машинах. Подробнее о мульти серверных заданиях Ч в занятии 5 этой главы.

Типы этапов заданий SQL Server поддерживает задания, включающие команды ОС, команды операторы сценарии Microsoft ActiveX и задачи репликации. Подроб нее о задачах репликации Ч в главе 15. Задание может содержать команды всех ти пов, однако отдельные этапы задания могут включать только команду одного типа.

Команды ОС (например на выполнение файлов или.ехе) должны содержать абсолютный путь к исполнимому файлу, для исполнимого файла ключи и параметры) и код завершения процесса. Завершив выполнение, все команды ОС генерируют код завершения, об успехе или ошибке выполнения команды. Равный нулю код указывает на успешное, а все прочие коды Ч на неудачное выполнение команды. В логике задания можно определить на различные ошибки выполнения.

Операторы Transact-SQL должны содержать имя БД, в которой будет выполняться оператор, и включать собственно оператор, функцию, хранимую про цедуру или расширенную хранимую процедуру. Отдельный этап задания может со держать несколько пакетов операторов Transact-SQL с вложенными командами GO.

Занятие 2 Создание заданий Члены роли sysadmin могут создавать этапы заданий, выполняемые от имени других пользователей.

В ActiveX должен быть указан язык сценария, а также команды сцена рия ActiveX. Кроме того, сценарий ActiveX можно скомпилировать и выполнять в виде исполнимого файла CmdExec.

Разрешения и владельцы заданий По умолчанию задание принадлежит создавшему его пользователю и выполняется в его контексте безопасности, независимо от того, кто это задание запустил. Члены серверной роли sysadmin могут назначить владельцем задания любого действительно го пользователя. Право собственности на задание не предоставляет прав на выполне ние отдельных его этапов. Служба SQL Server на основе разрешений SQL Server про веряет права на выполнение этапов, включающих операторы Transact-SQL. По умол чанию выполнять этапы заданий, включающие команды CmdExec и сценарии Acti veX, могут только члены серверной роли sysadmin. Эти этапы выполняются в контек сте безопасности учетной записи службы SQL Server Agent. Кроме того, разрешения на выполнение таких этапов можно предоставлять и пользователям, не в фиксированной серверной роли sysadmin. ActiveX- и заданий, при надлежащих таким пользователям, выполняются в контексте безопасности занной вами учетной записи Windows (учетной и наследуют ее разре шения. Чтобь! сконфигурировать учетную в SQL Server Manager раскройте контейнер Management нужного экземпляра SQL Server, щелкни те контейнер SQL Server Agent правой кнопкой и выберите Properties, В диалоговом окне SQL Server Agent Properties перейдите на вкладку Job System и снимите флажок в группе Job Step Proxy Account Ч откроется диалоговое окно SQL Agent Proxy Account, где можно настроить учетную прокси-запись.

Примечание В Windows 98/Ме задания SQL Server Agent всегда выполняются в кон тексте безопасности зарегистрированного в системе пользователя.

выполнения многоэтапного задания При удачном выполнении этапа задания возможен переход к следующему или како му-то конкретному этапу. Кроме того, этап можно сконфигурировать для заверше ния работы и уведомления об успехе или ошибке. Например, этап задания может ус пешно выполнить запрограммированное действие, и, основываясь на логике ния, уведомить оператора об успехе или неудаче. В случае отказа на одном из этапов выполнение может переходить к следующему этапу задания;

можно также прервать выполнение и об успехе или отказе (рис. 13-4).

На рис. 13-4 показан процесс резервного копирования БД перед импортом ных. В случае ошибки при начальной архивации БД задание завершает выполнение и уведомляет оператора о неудаче. Если начальное резервное копирование прошло нор мально, задание продолжает выполнение и средствами DTS импортирует в БД новые данные (попутно очищая их). Если импортирование прошло успешно, выполняется этап, обновляющий и затем Ч этап, повторно архивирующий БД (теперь уже с новыми данными). В случае ошибки при обновлении статистики или резерв ном копировании БД выполняется этап, восстанавливающий БД, и оператор ет уведомление об ошибке. Задание, успешно импортировавшее данные, обновившее статистику и заархивировавшее БД, уведомляет оператора об успехе. Заметьте;

этап восстановления БД оператору об ошибке независимо от удач ности восстановления. Если выполняется этап, восстанавливающий БД, задание (цель которого Ч импортировать новые данные по обычному расписанию) считается неудачно завершившимся. Упомянутый этап может успешно восстановить БД только по состоянию на предыдущую импорта данных. Администратору БД необ ходимо самостоятельно выяснить, почему на данном этапе возникает ошибка.

При ошибке копирование БД При успехе данных о клиентах Обновление статистики f Резервное копирование БД Уведомление о неудаче Рис. 13-4. многоэтапного задания Следует также создать операторов, уведомляемых об успехе, ошибке или заверше нии выполнения задания. Если операторы не определены, уведомления об успехе или ошибке пользователям не передаются. По умолчанию уведомление об ошибке вы полнения задания автоматически заносится в журнал приложений Windows, просмо треть который можно с помощью утилиты Event Viewer.

Примечание Для передачи данных между этапами задания следует использовать по стоянные глобальные временные таблицы или файлы ОС.

Расписания выполнения заданий Хотя задания можно выполнять вручную (обычно так выполняются тестовые задания или отдельные этапы заданий), полной автоматизации задачи следует создать одно или несколько расписаний выполнения задания. Доступны различные виды расписа ний. Задание может выполняться постоянно (например задание мониторинга), в пе риоды простоя процессора (лнизкий уровень нагрузки определяется вами) или через определенные интервалы времени (например ежечасно, ежедневно или еженедель но). Кроме того, задания могут выполняться однократно или в ответ на конкретное оповещение. Подробнее об оповещениях Ч в занятии 3 этой главы.

Благодаря наличию нескольких расписаний, в рабочие дни задание можно выпол нять с одним интервалом, а в выходные Ч с другим. Расписания можно включать и отключать. Задание, все расписания которого отключены, по-прежнему может вы вручную или в ответ на какое-либо оповещение.

1 заданий Примечание Отключенное задание не выполняется по каким-либо расписаниям или в ответ на Но его можно выполнить вручную. При устранении проблем убедитесь, что задание и все его расписания включены.

Создавая задание, которое будет выполняться в периоды простоя процессора, предварительно определите низкий уровень загруженности процессора и проверьте локальные административные разрешения учетной записи службы SQL Server Agent.

Затем с помощью SQL Profiler и Windows 2000 System Monitor (подробнее об этих сред ствах мониторинга Ч в главе оцените необходимый каждому заданию объем ре процессора. уровень загруженности должен включать в себя все ресурсы, необходимые заданиям, выполняющимся в периоды простоя процессора.

При простое процессора запускаются сразу все задания такого типа.

Чтобы задание выполнялось по расписанию, при создании расписания должна быть запущена служба SQL Server Agent.

Создание заданий Создать задание можно средствами мастера Create Job Wizard или непосредственно в SQL Server Enterprise Manager. Кроме того, задания можно создавать при помощи системных хранимых процедур Использование мастера Create Job Wizard Запустить мастер Create Job Wizard можно из списка Wizards, или выбрав в меню Tools диспетчера SQL Server Enterprise Manager команду Job Scheduling. Мастер Create Job Wizard Ч простой способ начать создавать и планировать выполнение заданий. В диалоговом окне Welcome To The Create Job Wizard щелкните Next (рис. 13-5).

at the the Рис. 13-5. Начало работы с Create Job Wizard В диалоговом окне Select Job Command Type укажите тип команд, которые будут выполняться новым заданием. Мастер Create Job Wizard позволяет создавать только одноэтапные задания (рис. 13-6).

400 Автоматизация задач Select elect type of command run to - Рис. 13-6. Выбор типа команд, выполняемых заданием Выберите один из трех типов команд, выполняемых заданием. Если установить переключатель Command и Next, откроется окно Enter sact-SQL Statement, где можно выбрать БД и ввести оператор. Чтобы проверить син таксис оператора Transact-SQL, щелкните Parse (рис. 13-7). Можно также загрузить нужный оператор из файла.

Select a and the or open e la Рис. 13-7. Ввод и проверка Transact-SQL Если установить переключатель Operating-System Shell Command и щелкнуть откроется окно Enter Operating-System Shell Command, где можно ввести выполняе мую заданием команду 13-8).

Если установить переключатель Active Script и щелкнуть Next, откроется окно Enter Active Script где можно ввести выполняемый заданием сценарий Visual Basic. Чтобы проверить синтаксис сценария, Parse (рис. Мож но также загрузить нужный сценарий из файла.

Выбрав тип задания и введя необходимые сведения о нем, в окне Specify Job Schedule можно создать расписание выполнения задания, включая немедленный за пуск задания (рис. 13-10).

Занятие 2 Создание заданий Shell he she* command art II job Рис. Ввод команды ОС Enter a open you Set Connect Set т Рис. 13-9. Проверка Active Script one tune or Рис. 13-10. расписания выполнения задания Автоматизация задач Глава Если установить переключатель On A Recurring Basis и щелкнуть Schedule, откро ется окно Edit Recurring Job Schedule, где можно определить расписание многократ ного выполнения задания. Укажите периодичность выполнения Ч ежедневно, еже недельно, ежемесячно, в определенные часы, дни недели, дни месяца в первое воскресенье каждого месяца), как показано на рис рис. 13-11.

Рис. Редактирование расписания выполнения задания Затем в диалоговом окне Job укажите существующего ко торый будет получать уведомления по электронной почте или посредством команд NET SEND. Создать нового или настроить уведомление через пейджер при помощи мастера Create Job Wizard нельзя (рис. 13-12).

to about the the Рис. 13-12. Выбор уведомляемого оператора В диалоговом окне Completing The Create Job Wizard можно задать имя нового за дания и просмотреть выбранные параметры. Чтобы изменить какой-либо параметр, щелкните Back, Для создания задания щелкните Finish (рис. 13-13).

заданий Completing the Create Job You the steps to of the new lob name.

Рис. 13-13. Ввод имени Упражнение 2. Создание задания средствами мастера Create Job Wizard В этом упражнении вы с помощью мастера Create Job Wizard создадите зада ние, архивирующее БД master.

Чтобы создать задание средствами мастера Create Job Wizard 1. Убедитесь, что вы зарегистрировались на контроллере домена пол учетной записью Administrator.

В дереве консоли SQL Server Enterprise Manager должны быть раскрыты Management и SQL Server Agent.

2. В дереве консоли SQL Server Enterprise Manager щелкните контейнер SQL Server Agent экземпляра SQL Server 2000 по умолчанию.

3. В меню выберите Job Scheduling.

Откроется окно Welcome To The Create Job Wizard.

4. Щелкните Next.

Откроется окно Select Job Command Type.

5. что переключатель установлен в положение Transact-SQL Command, и щелкните Next.

Откроется окно Enter Transact-SQL Statement.

6. Убедитесь, что в раскрывающемся списке Database Name выбрана БД и затем в поле Transact-SQL Statement введите BACKUP DATABASE TO DISK = (если при выполнении упражнений главы 9 вы не создали папку сделайте это сейчас).

7. Щелкните Parse.

Появится сообщение мастера Create Job Wizard об успешной проверке синтаксиса команды.

8. Щелкните ОК и затем Ч Next.

Откроется окно Specify Job Schedule.

9. Установите переключатель в положение On A Recurring Basis и щелкните Schedule.

Откроется окно Edit Recurring Job Schedule Ч задач 10. В группе Occurs установите переключатель в положение Daily и щелкните ОК.

Щелкните Next.

Откроется окно Job Notifications.

В списке Net Send выберите и щелкните Next.

Откроется окно Completing The Create Job Wizard.

13. В поле Job Name Backup Master Job и щелкните Finish.

Появится сообщение мастера Create Job Wizard об успешном создании задания.

14. Щелкните ОК.

15. В дереве консоли щелкните контейнер Jobs.

16. В правой панели щелкните значок Backup Master Job правой кнопкой и выберите Start Job.

Через некоторое время появится окно службы Messenger Service с сообщением для об успешном завершении и с подробной информацией о выполне нии задания Backup Master Job.

17. Щелкните ОК.

18. В правой панели щелкните контейнер Backup Master Job правой кнопкой и выбе рите Refresh Job.

Заметьте: в столбце Last Run указывается, что задание успешно выполнено, а в столбце Next Run Date отображается время нового запуска задания Ч 00:00: следующего дня.

19. Не закрывайте SQL Server Enterprise Manager.

SQL Server Enterprise Manager Чтобы создать задание непосредственно в SQL Server Enterprise Manager, раскройте контейнеры Management и SQL Server Agent, щелкните последний правой кнопкой и выберите New\Job. Кроме можно щелкнуть в контейнере SQL Server Agent зна чок Jobs правой кнопкой и выбрать New Job. В любом случае откроется окно New Job Properties (рис.

Рис. 13-14. Настройка свойств нового задания На вкладке General можно указать владельца задания (если вы не являетесь чле ном серверной роли sysadmin, эта возможность недоступна). Можно также указать категорию задания (по умолчанию Ч Uncategorized Если вы делите свои за дания на категории, щелкните кнопку (...) напротив списка Category и выберите для задания нужную категорию. Чтобы задание можно было сохранить, укажите его имя в поле Name.

Занятие Создание на вкладку Steps и щелкните New. Откроется окно New Job зволяющее создавать этапы задания (рис. 13-15).

Рис. 13-15. Создание нового этапа задания Введите имя этапа, выберите его тип (по умолчанию Ч Transact-SQL Script) и за тем введите соответствующий оператор, сценарий или команду. Для продолжения работы обязательно введите имя этапа. Чтобы просмотреть или изменить свойства этапа задания, перейдите на вкладку Advanced (рис. 13-16).

Рис. 13-16. Просмотр свойств этапа задания По умолчанию при успешном выполнении этапа осуществляется переход к следу ющему этапу;

в случае же неудачи выполнение задания прерывается и оператор полу чает уведомление об ошибке. Если следующего этапа нет, задание успешно заверша ется и оператор получает соответствующее уведомление. Можно указать число по вторных попыток выполнения этапа чтобы решить проблему с истечени ем времени ожидания соединения) и интервал между ними. Кроме того, можно ука зать файл ОС для записи результатов выполнения этапа, содержащего оператор или команду CmdExec. Чтобы просмотреть содержимое файлов вывода, щелкните View;

при каждом выполнении этап может дополнять или перезаписывать это содержимое. Вместе с отчетом об успешности выполнения зада ния в журнал этапа можно также записывать результаты сценария Transact-SQL. При необходимости можно выбрать учетную запись, под которой должно выполняться задание. Например, этапам с командами CmdExec необходимы разрешения, отлича ющиеся от разрешений для этапов с операторами Transact-SQL.

задач На вкладке Steps можно просмотреть и отредактировать существующие, а также добавить новые и изменить порядок имеющихся этапов (рис. 13-17).

Рис. 13-17. Просмотр и изменение этапов задания Можно изменять порядок этапов и назначать первым любой этап из списка име ющихся (при этом в процессе задания предшествующие пропус каются, и вам не потребуется их удалять). Начальный этап отмечен зеленым флаж ком и отображается в раскрывающемся списке Start Step. Закончив с этапами, перей дите на вкладку Schedules и создайте одно или несколько расписаний выполнения задания (рис. 13-18).

Рис. 13-18. Создание выполнения задания Можно кнопку New Alert и определить оповещение, при срабатывании которого будет запускаться данное задание. Подробнее об Ч в занятии 3 этой главы. Закончив создавать расписания (и, если необходимо, оповещения), пе рейдите на вкладку Notifications и укажите операторов, уведомляемых об успехе, ошибке или завершении выполнения задания (рис. 13-19).

Заметьте: разных операторов о завершении выполнения, успехе или неудаче зада ния можно уведомлять разными способами. По умолчанию сообщения об ошибке при выполнении задания также заносятся в журнал утилиты Event Viewer.

Кроме того, после успешного выполнения задание (например одноразовое) может ав томатически удаляться.

Занятие Рис. 13-19. Выбор операторов, уведомляемых о состоянии выполнения задания Упражнение 3. Создание задания непосредственно в SQL Server Enterprise Manager В этом упражнении вы создадите задание непосредственно в SQL Server Enterprise Manager.

Чтобы создать задание в SQL Server Manager 1. Убедитесь, что вы зарегистрировались на контроллере домена FT под учетной записью Administrator.

В дереве консоли SQL Server Enterprise Manager должны быть раскрыты контейне ры Management и SQL Server Agent.

2. В контейнере SQL Server Agent щелкните значок Jobs правой кнопкой и выберите New Job.

Откроется окно New Job Properties Ч Обратите внимание, что вла задания по умолчанию Ч 3. В поле Name введите Backup SSEMDB и затем перейдите на вкладку 4. Щелкните New.

Откроется окно New Job Step Ч SelfPacedCPU.

5. В поле Step Name введите Backup Step.

6. Убедитесь, что переключатель установлен в положение Transact-SQL Script и в списке Database выберите БД SSEMDB.

7. В поле Command введите BACKUP LOG SSEMDB TO DISK = 8. Щелкните Parse.

Появится окно New Job Step Ч SelfPacedCPU об успешной проверке синтаксиса оператора.

9. Щелкните ОК, чтобы закрыть окно сообщения.

10. Щелкните ОК, чтобы закрыть окно New Job Step Ч SelfPacedCPU.

Перейдите на вкладку Schedules.

12. Щелкните New Schedule.

Откроется окно New Job Schedule Ч SelfPacedCPU.

В поле Name введите Workday Schedule.

14. Щелкните Change.

Откроется окно Edit Recurring Job Schedule Ч SelfPacedCPU.

административных задач 15. В группе Occurs установите переключатель Daily.

В группе Daily Frequency установите переключатель Occurs Every.

17. Щелкните чтобы закрыть окно Edit Recurring Job Schedule Ч Щелкните чтобы закрыть окно New Job Schedule Ч SelfPacedCPU.

19. Перейдите на вкладку Notifications.

20. Пометьте флажок Page Operator и в раскрывающемся списке Page Operator выбе рите Operator.

21. В списке выберите Whenever The Job Completes и щелкните ОК.

Заметьте: в правой панели контейнера Jobs отображается два задания.

22. Щелкните в правой панели значок Backup SSEMDB правой кнопкой и выбе рите Start Job.

23. Через некоторое время снова щелкните значок Backup SSEMDB Tlog правой кноп кой и выберите Refresh Job.

Заметьте: в столбце Last Run Status отображается надпись Executing (выполняется) или Succeeded (выполнение Не продолжайте, пока не появится над пись Succeeded. При необходимости раз с помощью команды Refresh Job об новите отображаемые данные. Обратите внимание, что оператор не получил всплы вающее сообщение. В следующем упражнении вы просмотрите журнал задания и узнаете, почему так случилось.

24. Не закрывайте SQL Server Enterprise Manager.

Использование Задания можно также создавать при помощи системных хранимых процедур Job, и Рекомендуется не системные хранимые процедуры Тгап а графический интерфейс SQL Server Enterprise Manager.

Настройка учетной прокси-записи Чтобы выполнять задания с которые включают команды CmdExec или сце нарии ActiveX и принадлежат пользователям, не являющимся членами серверной роли настройте (proxy account). Щелкните в контей нере Management нужного экземпляра SQL Server 2000 контейнер SQL Server Agent правой кнопкой и выберите Properties. В окне SQL Server Agent Properties Ч SelfPa cedCPU перейдите на вкладку Job System (рис. 13-20).

Снимите флажок в группе Non-SysAdmin Job Step Proxy Account, чтобы пользова тели без привилегий администратора могли выполнять этапы заданий с командами CmdExec и сценариями ActiveX. Затем в диалоговом окне SQL Agent Proxy Account вам предложат указать имя учетной прокси-записи, в контексте которой будут вы полняться CmdExec- и ActiveX-этапы заданий, принадлежащих пользователям, не яв ляющимся членами серверной роли sysadmin. Укажите существующую учетную за пись локального пользователя или учетную запись пользователя домена. Назначьте этой записи разрешения, которые будут предоставляться не состоящим в серверной роли sysadmin пользователям на время выполнения вышеупомянутых этапов их зада ний. Если учетная запись службы SQL Server не обладает правами администратора, для доступа к списку учетных запи сей безопасности вам потребуется указать действи тельные реквизиты администратора (рис. 13-21).

2 Создание заданий Рис. 13-20. прокси-записи. Х. s A. :

Рис. 13-21. Ввод регистрационных реквизитов администратора Просмотр свойств и журналов заданий В правой панели контейнера Jobs дерева консоли SQL Server Enterprise Manager ото бражается информация обо всех заданиях соответствующего экземпляра SQL Server 2000 (рис.

Информация о заданиях отображается в столбцах. Для сортировки заданий по определенному столбцу щелкните его заголовок. Обратите внимание на столбец Enabled. При устранении проблем с заданием, которое не выполняется, что надпись в столбце читается Enabled (включено). В правой панели также жаются сведения о состоянии, например Executing (выполняется) или Not running (остановлено) и времени последнего и следующего запуска задания.

410 - \ ц..:

Рис. 13-22. Просмотр сведений о заданиях в текущем экземпляре SQL Server Примечание SQL Server Enterprise Manager Ч это клиентское приложение, и поэтому для просмотра последних сведений о заданиях (в частности, состояния и времени последнего/следующего запуска) отображаемые данные необходимо периодически обновлять.

Свойства задания Чтобы просмотреть или изменить свойства задания, щелкните его значок правой кнопкой и выберите Properties (или дважды щелкните значок левой кнопкой). Пользо ватели, не являющиеся членами серверной роли sysadmin, могут просматривать и из менять свойства только принадлежащих им заданий.

Журнал задания Чтобы просмотреть журнал задания, щелкните значок правой кнопкой и выбери те View Job History (рис. 13-23).

Рис. 13-23. Просмотр задания Занятие Здесь выводится время предыдущих запусков задания, запускавший задание поль зователь, а также уведомленные операторы. Для просмотра подробной информации об этапах задания установите флажок Show Step Details. Просмотр этих сведений по могает при устранении проблем с заданием. Например, если выполнение задания невозможно из-за отсутствия у службы SQL Server Agent необходимых это будет отображено в подробностях о выполнении этапов задания (рис. 13-24).

G:4...

];

: Successful Backup Muter 10/24/2000 ftu Рис. 13-24. Просмотр подробной информации о выполнении этапов задания Размером журнала выполнения задания можно управлять. Щелкните контейнер SQL Server Agent правой кнопкой, выберите Properties и в открывшемся окне перей дите на вкладку Job System (рис. 13-25).

Рис. Управление размером журнала задания Заметьте: по умолчанию размер журнала для каждого задания составляет 100 за писей, а для всех заданий вместе Ч 1000 записей. Очистить журнал выполнения зада ний можно, щелкнув Clear Log.

административных задач Упражнение 4. Просмотр и изменение свойств задания.

Просмотр журнала задания В этом упражнении вы средствами Server Enterprise Manager те и измените свойства задания, а также просмотрите журнал задания.

Чтобы просмотреть и изменить свойства задания и просмотреть журнал задания Убедитесь, что вы зарегистрировались на контроллере домена под учетной записью Administrator.

В дереве консоли SQL Server Enterprise Manager должны быть раскрыты контейне ры Management и SQL Server Agent.

2. В контейнере SQL Server Agent контейнер Jobs.

3. В правой панели дважды щелкните значок Backup Master Job.

Откроется окно Backup Master Job Properties Ч 4. Перейдите на вкладку Steps.

5. Щелкните New.

Откроется окно New Job Step Ч Master Job.

6. В поле Step Name введите DB Consistency Step.

7. Убедитесь, что в списке Туре пункт Transact-SQL Script и в списке Database выбрана БД master.

8. В поле Command введите DBCC CHECKDB.

9. Щелкните ОК, чтобы закрыть окно New Job Step Ч Master Job.

Заметьте: теперь отображаются два этапа. Этап Step 1 выполняется первым, а этап DB Consistency Step не выполняется, поскольку этап Step 1 завершает вы полнение задания как при успехе, так и при ошибке. Также обратите внимание на зеленый флажок, указывающий, что Step 1 Ч начальный этап. Попытавшись сей час применить изменения или сохранить вы получите предупреждающее сообщение о том, что этап DB Consistency Step выполняться не будет.

10. В раскрывающемся списке Start Step выберите DB Consistency Step.

11. С стрелок сделайте этап DB Consistency Step первым в списке.

12. Щелкните ОК, чтобы закрыть окно Backup Master Job Properties Ч CPU\Backup Master Job.

13. В правой панели щелкните значок Backup Master Job правой кнопкой и выберите Start Job.

Откроется окно Job On SelfPacedCPU. Обратите внимание, что здесь можно выбрать этап, с которого начнется выполнение задания.

14. что выбран этап DB Consistency Step, и щелкните Start.

Через некоторое время окно службы Messenger Service с сообщением для SelfPacedCPU об успешном завершении и с подробной информацией о выполне нии задания Backup Master Job.

15. Щелкните ОК.

16. В правой панели контейнера Jobs щелкните значок Backup Master Job правой кноп кой и выберите View Job History.

Откроется окно Job History Ч SelfPacedCPU. Заметьте, что в журнале отображают ся два задания. Обратите также внимание, что в поле Errors And/Or Messages From The Job/Step у последнего выполнявшегося задания отображается два этапа, а у предыдущего Ч один.

заданий 17. Установите флажок Show Step Details.

Заметьте: теперь отображается пять строк. значение поля Step ID кото рых Ч 0, содержат информацию о результатах выполнения задания. Строка со зна чением поля Step ID равным 1 отображает подробности о выполнении первого этапа, а со значением 2 Ч о выполнении второго этапа.

18. Щелкните запись о первом этапе последнего выполнявшегося задания.

Обратите внимание, что в поле Errors And/Or Messages From The Job/Step отобра жается результат выполнения оператора DBCC CHECKDB.

19. Щелкните Close.

20. В правой панели контейнера Jobs щелкните значок Backup SSEMDB TLog правой кнопкой и выберите View Job History.

Откроется окно Job History Ч Внимательно просмотрите подроб ности выполнения задания. В частности, заметьте, что не был уведомлен опера тор, поскольку он, согласно графику дежурств, Надежного оператора так же не уведомляли, так как такого оператора можно назначить только для опове щений (но не для уведомлений о результатах выполнения задания).

21. Щелкните Close.

22. Не закрывайте SQL Server Enterprise Manager.

Журнал ошибок службы SQL Server Agent Служба SQL Server Agent заносит информационные сообщения, о сообщениях об ошибках в собственный журнал ошибок. SQL Server 2000 может одно временно вести до девяти журналов ошибок SQL Server Agent. Имя и расположение журнала ошибок SQL Server Agent по умолчанию Ч C:\Program SQL Расширение текущего файла журнала Ч журналам присваиваются числовые расширения в диапазоне от 1 до 9 более новый журнал). По мере необходимости SQL Server Agent обновляет содержи мое журналов, Чтобы просмотреть журнал ошибок в SQL Server Enterprise Manager, щелкните контейнер SQL Server Agent правой кнопкой и выберите Display Error Log.

Откроется окно SQL Server Agent Error Log (рис. 13-26).

build) Pr SQL SELFPACEDCPU 194 ( ODBC version being DLL: tost:

delected is Windows NT 54 under NT DLL 64 using E [353) И | Рис. 13-26. Просмотр журнала ошибок службы SQL Server Agent.

Автоматизация административных задач Глава Список Туре позволяет фильтровать по типу: Error (об War ning (предупреждение) или Information (информационное) и/или по содержанию. На рис. 13-26 обратите на нижнее в поле Contents, предупреждающее, что уровень нагрузки, соответствующий простою процессора, все не определен.

Просматривать журнал ошибок SQL Server можно в любом текстовом редакторе.

Transact-SQL Просматривать свойства журналов можно с помощью системных хранимых проце ДУР и а журналы заданий Ч при помощи процедуры Резюме Задания позволяют автоматизировать многие рутинные задачи администрирования.

Можно создавать многоэтапные задания, включающие операторы Transact-SQL, сце нарии ActiveX, команды ОС и задачи репликации. Каждый этап задания может со держать логику управления ходом выполнения, которая определяет дальнейшие дей ствия, основываясь на успешности выполнения этапа. Задание может уведомлять операторов об успехе, неудаче или завершении своего выполнения. Можно также создать одно или несколько расписаний запуска задания.

3 Настройка оповещений \ g Замятие 3. Настройка оповещений SQL Server Agent позволяет создавать оповещения и настраивать реакцию системы на их срабатывание. Здесь рассказывается, как создать о событиях различ ных типов, включая сообщения об ошибках SQL Server, пользовательские сообщения об ошибках и условия производительности. Вы также научитесь назначать емых операторов и определять задания, запускаемые при срабатывании оповещения.

Изучив материал этого занятия, вы сможете:

определить оповещения о событиях SQL Server;

определить оповещения об условиях производительности;

настроить системы на оповещения;

просмотреть оповещения и их журналы.

Продолжительность занятия Ч около 30 минут Создание оповещений позволяют уведомлять соответствующих лиц об определенных событи ях и условиях производительности, а также запускать различные задания в ответ на такие события и условия. Например, можно создать оповещение, которое срабатыва ет при заполнении журнала транзакций на 80%, и архивирует и усекает его (а также администратора об успехе или ошибке выполнения).

Служба SQL Server Agent просматривает журнал приложений Windows и сравни вает все зарегистрированные в нем события SQL Server с имеющимися оповещения ми. Если обнаружено сопоставленное событию ние. Кроме того, SQL Server Agent может наблюдать значения специфических счет чиков объектов производительности SQL Server и запускать когда зна чение будет меньше, равно или больше заданного предела.

Примечание Для создания оповещений нужно быть членом роли in, Оповещения о событиях SQL Server Таблица sysmessages БД master содержит системные сообщения об ошибках. С помо щью SQL Server Enterprise Manager или системной хранимой sp_addmessage в эту таблицу можно также добавить пользовательские сообщения об ошибках. Та ким сообщениям присваиваются номера больше 50 000. События и сообщения (ошиб ки) SQL Server обладают следующими атрибутами:

Х номер ошибки Ч уникальный номер, присваиваемый каждой ошибке;

Х строка сообщения Ч диагностическая информация об источнике ошибки, вклю чая имя объекта;

Х уровень значимости Ч меньшие значения соответствуют информационным сооб щениям, а большие Ч серьезным ошибкам;

Х код состояния Ч используется специалистами службы поддержки Microsoft, что бы выявить расположение исходного кода, вызвавшего ошибку;

Х имя процедуры Ч имя хранимой процедуры, при выполнении которой возникла ошибка;

Х номер строки Ч номер строки оператора хранимой процедуры, вызвавшего ошибку.

административных Глава События и сообщения (ошибки) SQL Server записываются в журнал приложений несколькими способами:

Х все ошибки SQL Server с уровнем значимости выше 19 регистрируются автомати чески;

Х включить автоматическую конкретной ошибки SQL Server можно при системной хранимой sp_altermessage (программа установки SQL Server сразу конфигурирует многие ошибки для автоматического занесения в журнал приложений);

Х приложение может принудительно занести ошибку в журнал с операто ра WITH LOG или расширенной хранимой процедуры Примечание Размер журнала приложений Windows должен быть чтобы ис ключалось переполнение и все события SQL Server регистрировались без перезаписи имеющихся событий. Кроме того, для регистрации событий входа в систему следует включить политику аудита Windows.

Оповещения о событиях создаются на основе занесенного в журнал приложений события SQL Server и определенных условий (уровень значимости, номер ошибки, наличие определенного текста в сообщении и т. д.). SQL Server 2000 включает ряд предопределенных оповещений о событиях, которые можно изменять и использовать в повседневной работе;

можно также создавать собственные оповещения.

Условия производительности SQL Server 2000 предоставляет утилите Windows 2000 System Monitor (в Windows NT 4.0 Ч Performance Monitor) ряд объектов и счетчиков. На основе этих же объектов и счетчиков в SQL Server Enterprise Manager можно создавать оповещения об условиях производительности. создания такого оповещения определяют:

Х объект производительности Ч объект SQL Server;

Х счетчик Ч счетчик SQL Server;

Х экземпляр Ч экземпляр SQL Server;

Х модель поведения Ч счетчика, при котором срабатывает оповещение.

Значение может быть равно или больше заданного предела.

Примечание Если просмотреть об условиях производительности в SQL Server Enterprise Manager убедитесь, что учетная запись пользователя домена, под которой выполняется служба SQL Server, обладает полным доступом к разделу реестра.

Реакция на оповещения О срабатывании оповещения о событии или условии можно уве домить одного нескольких операторов по электронной почте, через пейджер или с команд NET SEND. Наряду с текстом сообщения об в уведомле ние можно включить собственный извещающий текст. Кроме того, при срабатыва нии оповещения может запускаться выбранное вами задание.

Занятие Настройка оповещений можно создавать средствами мастера Create Alert Wizard или непосред ственно в Server Enterprise Manager. Можно также создавать оповещения при помощи системных хранимых процедур Использование мастера Create Alert Wizard Мастеры SQL Server Enterprise Manager доступны в меню Tools, а также в любом пред ставлении с панелью задач. Мастер Create Alert Wizard Ч простейший способ создать оповещение о событии. На рис. показано первое окно мастера, Welcome To The Create Alert Wizard.

to the Create Alert Wizard Define a to to the Рис. 13-27. Первое диалоговое окно мастера Create Alert Wizard Если необходимо, чтобы оповещение срабатывало, когда уровень события SQL Server равен или превышает определенный порог, установите в окне Define The Alert переключатель For Any Error Of Severity и выберите нужный уровень значимости в списке For Any Error Of Severity (рис. 13-28).

the the alert 3 Х SOL - User СП 7 Рис. 13-28. Диалоговое окно The Примечание В журнал приложений автоматически заносятся только ошибки с уров нем значимости 19 и выше.

Чтобы оповещение срабатывало только при возникновении конкретной ошибки, установите переключатель Only If This Error Occurs. Затем кнопку (...) и выберите в окне Manage SQL Server Messages (рис. 13-29) нужное сообщение или но мер ошибки.

Found U Рис. 13-29. Диалоговое окно Manage SQL Server Messages Нужное сообщение об можно искать по его тексту, номеру ошибки и уров ню значимости. Обратите также что область поиска можно ограничить только регистрируемыми в журнале сообщениями и/или пользовательскими сообще ниями. Задав параметры поиска, щелкните Find. Пример результатов поиска показан на рис. 13-30.

Login may In Login English Login user Login succeeded Х English.

' count.

a in Рис. 13-30. Результат поиска сообщений об ошибках Если это необходимо, окне Specify A Database Or Error Keywords 13-31) ука жите БД, где должно наступить событие, или введите текст, который должно содер жать о событии.

оповещений a or in the Рис. 13-31. Диалоговое окно Specify A Database Or Error Keywords В окне Define Alert Response (рис. 13-32) можно определить реакцию на оповеще ние. Выберите нужных операторов из списка имеющихся и укажите способы их уве домления. Можно также выполняемое задание, создание нового задания на a to о to паву Рис. 13-32. Диалоговое окно Define Alert Response В окне Define Alert Notification Message (рис. 13-33) можно ввести текст ния, передаваемого операторам в составе уведомления о срабатывании оповещения.

Флажки группы Include error message text in позволяют указать, следует ли добавить в уведомление текст сообщения об ошибке.

В окне Completing The Create Alert Wizard можно задать имя оповещения и про смотреть выбранные параметры. Чтобы изменить какой-либо параметр, щелкните Back. Для создания оповещения щелкните Finish (рис. 13-34).

15- Глава Автоматизация Define Alert you of to lend to and to in to the Рис. 13-33. Диалоговое окно Define Alert Notification Message Completing the Create Alert to an The Рис. 13-34. Диалоговое окно The Create Alert Wizard Упражнение 5. Создание оповещения о событии средствами мастера Create Alert Wizard | В этом упражнении вы создадите оповещение о событии при помощи мастера Create Alert Wizard.

Чтобы создать о событии средствами мастера Create Alert Wizard 1. Убедитесь, что вы зарегистрировались на контроллере домена под учетной записью Administrator.

2. Убедитесь, что в дереве консоли SQL Server Enterprise Manager выбран один из контейнеров экземпляра SQL Server по умолчанию.

3. В меню Tools выберите Wizards.

Откроется окно Select Wizard.

4. Раскройте узел Management и затем дважды щелкните Create Alert Wizard.

Откроется окно Welcome To The Create Alert Wizard.

3 5. Щелкните Next.

Откроется Define The Alert.

6. Установите переключатель If This Error Occurs и в одноименном поле вве дите 208.

Заметьте: описание этой ошибки Ч неверное имя объекта.

7. Щелкните Next.

Откроется окно Specify A Database Or Error Keywords.

8. В раскрывающемся списке Database Name выберите SSEMDB и щелкните Next.

Откроется окно Define Alert Response.

9. В поле Notify Operator для записи Operator установите флажок Net Send и те Next.

Откроется окно Define Alert Notification Message.

10. В поле Alert Notification Message To Send To Operator введите The object does not exist и Next.

Откроется окно Completing The Create Alert Wizard.

В поле Name введите SQL Server Invalid Object Alert и щелкните Finish.

Откроется окно Create Alert Wizard с сообщением, что при возникновении оши бок 208 оповещение срабатывать не поскольку по умолчанию такие ошибки не заносятся в журнал. Мастер предложит вам всегда генерировать оповещение при возникновении ошибок 208.

Щелкните Yes.

Появится сообщение мастера Create Alert Wizard об успешном создании опове щения.

Щелкните ОК.

14. Выберите в дереве консоли контейнер SQL Server Agent и щелкните значок Alerts.

Заметьте: вместе со стандартными оповещениями в правой панели отображается SQL Server Invalid Object Alert.

В меню Tools выберите SQL Query Analyzer.

Запустится утилита SQL Query Analyzer;

текущей БД будет master.

16. В панели запросов введите SELECT * FROM SSEMDB и в панели инструментов щелкните кнопку Execute Query.

Обратите внимание: в панели результатов появится сообщение об ошибке из-за неверного имени объекта.

17. Переключитесь в SQL Server Enterprise Manager.

18. Щелкните в правой панели значок SQL Server Invalid Object Alert правой кнопкой и выберите Refresh Просмотрите значение столбца Count Ч вы увидите, что оповещение не сраба тывало.

19. Переключитесь в SQL Query Analyzer.

20. В раскрывающемся списке БД в панели инструментов сделайте текущей БД и щелкните Execute Query.

Через некоторое время появится окно сообщения Messenger Service с информаци ей об ошибке.

21. Щелкните ОК, чтобы закрыть окно сообщения Messenger Service.

22. Переключитесь в SQL Server Enterprise Manager.

задач 23. Щелкните в правой панели значок Server Invalid Object Alert правой кнопкой и выберите Refresh Alert.

Обратите внимание: столбец Count показывает, что оповещение сработало один раз, а в столбце Last Occurred отображаются дата и время последнего срабатыва ния оповещения.

24. Не закрывайте SQL Server Enterprise Manager и SQL Query Analyzer.

Использование SQL Server Manager Чтобы создать оповещение непосредственно при помощи SQL Server Enterprise Mana ger, щелкните в контейнере Management контейнер SQL Server Agent правой кнопкой и выберите Можно также щелкнуть в контейнере SQL Server Agent значок Alerts правой кнопкой и выбрать в контекстном меню New Alert. В любом случае от кроется окно New Alert Properties (рис. 13-35).

Рис. 13-35. Диалоговое окно New Alert Properties На вкладке General в раскрывающемся списке Туре можно указать тип ния Ч о событии или об условии производительности. Создавая оповещение об усло вии производительности, условие срабатывания оповещения. Так, мож но создать оповещение, срабатывающее при заполнении журнала транзакций SSEMDB на 80% (рис. 13-36).

Перейдите на вкладку Response и определите реакцию на В списке Execute Job можно выбрать имеющееся задание для запуска или создать новое зада ние на лету. Чтобы просмотреть или изменить свойства любого задания, для кото рого у вас имеются достаточные разрешения, щелкните кнопку (...). Можно также выбирать уведомляемых операторов из имеющихся, создавать новых операторов, включать в уведомление текст сообщения об ошибке, а также добавлять в уведомле ние собственное сообщение. Имеется возможность определить задержку реакции на оповещение, что позволяет предотвратить перегрузку системы при срабатывании мно жества оповещений. если первое оповещение срабатывает и запускает за дание для поиска источника проблемы, отложите запуск второго оповещения, пока задание не завершит выполнение (рис. 13-37).

Рис. 13-36. Создание об Рис. 13-37. Настройка реакции на Пользовательские сообщения об ошибках Чтобы создать пользовательское сообщение об ошибке при SQL Server Enterprise Manager, выберите в меню Tools команду Manage SQL Server Messages, в раскрывшемся окне перейдите на вкладку Messages и щелкните Next. Откроется окно New SQL Server Message, где можно выбрать нужный номер ошибки, определить уро вень значимости, ввести текст сообщения, выбрать язык и указать, должно ли сооб щение при возникновении ошибки автоматически заноситься в журнал приложений.

Строка сообщения может включать подменяемые переменные (substitution и аргументы (рис. 13-38).

Пользовательское сообщение может генерироваться при выполнении конкретной транзакции и запускать настроенное для него оповещение. Например, можно создать административных задач хранимую для добавления клиентов. Оператор в этой дуре будет генерировать пользовательское об ошибке и ему переменные с именами нового клиента и добавившего его пользователя. Затем на строенное оповещение уведомит оператора БД о добавлении нового клиента.

Рис. 13-38. об ошибке Упражнение Создание оповещения об условии производительности в SQL Server Enterprise Manager В этом упражнении вы с помощью SQL Server Enterprise Manager создадите оповещение об условии производительности.

Чтобы об условии производительности средствами SQL Server Enterprise 1. Убедитесь, что вы на контроллере домена под учетной записью Administrator.

2. В дереве консоли SQL Server Enterprise Manager раскройте контейнер SQL Server 3. Щелкните значок Alerts правой кнопкой и выберите New Alert.

Откроется окно New Alert Properties Ч 4. На вкладке General в поле Name введите Alert.

5. В списке Туре выберите SQL Server Performance Condition Alert.

6. В списке Object выберите 7. В списке Counter выберите Percent Log Used.

8. В раскрывающемся списке Instance выберите SSEMDB.

9. В раскрывающемся списке Alert If Counter выберите Rises Above.

10. В Value введите 80.

Перейдите на вкладку Response.

12. Пометьте флажок Execute Job.

13. В раскрывающемся списке выберите Backup SSEMDB TLog.

14. В поле Operators To Notify пометьте для записи Operator флажок Pager.

15. В поле Additional Notification Message To Send введите Transaction Log 80% Full.

16. Убедитесь, что задержка реакции на оповещение Ч 1 минута, и щелкните ОК.

Заметьте: в правой панели появится SSEMDB TLog Alert.

17. Раскройте меню Tools и выберите Performance.

Откроется консоль Performance.

18. Щелкните кнопку Add в панели инструментов.

Откроется окно Add Counters.

19. В раскрывающемся списке Performance Object выберите 3 Настройка 20. В группе Select Counters From List щелкните Percent Log Used.

В группе Select Instances From List SSEMDB.

22. Щелкните Add и затем Ч Close.

Появится график значений счетчика Percent Log Used для БД SSEMDB.

23. Переключитесь в SQL Analyzer.

24. Щелкните кнопку Load SQL Script в панели инструментов.

25. В ответ на предложение сохранить изменения щелкните No.

Откроется окно Open Query File.

26. Откройте файл из папки Появится сценарий сжимающий файл журнала транзакций и по стоянно обновляющий поле ContactName таблицы Customer БД SSEMDB. Убеди тесь, что задана задержка в 10 мсек. При такой задержке журнал транзакций будет заполняться достаточно медленно для того, чтобы система могла завершить резерв ное копирование перед автоматическим увеличением размера файла журнала.

27. Щелкните Execute Query, чтобы выполнить сценарий 28. Переключитесь в консоль Performance.

Заметьте: журнал транзакций начинает заполняться. Через несколько мгновений после того, как значение счетчика Percent Log Used 80%, появится окно сообщения Messenger Service. Внимательно прочитайте сообщение об ошибке В частности, обратите внимание, что надежному оператору отправлено всплываю щее сетевое сообщение. Это вызвано тем, что оператор Operator, получающий общение на согласно графику дежурств отдыхает.

29. Щелкните ОК.

Через некоторое время счетчик Percent Log Used в консоли Performance покажет, что выполнено резервное копирование (усечен журнал транзакций).

30. Закройте консоль Performance.

Переключитесь в SQL Query Analyzer и щелкните кнопку Cancel Query Execution в панели инструментов.

32. Закройте SQL Query Analyzer.

33. Не закрывайте SQL Server Enterprise Manager.

Использование Transact-SQL Оповещения можно также создавать с помощью системных хранимых процедур и разрешениями на выполнение ко торых обладают только члены серверной роли sysadmin. Пользовательские сообще ния об ошибках создаются с помощью процедур sp_addmessage и раз решениями на выполнение которых обладают члены серверных ролей sysadmin и Рекомендуется использовать не системные хранимые процедуры Tran sact-SQL, а графический интерфейс SQL Server Enterprise Manager.

Просмотр оповещений и журналов оповещений В правой панели контейнера Alerts дерева консоли SQL Server Enterprise Manager бражается информация о всех оповещениях соответствующего экземпляра SQL Server 2000 (рис. Просматривать оповещения могут только члены серверной роли sysadmin.

задач Информация об оповещениях отображается в столбцах. Для сортировки оповеще ний по столбцу его заголовок. Обратите внимание на стол бец Enabled. При устранении проблем с оповещением, которое не срабатывает, когда должно, убедитесь, что надпись в этом столбце Ч Enabled (включено). Если оповеще ние срабатывает слишком часто, перед изменением свойств его следует отключить.

Отображается время последнего срабатывания оповещения, сведения об отосланных а также число срабатываний с момента последнего обнуления счетчика.

Рис. 13-39. Просмотр сведений оповещениях в текущем экземпляре SQL Server SQL Server Enterprise Manager Ч это клиентское приложение, и поэтому для просмотра последних сведений об оповещениях (в частности, времени последнего срабатывания и числа срабатываний) отображаемые данные необходимо периодически обновлять.

Свойства оповещения Чтобы открыть диалоговое окно свойств оповещения, значок оповешения правой кнопкой и выберите Properties. Можно также дважды щелкнуть Если необходимо обнулить счетчик срабатываний оповещения, щелкните Reset Count.

Transact-SQL Свойства оповещений можно просматривать при помощи системной хранимой про цедуры разрешениями на выполнение которой обладают только члены серверной роли sysadmin, Резюме Для реакции на ошибки SQL Server, регистрируемые в журнале приложений Windows, можно создать оповещения о событиях. Серьезные ошибки регистрируются в журна ле приложений автоматически;

оповещения о любых других ошибках также можно сконфигурировать для автоматического занесения в журнал. Оповещения об услови ях производительности срабатывают, если значение счетчика производительности меньше, равно или превышает заданный предел. Реакцией на срабатывание уведом ления может быть запуск задания и/или уведомление одного или нескольких опера торов.

Занятие 4 Создание БД 4. Создание плана обслуживания БД SQL Server предоставляет два отдельных способа автоматизации всех основных адми нистративных задач. Здесь рассказывается, как с помощью мастера Database Mainte nance Plan Wizard настроить систему для основных задач обслуживания через определенные интервалы времени. Вы также узнаете утилите командной строки Sqlmaint, функционирующей аналогичным образом.

Изучив материал этого занятия, вы сможете:

создать план обслуживания БД при помощи мастера Database Maintenance Plan Wizard;

описать работу с утилитой Sqlmaint.

Продолжительность занятия Ч около минут Использование мастера Database Maintenance Plan Wizard Мастер Database Maintenance Plan Wizard позволяет сконфигурировать для ческого выполнения по заданному расписанию:

перестройку индексов с использованием заданного коэффициента заполнения;

Х сжатие БД до определенного размера;

Х обновление статистики распределения;

Х проверку согласованности БД при помощи команд DBCC (подробнее об этом Ч в главе 14);

Х резервное копирование БД и файлов журнала транзакций;

Х распространение журналов (подробнее об этом Ч в главе 16).

Чтобы запустить мастер Database Maintenance Plan Wizard, в меню Tools выберите Database Maintenance Planner. Можно также раскрыть в дереве консоли контейнер Management, щелкнуть значок Database Maintenance Plans правой кнопкой и выбрать New Maintenance Plan. Откроется окно Welcome To The Database Maintenance Plan Wizard (рис.

Welcome to the Database Maintenance Wizard helps a me SOL can run г fas Bun tons (Enterprise Рис. 13-40. окно Welcome To The Database Maintenance Plan Wizard Глава Щелкните Next. Если ваш сервер Ч главный, откроется окно Select Servers (рис.

13-41), где можно выбрать один или несколько подчиненных серверов, на которых будет выполняться данный план обслуживания, Подробнее о зада ниях Ч в занятии 5 этой главы.

Рис. 13-41. Диалоговое окно Servers В диалоговом окне Select Databases (рис. 13-42) укажите одну или БД, для которых создается план Можно создать один план обслуживания для всех БД или отдельные планы для конкретных БД, а также пользовательских и системных БД.

for the plan Рис. 13-42. Диалоговое окно Выбрав БД, в окне Update Data Optimization Information (рис. 13-43) в план обслуживания нужные операции оптимизации данных.

Можно добавить операцию, перестраивающую индексы или операцию, обновля ющую статистику распределения. Перестройка индексов может с ори гинальным или заданным вами коэффициентом заполнения. Обновление статистики возможно на основе 10-процентной выборки из БД, или с заданным вами коэффи циентом. Обычно SQL Server 2000 автоматически определяет адекватный коэффици ент. Чем больше коэффициент, тем точнее статистика, однако при больших коэффи Создание БД циентах на обновление статистики требуется больше времени и ресурсов. Кроме того, можно автоматически сжимать БД по достижении ей определенного размера, и ука зать объем свободного пространства, который должен остаться в файле данных после сжатия. Эта возможность обычно используется для небольших БД, разделяющих же сткий диск с другими серверными приложениями. Можно также создать общее писание выполнения всех эти операций. По умолчанию они запускаются каждое вос кресенье в 01:00.

As and more data pages Рис. 13-43. Диалоговое окно Update Data Optimization Information В окне Database Integrity Check (рис. 13-44) добавьте в план обслуживания опера ции, целостность БД. Можно что они должны значительные ошибки. Рекомендуется также, чтобы они выполнялись перед резерв ным копированием БД. Время запуска этих операций по умолчанию Ч 00:00 каждого воскресенья.

Рис. 13-44. Диалоговое окно Database Integrity Check В окне Specify The Database Backup (рис. можно добавить в план об служивания полное резервное копирование БД. По умолчанию SQL Server проверяет целостность резервной копии, сохраняет ее на диск и выполняет резервное копиро вание каждое воскресенье в 02:00. Заметьте: резервное копирование проводится по завершении всех операций, оптимизирующих и проверяющих целостность БД, 430 административных задач Глава Backup Plan backup plan ID data km due to failure Рис. 13-45. Диалоговое окно The Database Backup Plan В окне Specify Backup Disk Directory (рис. настраиваются параметры резер вного копирования БД. при архивации на диск можно использовать ката лог по умолчанию или указать другой каталог. Для каждой БД можно создать вло женные папки, и указать, что по истечении определенного времени старые резерв ные копии следует удалять. Можно также указать расширение файла резервной ко пии (по умолчанию Ч.bak).

Specify Dak the in backup file Рис. 13-46. Диалоговое окно Specify Backup Disk Directory В окне Specify The Transaction Log Backup Plan 13-47) укажите, следует ли в процессе обслуживания БД архивировать файл журнала транзакций. Если архивиро вание журнала включено в план обслуживания, SQL Server по умолчанию проверяет резервной копии, сохраняет ее на диск и выполняет резервное копиро вание каждую ночь (кроме воскресенья) в 00:00.

В окне Specify Transaction Log Backup Disk Directory (рис. 13-48) настраиваются параметры резервного копирования журнала транзакций. Например, при архивации на диск можно использовать каталог по умолчанию или указать другой каталог. Для каждой БД можно создать вложенные папки, и указать, что по истечении определен ного времени старые резервные копии следует удалять. Можно также указать расши рение файла резервной копии (по умолчанию Ч 4 Создание обслуживания БД Log to Рис. 13-47. Диалоговое окно The Transaction Log Backup Plan Backup in to store log backup file Рис. 13-48. Диалоговое окно Specify Transaction Log Backup Disk Directory В окне Reports To Generate (рис. укажите путь к папке, где будет храниться текстовый файл отчета с подробной о выполнении этапов плана живания БД, включая сведения об ошибках. Формат имени файла отчета Ч Файлы отчетов можно записывать в талог по умолчанию или в другой каталог. Если это необходимо, укажите, что по ис течении определенного периода времени старые файлы отчетов должны удаляться.

В окне Maintenance Plan History (рис. 13-50) по умолчанию указано, что журнал выполнения данного плана обслуживания заносится в таблицу БД master. Также, по умолчанию после добавления в таблицу 1000 рядов новые ряды будут перезаписывать старые. Кроме того, журнал выполнения можно на удаленный сервер, в качестве центрального хранилища отчетов.

432 задач to Generate in la the by Рис. 13-49. Диалоговое окно Reports To Generate Plan Ihe Рис. 13-50. Диалоговое Plan History В окне Completing The Database Maintenance Plan Wizard можно задать имя нового плана обслуживании и просмотреть выбранные параметры. Чтобы изменить какой либо параметр, щелкните Back. создания плана щелкните Finish (рис. 13-51).

the Maintenance Wizard s plan Рис. 13-51. Ввод плана обслуживания Создание плана БД Занятие Просмотр и редактирование планов обслуживания БД Есть два способа просмотреть и отредактировать созданный план обслуживания БД.

Во-первых, можно раскрыть контейнер Management нужного экземпляра SQL а затем последовательно Ч контейнеры SQL Server Agent и Jobs. В правой панели бразятся планы обслуживания БД (рис. 13-52).

Master Database la Plan Harts.

for Plan.

Рис. 13-52. Просмотр и редактирование планов обслуживания БД На рис. 13-52 обратите внимание на четыре задания, входящие в план SSEMDB Maintenance Plan, и на дату их следующего запуска. Чтобы просмотреть свойства за дания, дважды щелкните соответствующий значок.

Во-вторых, для просмотра планов обслуживания БД можно в дереве кон соли контейнер Database Maintenance Plans. В правой панели отобразятся все имею щиеся планы. Чтобы просмотреть или свойства плана, дважды щелкните соответствующий значок. Чтобы просмотреть полный журнал выполнения плана об служивания, щелкните контейнер Database Maintenance Plan или значок нужного пла на правой кнопкой и выберите Maintenance Plan History (рис. 13-53).

SELFP.

Рис. 13-53. Просмотр журнала плана обслуживания БД задач Использование утилиты Sqlmaint Создавать и выполнять планы обслуживания БД можно также при помощи утилиты командной строки Обычно из-за простоты использования планы обслужи вания создают и редактируют с мастера Database Maintenance Plan Wizard.

Однако в действительности созданные этим мастером задания запускают утилиту Sqlmaint, передавая ей набор параметров. Раскройте в дереве консоли SQL Server Enterprise Manager контейнер SQL Server Agent и дважды щелкните в контейнере Jobs задание плана обслуживания. В открывшемся окне перейдите на вкладку Steps, щел кните Edit, и вы увидите реально выполняющуюся команду Sqlmaint (рис. 13-54).

Рис. 13-54. Просмотр команды Sqlmaint Подробнее об использовании утилиты Sqlmaint Ч в SQL Server Books Online.

Резюме Мастер Database Maintenance Wizard позволяет легко автоматизировать основ ные задачи обслуживания, создавая входящие в них задания и расписание выполне ния этих задач. SQL Server Manager ведет журнал Database Maintenance Plan History, где можно просмотреть историю выполнения всех планов обслуживания.

Фактически все задачи обслуживания осуществляет утилита Sqlmaint, выполняюща яся в фоновом режиме.

5 мультисерверных Занятие 5. Создание мультисерверных заданий SQL Server 2000 позволяет автоматизировать административные задачи сразу для не скольких экземпляров SQL Server 2000. Здесь рассказывается о создании и подчиненных серверов. Вы также научитесь создавать на главном сервере задания, которые передаются для выполнения подчиненным серверам. Мы также обсудим, как просмотреть с главного сервера журнал удаленного задания.

Изучив материал этого занятия, вы сможете:

создать главный и подчиненные серверы;

создать задания для подчиненных серверов;

наблюдать задания на подчиненных серверах.

Продолжительность занятия - около 30 минут Создание главного и подчиненных серверов Для создания мультисерверных заданий необходимо назначить один сервер главным, и один или несколько Ч подчиненными. После этого можно будет создавать задания на основном сервере, который распространяет задания и получает сообщения о со бытиях от подчиненных серверов. Главным сервером должен быть компьютер с Windows NT 4.0/2000. Главный и все подчиненные серверы должны работать в сме шанном режиме проверки подлинности. Кроме того, на всех серверах должна быть запушена служба SQL Server Agent. Рекомендуется также, чтобы главный сервер не был перегруженной производственной системой, поскольку большой объем трафика может негативно сказаться на производительности.

Чтобы создать главный сервер, щелкните контейнер SQL Server Agent нужного экземпляра SQL Server 2000 и выберите This A Master.

Откроется окно Welcome To The Make MSX Wizard (рис. 13-55).

В окне Create 'MSXOperator' (рис. 13-56) создайте оператора главного сервера (MSXOperator), которому будут направляться все уведомления о выполнении муль тисерверных заданий. Если этого не сделать, задания не смогут пе редавать уведомления о завершении выполнения.

Welcome to the Make MSX you make a Х an named Х SDL Widows to Start E3L Agent Enlist SOL as USX) the and SQL on (he valid tor Рис. 13-55. Диалоговое окно Welcome To The Make MSX Wizard административных задач Глава send _ Рис. 13-56. Диалоговое окно Create В окне Select Servers To Enlist (рис. 13-57) выберите из списка зарегистрирован ных серверов SQL Server, которые будут перечислены в качестве подчи ненных. На каждом из серверов вы должны быть членом серверной роли sysadmin. Перечислить незарегистрированный сервер нельзя. Учетной записью служб SQL Server и SQL Server Agent на всех подчиненных серверах должна быть учетная запись домена (использование одной учетной записи на главном и под чиненных серверах упростит администрирование). Можно также регистрировать сер веры на лету.

SQL r. Х. I Рис. 13-57. Диалоговое Select Servers To Enlist В окне Provide Target Server Description (рис. 13-58) можно ввести описание каж дого подчиненного сервера.

В окне Completing The Make MSX Wizard (рис. 13-59) щелкните Finish, чтобы со здать оператора главного сервера и перечислить все подчиненные серверы. Если ма стер не может подключиться к какому-либо экземпляру SQL Server (или если на этом экземпляре не запушена служба SQL Server Agent), перечислить данный экземпляр в качестве подчиненного сервера нельзя.

Занятие заданий a la gat Рис. 13-58. Диалоговое окно Provide Target Server Description Completing Make Wizard Рис. 13-59. Диалоговое окно Completing The Make MSX По завершении работы мастера Make MSX Wizard службе SQL Server Agent на глав ном сервере задается имя а на подчиненных серверах Ч имя (рис. 13-60).

fatrrt, Рис. 13-60. Главный и подчиненные серверы Создание заданий для подчиненных серверов На главном сервере можно создать задания и затем указать один или несколько под чиненных серверов, которым их следует передать. Определения заданий хранятся на главном сервере, и каждый подчиненный сервер получает их копии. Обновления цен тральной копии периодически передаются подчиненным серверам. Изменять свой ства таких заданий на подчиненных серверах нельзя.

Задание для конечных серверов создается практически так же, как и для локаль ного (подробнее об этом Ч в занятии 2 этой главы). Однако на вкладке General следу ет установить переключатель Multiple Servers и затем кнопку Change (рис. 13-61) для выбора подчиненных серверов.

Рис. 13-61. Выбор серверов Примечание Для успешного выполнения задания все указанные в нем пути БД и файловой системы должны быть действительны на всех подчиненных серверах. Чтобы упростить администрирование заданий, разработай те согласованные правила размещения данных и именования файлов.

Занятие 5 заданий В окне Change Job Target Servers (рис. 13-62) выберите нужные подчиненные веры из списка.

Рис. 13-62. Диалоговое окно Change Job Target Servers На главном сервере задания размешаются в отдельных контей нерах, Подчиненные серверы периодически опрашивают главный и загружают новые задания, а также существующих заданий.

Мониторинг заданий на подчиненных серверах Чтобы наблюдать выполнение заданий на подчиненных серверах, щелкните на глав ном сервере контейнер SQL Server Agent (MSX) правой кнопкой и выберите Ser ver Manage Target Servers. Откроется окно Target Servers (рис. 13-63).

Рис. 13-63. Диалоговое окно Target Servers На вкладке Target Service Status указывается местное время подчиненного серве ра, время последнего опроса главного сервера, число непрочитанных инструкций и состояние каждого подчиненного сервера: blocked (заблокирован), ОК или offline (от ключен). С помощью кнопки Force можно заставить подчиненный сервер опро сить главный, кнопки Force Defection Ч заблокировать подчиненный сервер, кнопки Post Instructions Ч передать одному или нескольким подчиненным сер задач Глава верам. Возможные Ч это блокировка, интервал опроса (по умолчанию Ч 60 сек), синхронизация часов главного и подчиненных серверов, а также запуск зада ния. Диалоговое окно Post Download Instructions показано на рис. 13-64.

Рис. 13-64. Диалоговое окно Post Instructions Чтобы просмотреть подробную информацию об инструкциях, переданных подчи ненным серверам, перейдите на вкладку Download Instructions. Раскрывающийся спи сок Job позволяет фильтровать отображаемый список инструкций по конкретным заданиям (рис. 13-65).

Рис. 13-65. Просмотр сведений о переданных инструкциях Чтобы просмотреть состояние и журнал заданий, в правой панели контейнера Server Jobs значок нужного задания правой кнопкой и выберите Job Status. Откроется окно Multi Server Job Execution Status (рис. 13-66).

Заметьте, что состояние можно просматривать по заданиям или по серверам;

вы водится время последнего запуска задания и сведения об успешности его выполне ния. Чтобы подключиться к удаленному серверу и просмотреть журнал задания, щел Занятие заданий View Remote Job History. Чтобы просмотреть конкретного сервера, щелкните Target Servers Status. Чтобы повторно синхронизировать все задания на оп ределенном сервере или одно задание на всех серверах, Synchronize Jobs.

Рис. 13-66. Диалоговое окно Server Job Execution Status Упражнение 7. Создание задания В этом упражнении вы создадите задание.

Чтобы задание 1. Убедитесь, что вы зарегистрировались на контроллере домена FT под учетной записью Administrator.

2. В дереве консоли SQL Server Enterprise Manager последовательно раскройте кон тейнеры и а затем щелкните кон тейнер SQL Server Agent правой кнопкой и выберите Start.

3. В дереве консоли щелкните контейнер SQL Server Agent экземпляра по умолча нию правой кнопкой и выберите Multi Server This A Master, окно Welcome To The Make MSX Wizard.

4. Щелкните Next.

Откроется окно Create 5. В поле Net Send Address введите SelfPacedCPU и щелкните Next.

Откроется окно Select Servers To Enlist.

6. Пометьте флажок и щелкните Next.

Откроется окно Provide Target Server Description.

7. В поле Description введите описание подчиненного сервера и шелкните Next.

Откроется окно Completing The Make MSX Wizard.

8. Просмотрите выбранные параметры и щелкните Finish.

Появится сообщение мастера Make MSX Wizard о том, что сервер SelfPacedCPU успешно назначен главным.

9. Щелкните ОК.

задач Заметьте: в дереве консоли контейнер SQL Server Agent экземпляра SQL Server по умолчанию обозначен как а одноименный контейнер экземпляра MyNa Ч как TSX.

В дереве консоли раскройте контейнер SQL Server Agent экземпляра по умолчанию.

Щелкните значок Jobs правой кнопкой и выберите New Job.

Откроется окно New Job Properties Ч 12. В поле Name введите Backup All Master Databases.

13. Установите переключатель Target Multiple Servers и щелкните Change.

Откроется окно Change Job Target Servers Ч SelfPacedCPU.

14. Щелкните кнопку со стрелкой вправо, чтобы выбрать экземпляр MyNamedlnstance. Затем щелкните ОК.

15. Перейдите на вкладку Steps и щелкните New.

Откроется окно New Job Step Ч SelfPacedCPU.

16. В поле Step Name введите Backup Master Step.

17. Убедитесь, что в списке Туре выбран пункт Script (TSQL) и в списке Database выбрана БД master.

18. В поле Command введите BACKUP DATABASE master TO и щелкните ОК.

19. На вкладке Schedules щелкните New Schedule.

Откроется окно New Job Schedule Ч SelfPacedCPU.

20. В поле Name введите Nightly Schedule.

21. Щелкните Change.

Откроется окно Edit Recurring Job Schedule Ч SelfPacedCPU.

22. В группе Occurs установите переключатель Daily. Затем щелкните ОК, чтобы зак рыть окно Edit Recurring Job Schedule Ч SelfPacedCPU.

23. Щелкните чтобы закрыть окно New Job Schedule Ч SelfPacedCPU.

24. Перейдите на вкладку Notifications.

25. Пометьте флажок Net Send Operator и в раскрывающемся списке выберите Whe never The Job Completes.

26. Щелкните ОК, чтобы закрыть окно New Job Properties Ч SelfPacedCPU.

27. В дереве консоли раскройте контейнер Jobs экземпляра SQL Server 2000 по умол чанию и щелкните значок Server Jobs.

Заметьте: в правой панели отображается новое мультисерверное задание. Через некоторое время в столбце Pending Instructions будет отображаться 0. Это означа ет, что подчиненный сервер загрузил задание.

28. В дереве консоли последовательно раскройте контейнеры Management и SQL Server Agent (TSX: SelfPacedCPU). Затем щелкни те контейнер Jobs.

29. Если задание Backup All Master Databases не отображается, щелкните контейнер Jobs правой кнопкой и выберите Refresh.

30. Щелкните в правой панели Backup All Master Databases правой кнопкой и выберите Properties.

Заметьте: редактировать свойства задания на подчиненном сервере нельзя.

Щелкните Close.

32. В дереве консоли щелкните контейнер Multi Server Jobs экземпляра по умолчанию.

33. В правой панели щелкните задание Backup All Master Databases правой кнопкой и выберите Start On All Targeted Servers.

Занятие 5 Создание Заметьте: значение столбца Pending Instructions указывает, что одна ожидает загрузки подчиненным сервером. Через некоторое время сервер загрузит и появится окно Messenger Service о запуске задания Backup All Master Databases.

34. Щелкните ОК.

35. Щелкните задание Backup All Master Databases правой кнопкой и выберите Job Status.

Откроется окно Server Job Execution Status Ч с информацией о состоянии задания Backup All Master Databases на всех подчиненных 36. Щелкните View Remote Job History.

Откроется окно Job History Ч Просмотрите ин формацию о выполнении задания на удаленном сервере.

37. Щелкните Close, чтобы закрыть окно Job History Ч Instance.

38. Щелкните Close, чтобы закрыть окно Multi Server Job Execution Status Ч SelfPa cedCPU.

39. Щелкните задание Backup All Master Databases правой кнопкой и выберите Refresh.

Заметьте: ожидающих загрузки инструкций нет.

40. В дереве консоли вложенный контейнер Jobs контейнера CPU\MyNamedInstance.

Щелкните в правой панели задание Backup All Master Databases правой кнопкой и выберите View Job History.

Откроется окно Job History Ч Заметьте: отобра жаемая информация идентична сведениям, которые предоставил удаленный сервер.

42. Щелкните Close.

43. Закройте SQL Server Enterprise Manager.

Резюме Можно создавать задания, хранение и управление которыми на цен тральном Ч главном Ч сервере. Можно также указать подчиненные серверы, кото рые периодически будут загружать задания для выполнения и сооб щать об их состоянии главному серверу. Такая возможность позволяет централизо ванно создавать и управлять идентичными заданиями для нескольких серверов.

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

1. Администратор БД, назначенный надежным оператором, увольняется из компа нии. Что нужно сделать, прежде чем удалить его из списка 2. Что можно если задание не выполняется по расписанию?

3. Вы создали оповещение, срабатывающее при заполнении журнала транзакций на 90%. Однако иногда журнал успевает заполниться до того, как сработает оповеще ние. Почему это происходит и как решить проблему?

4. Помимо управления контроллерами доменов, Web-узлом и почтовым сервером, в ваши обязанности входит поддержка небольшой БД. Вы хотите автоматизировать выполнение как можно большего числа задач. С чего начать?

5. Вы хотите создать отдельное задание, которое бы каждую ночь автоматически ар хивировало БД на всех экземплярах SQL Server и уведомляло вас о проблемах. Реально ли это?

Мониторинг производительности и активности SQL Server Занятие методики мониторинга производительности Занятие 2. Средства мониторинга Занятие 3. Выполнение мониторинга В этой главе Здесь рассказывается о мониторинге производительности и активности SQL Server 2000. Вы узнаете, как разработать методику мониторинга производительности SQL Server, а также познакомитесь со всеми утилитами мониторинга Microsoft и ями, когда они применяются. Кроме того, вы научитесь выполнять задачи мониторинга с использованием основных утилит.

Прежде всего Для изучения материалов этой главы вам потребуются:

Х компьютер, минимальным аппаратным требованиям, перечис ленным в главе 2;

Х ОС Microsoft Windows 2000 Server, установленная на разделе диска с файловой системой NTFS;

Х компьютер с сетевым именем сконфигурированный как лер домена Х один установленный по умолчанию и по крайней мере один именованный экзем пляр SQL Server 2000;

Х БД SSEMDB, созданная при помогли сценария CreateDB.sql;

Х Customer БД созданная при помощи сценария 446 Мониторинг и активности SQL Server Занятие Разработка методики мониторинга производительности Прежде чем начать мониторинг производительности SQL Server 2000, необходимо разработать его методику. Здесь рассказывается, как цели мониторинга производительности. Вы узнаете о важных операциях и ресурсах SQL Server и научи тесь эффективно наблюдать за ними.

Изучив материал этого занятия, вы сможете:

определить цели и эффективные способы мониторинга;

выбрать операции и ресурсы для мониторинга;

разработать долговременную стратегию мониторинга.

Продолжительность занятия Ч около Определение целей мониторинга Прежде чем начать мониторинг производительности SQL Server 2000, следует опре делить его цели. Решите, какие именно характеристики производительности следует отслеживать и как сделать это наиболее эффективно. Первый этап наблюдения за производительностью Ч понимание основных целей мониторинга. Ими являются:

Х с точки зрения пользователя Ч снижение времени реакции на передаваемые сер веру запросы (время на первого ряда набора результа тов). Таким образом, пользователь получает визуальное подтверждение того, что его запрос Х с точки зрения сервера Ч максимизация общей пропускной способности запросов, обрабатываемое им за определенный период Чтобы достичь этого, потребуется предпринять множество действий Ч подобрать подходящее спроектировать БД так, чтобы не налагалось чрезмерно большое число блокировок, и создать приложения, эффективные зап росы. Администратор БД обычно не может управлять всеми факторами производи тельности. Однако доступные вам средства мониторинга позволяют выявить и изо лировать источник проблем После этого можно определить оп тимальный план действий для снижения времени реакции и повышения обшей про пускной способности сервера. Например, если проблема связана с некорректной структурой БД, вызывающей очень большое число блокировок, попытка решить ее при новых аппаратных ресурсов даст минимальный выигрыш в производи тельности. Новое оборудование не поможет и тогда, когда источник проблемы высокая загруженность сети или клиентское которое многократно пересылает между и сервером большие объемы данных.

Выявление лузких мест Для повышения производительности SQL Server 2000 необходимо выявить его места Ч ограничивающее производительность условия, вызван ные интенсивным использованием системного ресурса или объекта БД. Возникнове ние мест также приводит к неполному использованию других системных ре сурсов и объектов БД. Зачастую лузким местом производительности является обору дование, например память или процессор. Обычно для устранения мест мож но нарастить аппаратные ресурсы или перенести часть нагрузки на другие серверы.

1 производительности На то, что лузким местом является оборудование, зачастую указывает интенсивное использование одного или нескольких устройств. Повышенная нагрузка на процес сор не всегда означает, что его нужно заменить более Источником пробле мы могут быть другие факторы, включая недостаточный объем ОЗУ, который водит к записи страниц памяти на жесткий диск, и неэффективные запросы, повы нагрузку на процессор.

Маленькое значение счетчика может соответствовать хорошей ти, но может указывать и на место. Например, если время реакции на запрос велико, но интенсивного использования аппаратных ресурсов компьютера SQL Se 2000 не наблюдается, следует обратить внимание на внешние факторы. Источником проблемы могут быть медленная или перегруженная сеть, не запросам тигнуть SQL Server 2000, неэффективные запросы или некорректная структура БД.

Мониторинг производительности Ч это процесс выявления ограничивающих ее фак торов с целью их последующего устранения.

Устранение одного места иногда помогает выявить и другие. Так, решив проблему ввода Ч вывода путем установки нового жесткого диска, вы можете обна ружить, что используется недостаточно мощный процессор или что необходимо по вторно оптимизировать определенные запросы. В некоторых случаях выигрыш в про изводительности от устранения лузкого места не окупает времени и затрат. Напри мер, если пользователи считают время реакции приемлемым, улучшение его на 15% может оказаться нерентабельным. Однако то, что сейчас, может оказаться неприемлемым в будущем Ч с ростом числа пользователей и увеличением БД. С личением числа обращений к БД вам потребуется оптимизировать запросы, которые при небольшом количестве пользователей и избыточном объеме аппаратных ресур сов считались эффективными.

Определение тенденций В процессе мониторинга SQL Server 2000 следует уяснить нормальный диапазон зна чений различных счетчиков. Благодаря этому вы сможете обнаружить проблему в са мом начале и предпринять необходимые действия по ее устранению. С помощью раз личных средств мониторинга определите базовый уровень производительности SQL Server. Это позволит вам понять, как работают различные компоненты системы в обычных условиях и перед возникновением проблем. Периодически корректируйте базовый уровень производительности при помощи тех же средств и методов монито ринга. Анализируйте любые значительные изменения этого уровня.

Записывая и наблюдая однотипные значения, вы со временем сможете выявлять значения, сильно отличающиеся от нормальных. Как правило, их появление означа ет скорое возникновение проблемы, дополнительного изучения. Коррек тируемый базовый уровень позволяет администратору БД определить, когда необхо димы дополнительные аппаратные ресурсы, индексы или оптимизация часто выпол няемых запросов. С ростом числа лиц, за ресурсы сервера, струк тура приложения или БД, эффективная для небольшого количества пользователей, может стать неэффективной. Тем не менее структура может оставаться и лишь требовать дополнительных аппаратных ресурсов для обработки нагрузки. Регулярное наблюдение за тенденциями использования БД позволит вам выявить области, требующие повышенного внимания и дополнительных Периодически корректируемый базовый уровень также помогает опре делить часы пиковой и низкой нагрузки. Эта информация полезна при планировании задач обслуживания системы.

448 и активности SQL Server Глава Выбор ресурсов и операций для мониторинга Факторы, которые влияют на производительность SQL Server 2000 и мониторинг ко торых рекомендуется вести, Ч это ресурсы оборудования, сетевой трафик, структура БД и клиентские приложения.

Х Ресурсы оборудования могут быть недостаточны для обработки нагрузки на сер вер. Например, из-за недостаточно мощного процессора может организоваться очередь задач на обработку.

Х Серверные приложения, параллельно на компьютере SQL Server 2000, могут интенсивно использовать ресурсы системы. Так, не рекомендуется запускать на одном компьютере Microsoft Exchange Server и Microsoft SQL Server, Х Возможно несбалансированное использование ресурсов оборудования. Например, один диск может быть переполнен, а другой Ч почти пуст.

Х Устройство может неправильно Так, если диск вот-вот отка жет, системе приходится многократно обращаться к нему.

Возможна общая перегрузка сети, которая приведет к разрывам соединений и многократным повторным обращениям к серверу.

Х При медленном соединении некорректное использование курсоров и произволь ных запросов может стать проблемой, поскольку между клиентом и сервером бу дут передаваться чрезмерно большие объемы данных.

Х Некорректная структура БД приводит к наложению излишне большого числа ме шающих блокировок Ч процессом блокировок ресурсов (напри мер ряда или таблицы), которые не дают другому процессу обратится к данному ресурсу, пока не будут сняты первым процессом.

Х Плохо написанные приложения приводят к взаимоблокировкам Ч один процесс налагает блокировку, мешающую второму процессу, а тот налагает блокировку, мешающую первому. Обнаружив при помощи алгоритма взаимобло кировку, экземпляр SQL Server 2000 уничтожает одну из транзакций, чтобы вто рая могла продолжить работу.

Изоляция проблемы Обычно, чтобы выявить источник проблемы, с одной или нескольких ути лит мониторинга сначала ее симптомы. Затем проводят дополнительные наблюдения и собирают специфическую информацию, которая поможет изолировать источник проблемы. В занятии 2 рассказывается о средствах мониторинга и их воз можностях. В занятии 3 вы научитесь выполнять различные задачи мониторинга для изоляции проблем SQL Server 2000.

Цель мониторинга производительности Ч поддержка и повышение общей произво дительности и эффективности работы SQL Server 2000, включая уменьшение време ни реакции и увеличение пропускной способности сервера. Периодически корректи руемый базовый уровень производительности позволяет выявить тенденции измене ний заранее, до возникновения проблемы. Разрешение проблем включает в себя вы явление и устранение лузких мест производительности, что позволяет определить требующие дополнительных ресурсов, и наиболее эффективным образом повысить производительность SQL Server 2000.

Занятие 2 Средства мониторинга л я Занятие 2. Средства мониторинга SQL Server 2000 и Windows 2000 предоставляют множество средств мониторинга производительности и активности SQL Server. Здесь рассказывается о каждой из этих утилит и ее назначении. Основные средства мониторинга Ч это утилита Windows System Monitor, для наблюдения за использованием ресурсов систем и утилита SQL Profiler, используемая сведений о конкретных событиях SQL Server.

Изучив материал этого занятия, вы сможете:

описать и воспользоваться всеми средствами мониторинга SQL Server 2000;

выбрать утилиту для конкретной задачи мониторинга.

Продолжительность занятия Ч около минут Утилита Monitor Утилита Windows 2000 System Monitor (в Windows NT 4.0 Ч Performance Monitor) по зволяет наблюдать за использованием ресурсов локального и удаленных компьюте ров. С ее можно выявить ресурсы и требующие дополнительно го изучения (например слишком большое число мешающих блокировок или возросшее использование ОЗУ). Работа System Monitor часто снижает производитель ность, и поэтому утилиту обычно запускают с удаленного компьютера. Чтобы умень шить влияние на производительность, при запуске System Monitor с локального ком пьютера можно разместить файл журнала на другом диске или компьютере.

Обычно с System Monitor в реальном времени просматривают данные о производительности или записывают их на диск для последующего анализа. System Monitor включает объекты производительности, а также их счетчики и экземпляры, Х Объекты производительности обычно соответствуют аппаратным ресурсам (па мять, жесткий диск, процессор и т. д.) и службам Windows (рабочая очередь ра, очередь печати и т. д.).

Х Счетчики отражают аспекты отдельных объектов производительности. Например, у объекта Производительность имеется счетчик числа обрабатываемых в секунду страниц, а у объекта Производительность жесткого диска Ч счетчик числа операций записи в секунду.

Х Экземпляры Ч это несколько однотипных объектов производительности, разным процессорам или жестким дискам.

System Monitor Ч расширяемая утилита, позволяющая серверным (например SQL Server 2000) добавлять собственные объекты, счетчики и экземпляры.

В табл. перечислены объекты производительности (кроме объектов производи тельности репликации), добавляемые SQL Server 2000 в System Monitor для наблюде ния за специфическими операциями SQL Server.

и SQL 14-1. Объекты производительности для мониторинга активности SQL Server Объект произ- объекта Объект позволяет водительности показывают SQL Server SQL Server: о доступе и размещении Эффективность индексов и запро Access Methods логических объектов БД SQ2L сов, основываясь на типе запраши Server (данные, страницы ваемых страниц, числе операций индексов и т. д.) расщепления страниц и операций выделения новых страниц SQL Server: Информацию о производитель- Пропускную способность и ход Backup Device ности резервного резервного и восстановления для отдельных новления для отдельных устройств устройств SQL Server: Сведения об использовании Нехватку физической памяти, Buffer Manager буфера памяти, включая число определить периодичность свободных буфера выполнения операций чтения и число попаданий в кэш буфера с диска и эффективность выполнения запросов SQL Server: Сведения о памяти для Эффективность кэширования Cache Manager ния хранимых процедур, опера- и повторного использования торов и триггеров выполнения SQL Server: Информацию об операциях БД, Интенсивность использования БД, Databases включая активные транзакции, число операций автоматического пропускную способность загрузки увеличения и уменьшения размера данных, пропускную способность степень заполнения жур резервного копирования и восста- нала транзакций, производитель новления, а также операции ность загрузки данных и операций журнала транзакций резервного копирования и восстановления SQL Server: сведения об активности Активность подключенных Statistics уровня сервера, включая пользова- пользователей тельские подключения и вход в систему SQL Server: Информацию об использова- места производительности, специальных краткосрочных основываясь на числе и размерах блокировок очередей на предоставление специальных блокировок SQL Server: Сведения об отдельных запросах Общее число и типы блокировок.

Locks на блокировку, генерируемых SQL числа блокировок включая число случаев улучшает параллелизм и повышает истечения времени удержания производительность блокировки и число взаимоблокировок SQL Server: Общую информацию об использо- Обшее использование памяти вании памяти, включая память различными а также Manager для соединений и блокировок, позволяет выявить нехватку ОЗУ доступную память и выделенную память Средства мониторинга Табл. (окончание) Объект произ- Счетчики Объект позволяет оценить водительности показывают SQL Server SQL Server: Сведения о запросах Скорость компиляции запросов SQL Statistics включая число и эффективность работы повторных компиляций и число оптимизатора запросов. Уменьше полученных пакетов ние времени компиляции и часто ты повторных компиляций повы шает производительность системы SQL Server: Информацию о пользовательских Нестандартные данные, например User Settable счетчиках, основанных на опись товаров или число заказов Object хранимых процедурах и операторах Transact-SQL Task Manager Утилита Windows NT 4.0/2000 Task Manager в реальном времени создает снимок ре сурсов памяти и используемых различными процессами и ми. Этот снимок отражает относительную нагрузку на сервер, создаваемую параллель но выполняющимися на нем приложениями. Он также содержит дан ные об использовании памяти и процессора системы. С помощью утилиты Task Manager можно быстро является ли оборудование местом про изводительности.

Примечание В ОС Windows 98/Ме утилиты Task Manager нет.

Утилита SQL Profiler Поставляемая с SQL Server 2000 графическая утилита SQL Profiler позволяет отсле живать (выполнять трассировку) конкретных событий SQL Server и записывать со бранную информацию в таблицу или файл с расширением.trc для последующего ана лиза. Например, можно отслеживать медленно выполняющиеся хранимые процеду ры или предшествующие взаимоблокировке. Можно также создавать трас сировки и затем в реальном времени или в пошаговом режиме воспроизводить их на другом компьютере SQL Server (тестовом сервере) для оптимизации производитель ности и отладки операторов Transact-SQL и хранимых процедур.

Чтобы воспроизвести трассировку, необходимы определенные поля дан ных. В качестве отправной точки для сбора нужных данных воспользуйтесь стандарт ным шаблоном трассировки Событие SQL Server Ч это любая операция, генерируемая ядром SQL Server. К событиям относятся вход в систему, выполнение операторов Transact-SQL, храни мых процедур, пакетов, возникающие ошибки, использование курсоров и проверка разрешений системы безопасности. Для каждого события можно наблюдать отдель ные сведения, включая имя компьютера, задействованный объект (например имя таб лицы), имя пользователя, текст оператора Transact-SQL или хранимой а также время начала и завершения события. Параметры трассировки хранятся в шаб 16- Мониторинг активности SQL лоне с расширением.tdf, который и определяет, что именно записывается в файл или Собранная информация называется трассировкой (trace). Используя на про тяжении некоторого времени одинаковые параметры трассировки, вы сможете выя вить тенденции производительности и использования SQL Server 2000.

Не проводите одновременный мониторинг слишком большого числа событий это может негативно сказаться на производительности SQL Server. По умолчанию максимальный размер файла трассировки составляет 5 Мб. Кроме того, при заполне нии текущего файла трассировки SQL Profiler по умолчанию создает новый файл.

Именем нового файла будет имя исходного файла трассировки плюс порядковый номер. Чтобы уменьшить размер трассировки, число наблюдаемых собы тий и объем собираемых данных, Кроме того, ограничить объем о событии можно с фильтров типа LIKE, NOT LIKE, EQUALS, NOT EQUALS, GREATER THAN OR EQUAL и LESS THAN OR применяемых к БД, пользо вателям, приложениям и т. д.

События объединены в категории, или наборы, в каждой из которых имеются классы событий для сбора сведений о конкретных событиях SQL Server. В табл.

перечислены доступные для мониторинга наборы событий.

Pages:     | 1 |   ...   | 5 | 6 | 7 | 8 | 9 |    Книги, научные публикации