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

MCSA/MCSE, MCDBA Training Kit Exam 70-228 Microsoft SQL Server 2000 System Administration Microsoft-Press курс SA/MCSE, MCDBA ...

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

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

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

в случае же неудачи выполнение задания прерывается и оператор полу чает уведомление об ошибке. Если следующего этапа нет, задание успешно заверша ется и оператор получает соответствующее уведомление. Можно указать число по вторных попыток выполнения этапа (например, чтобы решить проблему с истечени ем времени ожидания соединения) и интервал между ними. Кроме того, можно ука зать файл ОС для записи результатов выполнения этапа, содержащего оператор Transact-SQL или команду 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.

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

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

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

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

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

Откроется окно New Job Properties Ч SelfPacedCPU. Обратите внимание, что вла делец задания по умолчанию Ч SelfPacedSQL\Administrator.

3. В поле Name введите Backup SSEMDB Tlog и затем перейдите на вкладку Steps.

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

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

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

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

7. В поле Command введите BACKUP LOG SSEMDB TO DISK = 'C:\SQLBackups\ SSEMDB.trn'.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Использование Transact-SQL Задания можно также создавать при помощи системных хранимых процедур sp_add Job, sp_addjobstep, sp_addjobschedule и sp_updatejobstep.

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

Настройка учетной прокси-записи Чтобы выполнять задания с этапами, которые включают команды CmdExec или сце нарии ActiveX и принадлежат пользователям, не являющимся членами серверной роли sysadmin, настройте учетную прокси-запись (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. Настройка учетной прокси-записи i. i [I r 1 ' '. Х :.,.-.', s A.

. 'I.,' : ->.-.Х;

-;

Х,Фч,.мо( Щ ШШЗШрЩЭД Рис. 13-21. Ввод регистрационных реквизитов администратора Просмотр свойств и журналов заданий В правой панели контейнера Jobs дерева консоли SQL Server Enterprise Manager ото бражается информация обо всех заданиях соответствующего экземпляра SQL Server 2000 (рис. 13-22).

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

Глава 410 Автоматизация административных задач y??::i -'г \ц - Ц.Дч | || с;

,т.;

- li'frd..:.-;

, [Цщмута... У' ЩввДсНиЫ.рИ1Вш Ve MttBuintig imMtttdll... (10)290,.

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

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

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

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

|D UobOulccrr) 10/24/2000 G:4... Successful Ж ОО.ИШ ];

: Backup Masts- 10/24/2000 64 Successful OOQttre JO [JobOutcome] 10/24/2000 &a. Successful 12 Backup Muter 10/24/2000 &0. SuccasihJ DBCC 10/24/2000 ftu Successful Рис. 13-24. Просмотр подробной информации о выполнении этапов задания Размером журнала выполнения задания можно управлять. Щелкните контейнер SQL Server Agent правой кнопкой, выберите Properties и в открывшемся окне перей дите на вкладку Job System (рис. 13-25).

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

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

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

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

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

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

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

Откроется окно Backup Master Job Properties Ч SelfPacedCPU.

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

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

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

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

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

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

9. Щелкните ОК, чтобы закрыть окно New Job Step Ч SelfPacedCPU\Backup 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 Ч SelfPaced CPU\Backup Master Job.

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

Откроется окно Start 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 у последнего выполнявшегося задания отображается два этапа, а у предыдущего Ч один.

Занятие 2 Создание заданий 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 Ч SelfpacedCPU. Внимательно просмотрите подроб ности выполнения задания. В частности, заметьте, что не был уведомлен опера тор, поскольку он, согласно графику дежурств, отдыхал, Надежного оператора так же не уведомляли, так как такого оператора можно назначить только для опове щений (но не для уведомлений о результатах выполнения задания).

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

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

Журнал ошибок службы SQL Server Agent Служба SQL Server Agent заносит информационные сообщения, предупреждения о сообщениях об ошибках в собственный журнал ошибок. SQL Server 2000 может одно временно вести до девяти журналов ошибок SQL Server Agent. Имя и расположение журнала ошибок SQL Server Agent по умолчанию Ч C:\Program Files\Microsoft SQL Server\Mssql\Log\Sqlagent.out, Расширение текущего файла журнала Ч.out;

архивным журналам присваиваются числовые расширения в диапазоне от 1 до 9 (единица более новый журнал). По мере необходимости SQL Server Agent обновляет содержи мое журналов, Чтобы просмотреть журнал ошибок в SQL Server Enterprise Manager, щелкните контейнер SQL Server Agent правой кнопкой и выберите Display Error Log.

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

-Inn -SHIPAIIOU4I 2000-10-24124148 [100| Micrasoft SQLSeiveAgert version 6.00.134 (хвб Unicode retail build) i Pr 2000-10-2*1241 48 [101] SQL Serve) SELFPACEDCPU version 8.00 194 (0 connection limit} 2000-10-24124148 [102) SQL Sлver ODBC diiver version 3 2ХО-10-2412-4Г48 [103) hetiib being uwd by drive;

is OBMSSHP.N DLL: Local tost:

2000-10-241241.46 [310)1 Иосеисф)*хЛ2В MB RAM delected 2000-10-2412:4148 [339) lac* compulei is SELFPftCEDCPU ruraing Windows NT 5.0 |2135}Sл 2000-10-2412 41 54 [123) SQLSERVER AGENT starting under Wndowt NT sevice control 200010-2412.41.54 [392] Uiiig МАР1Э2 DLL bom DAWINNT\SYSTEM32 (vwsion 1 D.353EO) 200010-2412.41 64 [1Э6] Attempling to start mail sesnon using profile T4S E Kcnange Sellings'.

2000-10-2412:42.04 [353) Mai session slated (using MAP И |..tt%Un.irlR.rPJ i Рис. 13-26. Просмотр журнала ошибок службы SQL Server Agent.

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

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

Transact-SQL Просматривать свойства журналов можно с помощью системных хранимых проце ДУР sp_helpjob и sp_helpjobstep, а журналы заданий Ч при помощи процедуры sp_help Jobhisto ry.

Резюме Задания позволяют автоматизировать многие рутинные задачи администрирования.

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

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

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

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

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

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

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

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

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

Примечание Для создания оповещений нужно быть членом серверной роли sysadm 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 сразу конфигурирует многие ошибки для автоматического занесения в журнал приложений);

Х приложение может принудительно занести ошибку в журнал с помощью операто ра RAISERROR WITH LOG или расширенной хранимой процедуры xp_Iogevent.

Примечание Размер журнала приложений 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, обладает полным доступом к разделу HKEY_LOCAL_MACHINE\SOFIWARE\Microsoft\WindowsNT\CurrentVersion\Perflib реестра.

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

Занятие Настройка оповещений Настройка оповещений Оповещения можно создавать средствами мастера Create Alert Wizard или непосред ственно в SQL Server Enterprise Manager. Можно также создавать оповещения п р и помощи системных хранимых процедур Transact-SQL.

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

Welcome to the Create Alert Wizard Define Ihe aleit and Ito alert :esc a database to refine the aleil dehritnn ела key*ocfa to iriine the аЫ deliri Рис. 13-27. Первое диалоговое окно мастера Create Alert Wizard Если необходимо, чтобы оповещение срабатывало, когда уровень значимости события SQL Server равен или превышает определенный порог, установите в окне Define The Alert переключатель For Any Error Of Severity и выберите нужный уровень значимости в раскрывающемся списке For Any Error Of Severity (рис. 13-28).

Define the Ale it Specify Una erin or levailjj lead Ниг Ingrjets the alert 3 - uwf Магва<Уюп Sjritai Erta 014-lnsufficeniPenЩ 015 Х Syntay End In SOL Statemenl DIE - Miscellaneous User Error СП 7 - InsuWcieol Resources 318-NonFstal Internal Еггя Рис. 13-28. Диалоговое окно Define The Alert Глава Автоматизация административных задач Примечание В журнал приложений автоматически заносятся только ошибки с уров нем значимости 19 и выше.

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

Rniervtd 006 - Reserved 007 - Ndtiieatorc Status Infanution СОЙ Х Notificalm Uwr Inteivmlnn Require 009 - User Defined OIQ-lntofinalian Specilled Database Dbfect Nor. Found Unwed U ?*r Т г are action Syntax Enn Рис. 13-29. Диалоговое окно Manage SQL Server Messages Нужное сообщение об ошибке можно искать по его тексту, номеру ошибки и уров ню значимости. Обратите также внимание, что область поиска можно ограничить только регистрируемыми в журнале сообщениями и/или пользовательскими сообще ниями. Задав параметры поиска, щелкните Find. Пример результатов поиска показан на рис. 13-30.

Login (лled I"* USH 4. Onrji admriisrjaloij may c.

Login (ailed In jiet KU'. Reason: Not tociл>ed.

English Login suecepded la user 'W. Conneclicn English Login succerded In user 'Z\t'. Connadicn Non-Tr.

Login succeeded I U3BI ' English n ISM Login failed lurieer'SI)1.

English Х Lnjrilailedl'ir iBer'Sl!1 Haaswi Username conL English Lojiniaied Themawmuni iamullaneous us.ei count EnglBh 1'V.

Х51. Ugin fated The mammurn workstation licensing ImL Engfah ' Engfeh Login laled The maumum апЛхюяя u^.a count.

-.Х L<Щ tailed [л IJSBI '%ls'. Reason: Sena a in angle Engfeh Рис. 13-30. Результат поиска сообщений об ошибках Если это необходимо, в окне Specify A Database Or Error Keywords (рис. 13-31) ука жите БД, где должно наступить событие, или введите текст, который должно содер жать сообщение о событии.

Занятие 3 Настройка оповещений Specify a Database or Enor Keywwdt Optionally, speci? Ihe dalata in which Hie нгог must occi, and/or keywords that the aiur menage rnutt conldn Рис. 13-31. Диалоговое окно Specify A Database Or Error Keywords В окне Define Alert Response (рис. 13-32) можно определить реакцию на оповеще ние. Выберите нужных операторов из списка имеющихся и укажите способы их уве домления. Можно также выбрать выполняемое задание, включая создание нового задания на лету.

rl Wl/tllll SIIU'AI M i I'l Define Alert Reipon Opt onaty. se'ed a job to execute о opeielois to паву when Ihb alal it rated Рис. 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 Notification Menage Optional))., you can specfci the teHl of the meлage to lend to the o-ueiatci. and whether to rclude the ena le*i in the rnestege tent to the opeialo Рис. 13-33. Диалоговое окно Define Alert Notification Message Completing the Create Alert Wizard и have con-dieted the sieps requirefl to create an atol The lert you havs defined is ihwin bitow Рис. 13-34. Диалоговое окно Completing The Create Alert Wizard Х Упражнение 5. Создание оповещения о событии средствами мастера Create Alert Wizard | J( В этом упражнении вы создадите оповещение о событии при помощи мастера ХBalk Create Alert Wizard.

*Х Чтобы создать оповещение о событии средствами мастера Create Alert Wizard 1. Убедитесь, что вы зарегистрировались на контроллере домена SelfPacedSQL.MSFT под учетной записью 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. Установите переключатель Only 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 requested does not exist и щелкните Next.

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

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

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

12. Щелкните Yes.

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

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

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

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

J5. В меню 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 Alert.

Просмотрите значение столбца Count Ч вы увидите, что оповещение не сраба тывало.

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

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

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

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

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

Глава Автоматизация административных задач 23. Щелкните в правой панели значок SQL Server Invalid Object Alert правой кнопкой и выберите Refresh Alert.

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

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

Использование SQL Server Enterprise Manager Чтобы создать оповещение непосредственно при помощи SQL Server Enterprise Mana ger, щелкните в контейнере Management контейнер SQL Server Agent правой кнопкой и выберите New\Alert. Можно также щелкнуть в контейнере 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).

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

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

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

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

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

2. В дереве консоли SQL Server Enterprise Manager раскройте контейнер SQL Server Agent.

3. Щелкните значок Alerts правой кнопкой и выберите New Alert.

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

4. На вкладке General в поле Name введите SSEMDB TLog Alert.

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

6. В раскрывающемся списке Object выберите SQLServer:Databases.

7. В раскрывающемся списке Counter выберите Percent Log Used.

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

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

10. В поле Value введите 80.

11. Перейдите на вкладку 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. Раскройте меню Start\Programs\Administrative Tools и выберите Performance.

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

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

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

19. В раскрывающемся списке Performance Object выберите SQLServer;

Databases.

Занятие 3 Настройка оповещений 20. В группе Select Counters From List щелкните Percent Log Used.

21. В группе Select Instances From List щелкните SSEMDB.

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

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

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

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

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

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

26. Откройте файл TlogOverflow.sql из папки C:\SelfPacedSQL\CH_13.

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

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

28. Переключитесь в консоль Performance.

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

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

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

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

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

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

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

Использование Transact-SQL Оповещения можно также создавать с помощью системных хранимых процедур sp_add_alert, sp_update_alert и sp_add_notification, разрешениями на выполнение ко торых обладают только члены серверной роли sysadmin. Пользовательские сообще ния об ошибках создаются с помощью процедур sp_addmessage и sp^altermessage, раз решениями на выполнение которых обладают члены серверных ролей sysadmin и serve radmin.

Примечание Рекомендуется использовать не системные хранимые процедуры Tran sact-SQL, а графический интерфейс SQL Server Enterprise Manager.

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

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

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

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

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

Если необходимо обнулить счетчик срабатываний оповещения, щелкните Reset Count.

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

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

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

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

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

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

Продолжительность занятия Ч около 15 минут Использование мастера 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 (рис. 13-40).

Welcome to the Database Maintenance Han Wizard This wrcatd helps you creale a maintenance plan that me SOL Setvs Agent can run сп г regula basis With fas weatd iraj Bun database mlegiity check?.

Update database statistics.

-"erforrn database backups transaction tons lo anoHw serve (Enterprise Ed*on] Рис. 13-40. Диалоговое окно Welcome To The Database Maintenance Plan Wizard Автоматизация административных задач Глава Щелкните Next. Если ваш сервер Ч главный, откроется окно Select Servers (рис.

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

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

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

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

Update Dala Optimisation Inform a lion As dale and inden pages fi. updating mquiiBi more lime Вемдашгеуои data and index pages lo rnwove parionnwice.

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

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

Specify Backup Dak Dnctлji Specify the director in which tc s'oie the 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) настраиваются параметры резервного копирования журнала транзакций. Например, при архивации на диск можно использовать каталог по умолчанию или указать другой каталог. Для каждой БД можно создать вложенные папки, и указать, что по истечении определен ного времени старые резервные копии следует удалять. Можно также указать расши рение файла резервной копии (по умолчанию Ч.trn).

Занятое 4 Создание плана обслуживания БД Specify the Transaction Log Backup Plan Specify Ihe lianiaclion ba backup plan to prevent '**""" ""d operator ЯГОР!

Рис. 13-47. Диалоговое окно Specify The Transaction Log Backup Plan Specify TiwiMctinn Log Backup Dnk Diecimy SpeoiljJthe fireclay in YJhtch to store Iha ItansaclLOfi log backup file Рис. 13-48. Диалоговое окно Specify Transaction Log Backup Disk Directory В окне Reports To Generate (рис. 13-49) укажите путь к папке, где будет храниться текстовый файл отчета с подробной информацией о выполнении этапов плана обслу живания БД, включая сведения об ошибках. Формат имени файла отчета Ч Названы еПланаОбыуживания_ТГГГММЩ\ЧЧММСС. Файлы отчетов можно записывать в ка талог по умолчанию или в другой каталог. Если это необходимо, укажите, что по ис течении определенного периода времени старые файлы отчетов должны удаляться.

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

432 Автоматизация административных задач Глава Report! to Generate Spedy Ihe director in wrtch la a c the reports genand by Ihe iwrton* Рис. 13-49. Диалоговое окно Reports To Generate Mtnlanance Plan Hiilny u ваш lo Ияс Ihe iruintsmnce plan iecmt 119* Рис. 13-50. Диалоговое окно Maintenance Plan History В окне Completing The Database Maintenance Plan Wizard можно задать имя нового плана обслуживании и просмотреть выбранные параметры. Чтобы изменить какой либо параметр, щелкните Back. Дня создания плана щелкните Finish (рис. 13-51).

Completing the Database Maintenance Plan Wizard You >nve competed He slew Ю cieale s daacaie rnair№nance plan The plan is deserted belcw Рис. 13-51. Ввод имени плана обслуживания Создание плана обслуживания БД Занятие Просмотр и редактирование планов обслуживания БД Есть два способа просмотреть и отредактировать созданный план обслуживания БД.

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

[Unalejo StchlE Hnter ОйгЬаи [urcalego Bacta* SSEtiCe TranHrtfcnLng Bллup Master Database Batatas;

CatabЩ.

DC Sa**> Jot la De wamtruntt Plan 55ЕЧ Harts.

Mabiii.

Inlegrly cheda :eb for OS Mantoiun Plan KIM.

DatabaK.

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

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

3SEMDB IWeiit. SELFP.._ Accounting Check Data...-/ 10^25/2HKI12:29'20PM SSEMOBMai*. SELFP. Ver*yBackup >/ 10/25/20001229.22!* Рис. 13-53. Просмотр журнала плана обслуживания БД Автоматизация административных задач Глава Использование утилиты Sqlmaint Создавать и выполнять планы обслуживания БД можно также при помощи утилиты командной строки 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 Plan Wizard позволяет легко автоматизировать основ ные задачи обслуживания, создавая входящие в них задания и расписание выполне ния этих задач. SQL Server Enterprise 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 и выберите Multi Server Administration\Make This A Master.

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

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

Welcome to the Make MSX Wizard This weed teles you make this server tvo a matin ИКЕ (MSXJ With this wcadjraibsn:

Х Cieale an operate named MSXO petal' Х Set SDL Sever secuntylo Widows and SQL Setver Authentication leprtcabte to Windows Seven) Start E3L Saver Agent Enlist othe> SOL Serveis as taget sei-en USX) Change the SQL Seivef and SQL SetЩ Agent seivbe accounts on (he target serveis to valid Widows nts (applicable tor Windows Selves or*j) Рис. 13-55. Диалоговое окно Welcome To The Make MSX Wizard Автоматизация административных задач Глава Create ХMSXOpeiatoi Specilji wtore lo send noMicalio-is.siHKialed iHi this account.

ICsrl&SslFacedSOL MSFT '''. ' ~ ''.'.'.'' J555131 г@гооЫе. net. mrft _Х'' ^ _ tPaosdCPl) Рис. 13-56. Диалоговое окно Create *MSXOperator' В окне Select Servers To Enlist (рис. 13-57) выберите из списка зарегистрирован ных серверов экземпляры SQL Server, которые будут перечислены в качестве подчи ненных. На каждом из выбранных серверов вы должны быть членом серверной роли sysadmin. Перечислить незарегистрированный сервер нельзя. Учетной записью служб SQL Server и SQL Server Agent на всех подчиненных серверах должна быть учетная запись пользователя домена (использование одной учетной записи на главном и под чиненных серверах упростит администрирование). Можно также регистрировать сер веры на лету.

Selocl Setvei Stfeclltei ring SQL defned il 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), перечислить данный экземпляр в качестве подчиненного сервера нельзя.

Занятие 5 Создание мультиеераерных заданий PiovKte Target 5лтл Dлcriptkm Specify a detcriphcti la each tat gat sava Рис. 13-58. Диалоговое окно Provide Target Server Description Completing the Make MSX Wizard Рис. 13-59. Диалоговое окно Completing The Make MSX Wizard По завершении работы мастера Make MSX Wizard службе SQL Server Agent на глав ном сервере задается имя MSX, а на подчиненных серверах Ч имя Т8Х:шия_г/ше ного_сервера (рис. 13-60).

Глава Автоматизация административных задач j Cлu TrmthmuliDn iavitss eЩnl 5=rn-r4i)4(I5<.5nfPFMIttPIJ) zkjp l fatrrt, IV: 3 5* Рис. 13-60. Главный и подчиненные серверы Создание заданий для подчиненных серверов На главном сервере можно создать задания и затем указать один или несколько под чиненных серверов, которым их следует передать. Определения заданий хранятся на главном сервере, и каждый подчиненный сервер получает их копии. Обновления цен тральной копии периодически передаются подчиненным серверам. Изменять свой ства таких заданий на подчиненных серверах нельзя.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Откроется окно Create 'MSXOperator'.

5. В поле Net Send Address введите SelfPacedCPU и щелкните Next.

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

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

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

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

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

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

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

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

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

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

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

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

12. В поле Name введите Backup All Master Databases.

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

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

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

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

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

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

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

18. В поле Command введите BACKUP DATABASE master TO DISK='C:\SQLBackups\ master.bak* и щелкните ОК.

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 по умол чанию и щелкните значок Multi Server Jobs.

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

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

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

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

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

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

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

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

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

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

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

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

36. Щелкните View Remote Job History.

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

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

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

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

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

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

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

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

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

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

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

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

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

2. Что можно предпринять, если задание не выполняется по расписанию?

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

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

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

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

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

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

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

Х компьютер с сетевым именем SelfPacedCPU, сконфигурированный как контрол лер домена SelfPacedSQL.MSFT;

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

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

Х таблица Customer БД SSEMDB, созданная при помощи сценария SSEMDB_Fu!l.sql.

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

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

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

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

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

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

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

Х с точки зрения сервера Ч максимизация общей пропускной способности (числа запросов, обрабатываемое им за определенный период времени).

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

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

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

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

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

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

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

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

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

Мониторинг производительности и активности 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.

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

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

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

Продолжительность занятия Ч около 15 минут Утилита System 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) добавлять собственные объекты, счетчики и экземпляры.

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

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

Locks на блокировку, генерируемых SQL Уменьшение числа блокировок Server, включая число случаев улучшает параллелизм и повышает истечения времени удержания производительность блокировки и число взаимоблокировок SQL Server: Общую информацию об использо- Обшее использование памяти Memory вании памяти, включая память различными объектами, а также Manager для соединений и блокировок, позволяет выявить нехватку ОЗУ доступную память и выделенную память Занятие 2 Средства мониторинга Табл. 14-1. (окончание) Объект произ- Счетчики объекта Объект позволяет оценить водительности показывают SQL Server SQL Server: Сведения о запросах Transact-SQL, Скорость компиляции запросов 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 и хранимых процедур.

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

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

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

Именем нового файла будет имя исходного файла трассировки плюс порядковый номер. Чтобы уменьшить размер трассировки, ограничьте число наблюдаемых собы тий и объем собираемых данных, Кроме того, ограничить объем данных;

о событии можно с помощью фильтров типа LIKE, NOT LIKE, EQUALS, NOT EQUALS, GREATER THAN OR EQUAL и LESS THAN OR EQUAL, применяемых к БД, пользо вателям, приложениям и т. д.

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

Табл. 14-2. Наборы событий, доступные для мониторинга при помощи SQL Profiler Набор Назначение Классы событий Cursors Создание, использование Мониторинг типов реально используемых и удаление курсоров курсоров Ч они не обязательно соответствуют типам, которые указало вызывающее приложение Database Автоматическое увеличе- Мониторинг автоматического увеличения ние и уменьшение раз- размера файлов данных и журнала мера файлов данных транзакций, позволяющий определить их и журнала транзакций подходящий размер и достичь максимальной производительности Errors and Ошибки и предупрежде- Мониторинг очередей ожидания доступа Warnings ния, например ошибки к ресурсу. Длинные очереди могут указывать компиляции хранимых на конфликтные ситуации. Кроме того, процедур и предупрежде- данный класс событий позволяет оценить ния об отсутствующей эффективность планов выполнения, статистике поля сгенерированных оптимизатором запросов Locks Наложение, отмена, Мониторинг конфликтов на основании типов повышение уровня и длительности блокировок. Класс также и снятие блокировки применяется для мониторинга взаимобло кировок и событий, связанных с истечением срока удержания блокировки. При трасси ровке событий могут генерироваться большие файлы Objects Создание, открытие, Мониторинг произвольного создания закрытие и удаление объектов пользователями и приложениями.

объектов При трассировке событий могут генериро ваться очень большие файлы Занятие 2 Средства мониторинга Табл. 14-2. (окончание) Набор Назначение Классы событий Performance Сведения графического Мониторинг эффективности выполнения плана выполнения, гене- запросов и работы оптимизатора запросов на основе перехвата дерева запросов, рируемого Query Optimi zer, а также выполнение определение цены плана выполнения операторов SQL-DML запроса, сбор статистики о выполнении запроса, мониторинг дерева плана запросов (Data Manipulation Lan guage, язык управления данными) Мониторинг типов операций сканирования Scans Сканирование таблиц и индексов конкретного объекта Мониторинг событий входа и выхода из Security Audit Аудит системы, изменения параметров, разрешений безопасности и паролей, а также событий резервного копирования и восстановления Мониторинг изменений объема используемой Server Изменение объема используемой памяти SQL Server памяти на 1 Мб или на 5% от максимального объема памяти сервера, в зависимости от того, какое из этих значений больше Мониторинг подключенных пользователей, Sessions Длительность каждого активности БД и затраченного времени пользовательского под процессора ключения и нагрузка на процессор, генерируемая передаваемыми по под ключению запросами Выполнение хранимых Мониторинг памяти, позволяющий Stored определить, достаточен ли ее объем.

процедур, включая число procedures Класс также используется для наблюдения промахов и попаданий за случаями использования хранимых в кэш, порядок выполне процедур приложениями ния, время удаления из кэша и время повторной компиляции Мониторинг типов записей, заносимых Выполнение транзакций Transactions в журналы приложениями. Класс также используется для наблюдения за подтверж дениями, откатами и распределенными транзакциями Сравнение точности результатов, полученных Выполнение операторов TSQL в ходе обычной работы и при тестировании и пакетов Transact-SQL приложения. Класс также применяется для мониторинга длительно выполняющихся событий, включая сведения о пользователях, передавших соответствующие запросы Мониторинг пользовательских событий, Custom defined Нестандартные события например отчетов о ходе работы приложения в определенные моменты его тестирования Мониторинг производительности и активности SQL Server Глава SQL Profiler позволяет использовать стандартные определения трассировок (шаб лоны) как есть или в качестве основы для создания собственных шаблонов. Шаб лон определяет, какую информацию о событии станет наблюдать и записывать SQL Profiler. В табл. 14-3 перечислены стандартные шаблоны трассировок, поставляемые с SQL Server 2000.

Табл. 14-3. Стандартные шаблоны трассировки из состава SQL Profiler Шаблон Соответствующая трассировка собирает SQLProfilerSP_Counts Сведения о числе выполненных хранимых процедур.

Результаты группируются по имени и содержат число запусков каждой процедуры SQLProfilerStandard Обшую информацию о выполненных SQL-пакетах и хранимых процедурах, а также об открытых ими подключениях. Резуль таты выводятся в порядке выполнения процедур и пакетов SQLProfilerTSQL Сведения о сгенерированных операторах Transact-SQL в порядке их выполнения, включая время генерации каждого оператора SQLProfilerTSQLJXiration Сведения о сгенерированных операторах Transact-SQL.

Результаты группируются по длительности выполнения (в миллисекундах) SQLProfilerTSQL_Grouped Сведения о сгенерированных операторах Transact-SQL.

Результаты группируются по пользователям, выполнявшим эти операторы SQLProfilerTSQL_Replay Подробные сведения о сгенерированных операторах Transact SQL, которые затем можно воспроизвести в SQL Query Analyzer. Используйте этот шаблон, чтобы собрать данные для последующего воспроизведения SQLProfilerTSQL_SPs Подробную информацию о всех выполняемых хранимых процедурах в порядке их выполнения, включая команды Transact-SQL каждой процедуры SQLProfilerTuning Сведения о всех выполненных хранимых процедурах и SQL пакетах, включая длительность выполнения и двоичные данные. Двоичные данные включают параметры уровня сеанса, тип используемого курсора и тип блокировки Примечание Для систем, прошедших сертификацию С2, утилита SQL Profiler поддер живает аудит безопасности на уровне С2 (уровне безопасности, определенном прави тельством США). Включить режим аудита С2 (С2 Audit Mode) можно с помощью си стемной хранимой процедуры sp_configure. Подробнее Ч в разделе С2 Audit Mode Option справочной системы SQL Server Books Online.

Утилита SQL Query Analyzer SQL Query Analyzer позволяет просматривать и анализировать план выполнения зап роса, на основе которого можно определить, эффективно ли обрабатывается запрос и эффективно ли используются индексы. Чтобы просмотреть план выполнения, введи те запрос в соответствующей панели и в меню Query выберите Show Execution Plan. В Занятие 2 Средства мониторинга панели результатов отобразится предполагаемый план выполнения запроса. Подроб нее об интерпретации выводимых результатов Ч в разделе Graphically Displaying the Execution Plan Using SQL Query Analyzer* справочной системы SQL Server Books Online. Детальное изучение планов выполнения запросов выходит за рамки этой книги.

Окно Current Activity консоли SQL Server Enterprise Manager В окне Current Activity отражается текущая информация о процессах, активности пользователей, удерживаемых процессами блокировках и блокировках, наложенных на объекты. Окно Current Activity позволяет вести произвольный мониторинг и вы являть заблокированные и блокирующие транзакции. Администратор может завер шить выбранный процесс или отправить пользователю, который выполняет вызыва ющую блокировку или взаимоблокировку транзакцию, сообщение. Можно также просмотреть список подключенных в данный момент пользователей и последние выполненные ими операторы. Кроме того, можно просмотреть все блокировки, на ложенные в данный момент на отдельные объекты БД.

* Использование Transact-SQL Мониторинг производительности и активности SQL Server 2000 можно также вести с помощью ряда операторов Transact-SQL. Эти операторы могут выводить сведения о производительности/использовании ресурса как в реальном времени, так и за опре деленный временной интервал.

Системные хранимые процедуры В табл. 14-4 перечислены системные хранимые процедуры для мониторинга произ водительности и активности SQL Server 2000.

Табл. 14-4. Системные хранимые процедуры для мониторинга производительности Системная Возвращает Наблюдаемый хранимая объект/операция процедура sp_who Список текущих пользователей и процессов, Активные пользователи включая выполняемую в данный момент и запущенные ими процессы команду sp_who2 Список текущих пользователей и процессов Активные пользователи и запущенные ими процессы с дополнительными столбцами (более удобочитаемый) Мешающие блокировки sp_lock Список текущих блокировок и взаимоблокировки, а также наложившие их процессы Использование дискового sp_spaceused Текущий объем дискового пространства, пространства БД и ее зарезервированный и используемый объектами таблицей или всей БД sp_monitor Данные статистики, включая загруженность Объем работы, выполненный системой за определенный процессора, подсистемы ввода Ч вывода, а также время простоя с момента последнего период времени выполнения процедуры sp_monitor Мониторинг производительности и активности SQL Server Глава Стоит также отметить, что все функции утилиты SQL Profiler можно осуществлять средствами системных хранимых процедур, включая sp_trace_create, sp_trace_j>enera teevent, sp_trace_setevent, sp_trace_ setfilter и sp_trace_setstatus.

Команды DBCC В языке Transact-SQL имеется ряд консольных команд БД (Database Console Commands, DBCCs), позволяющих проверять физическую и логическую согласованность БД, а также вести мониторинг SQL Server 2000. Практически все выявленные несогласо ванности можно устранить, указав параметр REPAIR. В табл. 14-5 перечислены ко манды DBCC, наиболее часто используемые для проверки согласованности БД и мо ниторинга статистики производительности.

Табл. 14-5. Команды DBCC для мониторинга SQL Server Команда Назначение DBCC CHECKCATALOG Проверяет, что каждому типу данных в таблице syscolumns соответствует запись в таблице systypes и что каждой таблице и представлению из таблицы sysobjects соответствует по крайней мене одно поле в таблице syscolumns DBCC CHECKDB Проверяет размещение и структурную целостность всех объектов указанной БД. Чтобы устранить незначительную несогласованность, укажите параметр REPAIR. Команда DBCC CHECKDB объединяет в себе функциональность команд DBCC CHECKALLOC и DBCC CHECKTABLE DBCC CHECKCONSTRAINTS Проверяет внешний ключ и определенные для таблицы ограничения DBCC CHECKFILEGROUP Функционирует аналогично DBCC CHECKDB, однако область действия этой команды ограничена отдельной указанной группой файлов и необходимыми таблицами DBCC В SQL Server 2000 Personal Edition и CONCURRENCYVIOLATION SQL Server 2000 Desktop Engine проверяет, сколько раз одновременно обрабатывалось более 5 пакетов. В этих редакциях SQL Server производительность ядра БД сильно ограничивается, когда пользователи одновременно запускают более 5 пакетов DBCC DROPCLEANBUFFERS Удаляет пустые буферы из пула буферов. Данная команда позволяет тестировать запросы при пустом буфере кэша без завершения работы и перезагрузки сервера DBCC OPENTRAN Выводит для указанной БД сведения о старейшей активной транзакции, а также информацию о старейшей распределенной и нераспределенной реплицированных транзакциях DBCC PROCCACHE Выводит информацию о содержимом кэша процедур, включая число хранимых процедур в кэше, число выполняющихся в текущий момент процедур, а также размер кэша процедур Средства мониторинга Замятие Табл. 14-5. (окончание) Команда Назначение DBCC SHOWCONTIG Выводит сведения о фрагментации данных и индексов таблицы DBCC SHOW_STATISTICS Выводит статистику для определенного объекта в указанной таблице DBCC SQLPERF (LOGSPACE) Выводит информацию об использовании памяти журналом транзакций во всех БД экземпляра SQL Server DBCC UPDATEUSAGE Исправляет ошибочные сведения о занимаемом дисковом пространстве в таблице sysindexes с помощью хранимой процедуры sp_spaceused Встроенные функции Transact-SQL включает несколько встроенных функций (также называемых глобаль ными функциями T-SQL), которые позволяют отслеживать специфические сведения об активности SQL Server, например статистику производительности о работе SQL Server с момента последнего запуска. Для просмотра этой информации используются предопределенные счетчики SQL Server, доступ к которым осуществляется с помо щью оператора SELECT. В табл. 14-6 перечислены наиболее часто используемые гло бальные счетчики T-SQL.

Табл. 14-6. Часто используемые глобальные счетчики T-SQL Счетчик С момента запуска SQL Server показывает Число подключений (включая попытки подключения) ййCONNECTIONS Время работы процессора в миллисекундах @@CPU_BUSY Время простоя SQL Server в миллисекундах @@IDLE @@IO_BUSY Время в миллисекундах, затраченное SQL Server на выполнение операций ввода Ч вывода Число пакетов ввода, считанных из сети @@PACK_RECEIVED Число пакетов вывода, переданных в сеть @@PACK_SENT Число ошибок обработки сетевых пакетов для всех @@PACKET_ERRORS подключений Число ошибок при выполнении операций чтения Ч записи @@TOTAL_ERRORS на диск Число операций чтения с диска (исключая операции чтения @@TOTAL_READ из кэша) Число операций записи на диск @@TOTAL WRITE Флаги трассировки Флаги трассировки в SQL Server 2000 отключены, и, по-видимому, в будущих верси ях этой СУБД поддерживаться не будут. Они позволяют временно включить/отклю чить определенные функции сервера. При использовании любого флага трассировки Мониторинг производительности и активности SQL Server Глава в журнал ошибок SQL Server заносится соответствующая запись, т. е. флаги полезны для отладки. Они применяются преимущественно разработчиками. О флагах упоми нают в статьях Microsoft Knowledge Base, и включить нужный флаг можно с помощью команды DBCC TRACEON. Например, включив флаг 3205, вы запретите аппаратное сжатие данных на ленточных накопителях. Подробнее о флагах трассировки Ч в книге Кэлин Дэлани (Kalen Delaney) Inside Microsoft SQL Server 2000 (Microsoft Press, 2000 г.).

Использование SNMP Протокол упрощенного управления сетью (Simple Network Management Protocol, SNMP) позволяет передавать управляющие сведения, включая статистику производительно сти и конфигурационную информацию, между платформами под управлением раз личных ОС. Средствами SNMP можно вести мониторинг только экземпляра SQL Server по умолчанию. На компьютерах Windows NT 4.0/2000, поддерживающих SNMP, SQL Server 2000 будет автоматически поддерживать данный протокол.

Резюме Утилита System Monitor позволяет наблюдать за ресурсами локального и удаленных компьютеров, используемых различными процессами сервера. Утилита Task Manager создает моментальный снимок использования ресурсов отдельными или всеми про цессами. С помощью утилиты SQL Profiler можно вести мониторинг специфичных для SQL Server событий и процессов. Утилита SQL Query Analyzer выводит предпола гаемый план выполнения, позволяющий проанализировать эффективность запросов.

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

' Занятие 3 Выполнение задач мониторинга Занятие 3. Выполнение задач мониторинга Мониторинг SQL Server 2000 включает выполнение различных задач по наблюдению за использованием ресурсов и специфическими событиями SQL Server. Здесь расска зывается о мониторинге использования памяти, подсистемы ввода Ч вывода и про цессора при помощи Windows 2000 System Monitor и Task Manager. Вы научитесь на блюдать за выполнением хранимых процедур и пакетов SQL с помощью утилиты SQL Profiler, а также вести мониторинг блокировок с использованием окна Current Activity консоли SQL Server Enterprise Manager и системных хранимых процедур.

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

S вести мониторинг использования ресурсов с помощью System Monitor и Task Manager;

^ наблюдать за хранимыми процедурами, пакетами Transact-SQL и активностью пользователей при помощи SQL Profiler;

S просматривать мешающие блокировки и взаимоблокировки с использованием окна Current Activity и системных хранимых процедур.

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

Утилита Task Manager Для мониторинга использования ресурсов с помощью Task Manager щелкните панель задач Windows правой кнопкой и выберите Task Manager. Можно также нажать ком бинацию клавиш Ctrl+Alt+Del и затем в окне Windows Security щелкнуть кнопку Task Manager. Чтобы просмотреть сведения об использовании ресурсов отдельными про цессами, перейдите на вкладку Processes (рис. 14-1).

По умолчанию на вкладке Processes отображается пять столбцов с информацией.

Чтобы упорядочить информацию по какому-нибудь столбцу, щелкните его заголо вок. Заметьте: на рис. 14-1 информация упорядочена по объему памяти, используе мому процессами. Чтобы добавить дополнительные столбцы, выберите в меню View команду Select Columns (рис. 14-2).

Чтобы изменить частоту обновления или приостановить вывод информации, в меню View утилиты Task Manager выберите Update Speed. В меню Options можно ука зать, должно ли окно Task Manager отображаться на рабочем столе поверх других окон (задано по умолчанию) и должна ли утилита Task Manager при свертывании отобра жаться в панели задач Windows (задано по умолчанию).

Чтобы просмотреть сведения об использовании ресурсов компьютера всеми про цессами, перейдите на вкладку Performance (рис. 14-3).

Глава Мониторинг производительности и активности SQL Server SлtЩ И Process WrWgmt.sxe Syst SMSS.EXE locator. exe bsrv.exe svchost.exe WIW.O60N.Effi service!. fl>e L5A55.EXE afcarvr.exe Рис. 14-1. Вкладка Processes окна Task Manager Рис. 14-2. Добавление дополнительных столбцов В группе Totals отображаются сведения об использовании процессора: обшее чис ло дескрипторов, потоков и процессов. Информация об использовании памяти ото бражается в трех группах: Commit Charge (К) Ч объем выделенной памяти, включая виртуальную, Physical Memory (К) Ч объем физической памяти, Kernel Memory (К) Ч объем памяти ядра. Заметьте: на рис. 14-3 максимальный объем выделенной памяти превышает объем физической памяти компьютера. Это означает, при установке до полнительных модулей ОЗУ производительность системы может возрасти.

Примечание В процессе работы Task Manager значок этой утилиты в панели задач всегда отображает общую загруженность процессора.

Занятие 3 Выполнение задач мониторинга Рис. 14-3. Вкладка Performance окна Task Manager Утилита System Monitor Для мониторинга использования ресурсов с помощью System Monitor раскройте меню Start\Programs\Administrative Tools и выберите пункт Performance. System Monitor Ч это оснастка консоли Performance (рис. 14-4).

Perforriarice Logs and rtte-ts $ Counter logs Я Trace Log!

"Ш Alert;

Рис. 14-4. Консоль Performance с оснасткой System Monitor System Monitor отображает значения счетчиков выбранных объектов производи тельности, а также значения отдельных счетчиков и экземпляров. Это могут быть те кущие значения, снимок значений на конкретный момент времени или значения из сохраненного журнала счетчиков (Counter Log). Чтобы добавить в System Monitor новые счетчики, в панели инструментов щелкните кнопку Add. Откроется диалого вое окно Add Counters (рис. 14-5). Заметьте: можно использовать счетчики локально го компьютера.

Значения счетчиков можно просматривать в виде диаграммы, гистограммы или отчета, щелкая соответствующие кнопки панели инструментов (рис. 14-6, 14-7, 14-Я).

Глава Мониторинг производительности и активности SQL Server Рис. 14-5. Добавление счетчиков в System Monitor Repl. Pending met!

1, 1.000 Rep(, Irani, Bats SSEMDB 0.00... ShttikDataMovijment Bytes... SZMDB 1.000 ТгакасЬоп^яс 55ЕМЧВ Рис. 14-6. Просмотр диаграмм в System Monitor Repl. tending Kadi 1.000 55EMM 1.000 Repl. Trans, Rahe 5SEMW D.OO... StirirkDetaMovemertBytл... 55EMDB i.OOO TrsnsacOcnsysec ssEMoe Рис. 14-7. Просмотр гистограмм в System Monitor Выполнение задач мониторинга Занятяе Рис. 14-8. Просмотр отчета в System Monitor Чтобы выделить на диаграмме или гистограмме значения счетчика белым цветом, выберите нужный счетчик и в панели инструментов щелкните кнопку Highlight или нажмите комбинацию клавиш Ctrl+H. Выделить значения двух и более счетчиков одновременно нельзя. Чтобы зафиксировать значения счетчика на конкретный мо мент времени для последующего анализа, в панели инструментов щелкните кнопку Freeze Display. Для настройки параметров System Monitor щелкните кнопку Properties в панели инструментов System Monitor (не в панели инструментов консоли Perfor mance). В открывшемся окне можно изменить частоту обновления (по умолчанию она составляет 1 сек) и параметры отображения значений счетчика.

Чтобы создать журнал значений счетчика для последующего анализа, раскройте узел Performance Logs And Alerts, щелкните узел Counter Logs правой кнопкой и вы берите New Log Settings. В окне New Log Settings введите имя нового файла журнала.

Затем откроется окно NewLogFile (рис. 14-9).

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

Мониторинг производительности и активности SQL Server Глава \\SELFPACEOCPLJ \MmaylAveiat4e KBytes \\SELFPACE О CPU \MeЩyAvA)t4e МВЦя \\SELF PACE D CPU 1МЩ|ЛСасК V\SELFMCEDCftftMM(#CKhi В/et Peak О '..'..] Хт?*** *.

Рис. 14-9. Создание журнала счетчика использования памяти Объекты и счетчики памяти Периодически проверяйте, достаточен ли объем ОЗУ компьютера для выполняющих ся на нем процессов. Признаки недостаточного объема ОЗУ Ч нехватка свободной памяти и запись страниц памяти на диск. Следует одновременно оценивать значения нескольких счетчиков. Возможно, вам также потребуется определить процессы, за нимающие память, и изолировать память, используемую непосредственно SQL Server.

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

В табл. 14-7 перечислены наиболее важные счетчики объектов памяти, она помо жет вам интерпретировать полученные значения.

Табл. 14-7. Счетчики объектов памяти Объект\счетчик Отображает Интерпретация значений Memory \ Available Текущий доступный Маленькое значение, как правило, свиде MBytes объем памяти в тельствует о нехватке памяти или о том, мегабайтах что приложения не освобождают память Memory \ Pages/sec Число страниц, счи- Большое значение (выше 20), как правило, танных с диска, или свидетельствует об избыточной подкачке записанных на диск страниц из-за нехватки памяти из-за неустранимых ошибок страниц PhysicalDisk \ Avg. Средний размер Если рост очереди диска не сопровождается Disk Queue Length очереди диска уменьшением числа операций чтения Ч записи страниц памяти, это указывает на нехватку ОЗУ Занятие 3 Выполнение задач мониторинга Табл, 14-7. (окончание) О6ъект\счетчик Отображает Интерпретация значений Memory \ Page Обшая скорость обра- Если высокому значению данного счетчика Faults/sec ботки процессором сопутствует низкое значение соответству ющего счетчика для SQL Server, это ошибок страниц указывает, что SQL Server не является причиной нехватки памяти Process \ Page Частота генерации Если низкому значению данного счетчика Faults/sec for the ошибок страниц, сопутствует высокое значение счетчика SQL Server вызванных процессом Memory \ Page Faults/sec, это указывает, instance SQL Server конкрет- что SQL Server не является причиной ного экземпляра нехватки памяти SQL Server SQL Server: Me- Общий текущий Если значение этого счетчика практически mory Manager \ объем динамической всегда близко к общему объему ОЗУ памяти, используемой Total Server компьютера (или заданному для SQL Server Memory (KB) SQL Server для буфера максимальному объему памяти), необхо памяти дима дополнительная память Process \ Working Общее текущее число Значение данного счетчика позволяет байт в рабочем наборе определить максимальный объем памяти, Set for the SQL Server instance экземпляра SQL Server необходимый SQL Server при текущей нагрузке Процент страниц, най- Стандартное значение этого счетчика SQL Server: Buffer Manager \ Buffer денных в буфере кэша должно превышать 90%. В противном случае необходимо увеличить объем Cache Hit Ratio (без чтения с диска) памяти Низкое значение может указывать на SQL Server: Buffer Общее число страниц нехватку памяти под буферный пул Manager \ Total в буферном пуле (включая страницы Pages данных, свободные и удаленные из буфера страницы) Примечание Если жесткий диск разбит на несколько разделов, вместо счетчиков объ екта PhysicalDisk используйте счетчики объекта LogicalDisk. Счетчики физического диска включены по умолчанию. Счетчики логических дисков можно включить с помо щью команды Diskperf -yv;

затем следует перегрузить компьютер.

Объекты и счетчики подсистемы ввода Ч вывода Перегруженные дисковые подсистемы Ч одна из наиболее распро-страненных про блем производительности SQL Server. Из-за того, что число операций ввода Ч выво да у жесткого диска ограничено, возникают очереди диска и снижается общая произ водительность системы. В большинстве случаев эту проблему можно решить, развер нув RAID-массив или добавив в него новые диски. Тем не менее большое число опе раций дискового ввода Ч вывода может быть вызвано нехваткой памяти и неэффек тивными запросами. Табл. 14-8 содержит перечень наиболее важных счетчиков объек Мониторинг производительности и активности SQL Server Глава тов подсистемы ввода Ч вывода, и поможет вам интерпретировать полученные зна чения.

Табл. 14-8. Счетчики объектов подсистемы ввода Ч вывода Интерпретация значений Объект\счетчик Отображает PhysicalDisk \ % Если вялому обмену страницами памяти Период, в течение ко Disk Time торого процессор был с диском сопутствуют интенсивное использо занят операциями вание и большая очередь диска, это указы чтения Ч записи вает, что диск является лузким местом производительности. При использовании RAID-устройства или программируемого контроллера дисков значение данного счетчика может превышать 100% PhysicalDisk \ Avg. Число запросов чте- Если вялому обмену страницами памяти Disk Queue Length ния Ч записи,стоя- с диском сопутствуют интенсивное исполь щих в очереди на зование и большая очередь диска, это доступ к диску указывает, что диск является лузким* местом производительности. Очередь диска, превы шающая число его шпинделей в 1,5Ч2 раза, также свидетельствует, что диск является лузким местом производительности PhysicalDisk \ Текущий размер Значение этого счетчика в сочетании со Current Disk очереди диска значением счетчика PhysicalDisk \ Avg.

Queue Length Disk Queue Length позволяет определить, является ли диск лузким местом производительности PhysicalDisk \ Avg Среднее время на Задержка диска, превышающая 15Ч20 мсек, Disk/sec Write запись данных на диск указывает, что диск является лузким местом (задержка диска) производительности PhysicalDisk \ Avg Среднее время на чте- Задержка диска, превышающая 15Ч20 мсек, Disk/sec Read ние данных с диска указывает, что диск является лузким местом производительности PhysicalDisk \ Disk Число операций запи- Если сумма операций чтения и записи на Writes/sec си на диск в секунду диск далека от пропускной способности жесткого диска и задержка диска высока, диск, скорее всего, поврежден. Если же эта сумма слишком близка к пропускной способ ности диска, он, по-видимому, является лузким местом производительности PhysicalDisk \ Disk Число операций чте- Если сумма операций чтения и записи на Reads/sec ния с диска в секунду диск далека от пропускной способности жесткого диска и задержка диска высока, он, скорее всего, поврежден. Если же эта сумма слишком близка к пропускной способности диска, он, по-видимому, является лузким местом производительности Занятие 3 Выполнение задач мониторинга Объекты и счетчики процессора Недостаточно мошный процессор также является распространенной проблемой про изводительности. Решить ее можно, установив дополнительные процессоры или за менив старые на более мощные. Однако лузким местом производительности могут быть и нехватка ОЗУ (приводящая к интенсивной записи страниц памяти на диск и создающая повышенную нагрузку на процессор) или неэффективные операторы (чрезмерно загружающие процессор). Табл. 14-9 содержит перечень наиболее важ ных счетчиков объектов процессора, и поможет вам интерпретировать полученные значения.

Табл. 14-9. Счетчики объектов процессора Объект\счетчнк Отображает Интерпретация значений Processor \ % Время, расходуемое Значение счетчика, превышающее 75%, Processor Time процессором на вы обычно указывает, что процессор является полнение активных лузким местом производительности. Если потоков значение превышает 60%, стоит задуматься об установке более мощных процессоров System \ Processor Число потоков в Значение счетчика, постоянно превышаю Queue Length очереди процессора шее 2, обычно указывает, что процессор является лузким местом производительности Упражнение 1. Мониторинг системы с помощью утилит System Monitor и Task Manager В этом упражнении вы с помощью утилит System Monitor и Task Manager бу дете наблюдать за использованием ресурсов системы, > Чтобы вести мониторинг использования ресурсов системы при помощи System Monitor и Task Manager 1. Убедитесь, что вы зарегистрировались на контроллере домена SelfPacedSQL.MSFT под учетной записью Administrator.

2. Сверните все запущенные приложения.

3. Щелкните панель задач Windows правой кнопкой и выберите Task Manager.

Откроется окно Windows Task Manager.

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

Обратите внимание на данные о числе процессов и использовании памяти, в час тности, на разницу между значением Total Physical Memory и значениями Total Commit Charge и Peak Commit Charge. Она указывает, достаточен ли объем памяти компьютера.

5. В меню Options выберите Hide When Minimized и затем сверните окно Windows Task Manager.

6. В меню Start выберите Run.

7. В поле Open введите C:\SeIfPacedSQL\CH_14\Monitor.msc и щелкните ОК.

Откроется предварительно сконфигурированная консоль Performance;

значения счетчиков объектов производительности будут представлены в виде отчета. Вни мательно просмотрите значения счетчиков.

Глава Мониторинг производительности и активности SQL S&tver 8. В панели инструментов консоли Performance щелкните Freeze Display.

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

9. В меню Start выберите Run.

10. В поле Open введите C:\SelfPacedSQL\CH_14\Monitor.msc и щелкните ОК.

Появится вторая консоль Performance в той же конфигурации.

11. Щелкните панель задач Windows правой кнопкой и выберите Tile Windows Vertically.

12. В меню Start выберите Run.

13. В поле Open введите C:\SelfPacedSQL\CH_14\Load.bat и щелкните ОК.

Утилита OSQL запустит в окне MS-DOS сценарий LoadlnLoop.sql.

14. Сверните окно MS-DOS.

Заметьте, как влияет нагрузка на счетчики объектов производительности. Срав ните значения счетчиков в левой и правой консолях System Monitor. Обратите внимание на загруженность диска. Определите, достаточен ли объем ОЗУ вашего компьютера и требуется ли модернизировать процессор.

15. Дважды щелкните значок Task Manager в панели задач Windows, Откроется окно Windows Task Manager.

Обратите внимание на данные о числе процессов и использовании памяти, в час тности, на разницу между значением Total Physical Memory и значениями Total Commit Charge и Peak Commit Charge. Достаточен ли объем памяти вашего компь ютера?

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

17. Закройте окно Windows Task Manager, а также окна обеих консолей Performance.

Мониторинг хранимых процедур, пакетов Transact-SQL и активности пользователей Для наблюдения за хранимыми процедурами и пакетами Transact-SQL раскройте меню Start\Programs\Microsoft SQL Server и выберите SQL Profiler (рис. 14-10).

Рис. 14-10. Утилита SQL Profiler Можно создать новую трассировку, новый шаблон или открыть имеющийся файл трассировки для воспроизведения и анализа. Чтобы создать трассировку, щелкните кнопку New Trace в панели инструментов (или в меню File выберите New\Trace). За Занятие 3 Выполнение задач мониторинга тем в окне Connect To SQL Server введите имя экземпляра SQL Server, на котором требуется вести трассировку событий SQL Server. Откроется окно Trace Properties (рис. 14-11).

Х',r^'-l>""-i ' idfcw* Г Sew-- srlraeesB Рис. 14-11. Вкладка General диалогового окна Trace Properties На вкладке General можно создать новое определение трассировки или восполь зоваться одним из стандартных шаблонов. В поле Trace Name введите описательное имя нового определения трассировки. Укажите, куда следует записывать регистриру емые данные Ч в файл или в таблицу, и задайте максимальный объем собираемой информации. Если данные трассировки сохраняются в файл, по умолчанию разре шено создание нового файла после переполнения старого. Можно также задать вре мя прекращения трассировки.

На вкладке Events можно выбрать нужные события (классы событий) SQL Server из разных наборов. В зависимости от шаблона, некоторые классы событий могут быть уже выбраны (рис. 14-12).

На вкладке Data Columns можно добавить или удалить столбцы данных для сбора нужной информации Ч в разных ситуациях необходимы разные сведения. Поместив один или несколько столбцов данных в набор Groups, можно сгруппировать вывод по нужному столбцу или комбинации столбцов. Переместить столбец вверх по спис ку можно с помощью кнопки Up. Чтобы задать порядок столбцов в выводе, восполь зуйтесь кнопками Up и Down (рис. 14-13).

На вкладке Filters можно выбрать события для трассировки. Заметьте: по умолча нию события SQL Profiler не регистрируются (рис. 14-14). Можно также исключить все события, связанные с доменной учетной записью службы SQL Server.

Чтобы исключить события SQL Server, связанные с системными объектами, по метьте флажок Exclude System IDs. В результате вы получите ту информацию, кото рую собирались анализировать. Кроме того, значительно уменьшится размер файла трассировки, поскольку события доступа к системным объектам составляют от 50% до 75% событий трассировки. Для начала трассировки щелкните кнопку Run.

Глава Мониторинг производительности и активности SQL Server Рис. 14-12. Вкладка Events диалогового окна Trace Properties Рис. 14-13. Вкладка Data Columns диалогового окна Trace Properties В собранных данных можно искать интересующие вас строки и последовательно сти. Для этого в панели инструментов щелкните кнопку Find String. Можно также сохранить шаблон трассировки для дальнейшего использования или сохранить полу ченные данные для последующего анализа и сравнения, выбрав в меню File команду Save As.

Для разных типов трассировок нужно создавать отдельные шаблоны.

Х Длительные запросы Ч пометьте все столбцы данных из наборов TSQL и Stored Procedure. Сгруппируйте их по столбцу Duration и отфильтруйте по столбцу Length of time.

Занятие 3 Выполнение задач мониторинга ] :

--Ц,,!-,,-. rtoi la -I.i(,.(i..,iri4v !*., гД-ег,1* и -' Рис. 14-14. Вкладка Filters диалогового окна Trace Properties Х Производительность хранимых процедур Ч пометьте все столбцы данных из на бора Stored Procedure. Регистрация может осуществляться как для отдельной (сле дует указать критерий ObjectID), так и для всех хранимых процедур. Сгруппируй те столбцы по ClientProcessID.

Х Источник взаимоблокировки Ч пометьте все столбцы данных из наборов TSQL и Stored Procedure. Сгруппируйте их по столбцу EventClass. Чтобы ограничить об ласть поиска конкретной БД, воспользуйтесь критерием Database ID.

Х События входа и выхода из системы Ч пометьте столбцы данных EventClass, EventSubClass, LoginSID и Login из класса событий Security Audit\Audit Login.

Х Активность отдельного пользователя Ч пометьте все столбцы данных из класса Sessions\ExistingConnection и набора TSQL. Сгруппируйте их по параметру DB UserName.

Упражнение 2. Мониторинг пакетов SQL и хранимых процедур В этом упражнении вы с помощью SQL Profiler будете наблюдать за пакетами Transact-SQL и хранимыми процедурами.

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

2. Раскройте меню Start\Programs\Microsoft SQL Server и выберите SQL Profiler.

Запустится утилита SQL Profiler.

3. В панели инструментов щелкните New Trace.

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

4. Убедитесь, что установлен переключатель Windows Authentication. Затем щелкни те (Ж, чтобы подключиться к экземпляру SQL Server по умолчанию на компьюте ре SelfPacedCPU.

472 Мониторинг производительности и активности SQL Server Глава Откроется окно Trace Properties 5. В поле Trace Name введите Duration.

6. В списке Template Name выберите SQLProfilerTSQL_Duration и затем перейдите на вкладку Events.

Заметьте: регистрируются только классы событий RFC:Completed и SQL:Batch Completed.

7. Перейдите на вкладку Data Columns.

Заметьте: выбранные столбцы данных сгруппированы сначала по столбцу Event>

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

Заметьте: события, генерируемые SQL Profiler, исключены.

9. Раскройте узел DatabaseName, затем Ч Like.

10. В поле Like введите Northwind.

11. Раскройте узел Duration, затем Ч Greater Than Or Equal.

12. В поле Great Than Or Equal введите 100.

13. Щелкните Run.

Трассировка Duration начнет выполняться.

14. Щелкните кнопку SQL Query Analyzer в панели инструментов.

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

15. Убедитесь, что установлен переключатель Windows Authentication. Затем щелкни те ОК, чтобы подключиться к экземпляру SQL Server по умолчанию на компьюте ре SelfPacedCPU.

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

16. Щелкните кнопку Load SQL Script в панели инструментов Откроется окно Open Query File.

17. Откройте файл Duration.sql из папки C:\SelfPacedSQL\CH_14.

Откроется сценарий Transact-SQL, который выполняет множество операторов SELECT, требующих различного количества времени на завершение.

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

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

Обратите внимание на отображаемые в трассировке операторы SELECT.

20. Щелкните оператор SELECT, для выполнения которого требуется больше всего времени.

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

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

Откроется окно свойств трассировки Duration.

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

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

23. Щелкните Cancel.

24. Щелкните кнопку Stop Selected Trace в панели инструментов.

25. Закройте SQL Profiler. He закрывайте утилиту SQL Query Analyzer.

Занятие 3 Выполнение задач мониторинга Мониторинг текущих блокировок и активности пользователей Чтобы просмотреть текущие сведения о блокировках и активности пользователей, в девере консоли SQL Server Enterprise Manager раскройте контейнер Management нуж ного экземпляра SQL Server, затем Ч контейнер Current Activity (рис. 14.15).

'Х' 9 ICTMuft SQL Servers Locks t Locki t Obiett Prixess ID rtCEDCPu (Windows NT) т Cj Databases IE i_J Data Transformation Services 3 S3 Management SQL Server Agent (M5W 6cl ah Д w., * spid 56 (Blocted By 53) ^3 L"*s / Object master dbo.spt_velues ms SSEMDB SSEMDB.rfto. Customer :emp*.dbo,л|od

Рис. 14-16. Левая половина окна Process Info Примечание Чтобы обновить отображаемую информацию, щелкните контейнер Cur rent Activity правой кнопкой и выберите команду Refresh.

Глава Мониторинг производительности и активности SQL Server Рис. 14-17. Правая половина окна Process Info В табл. 14-10 описаны сведения, отображаемые в контейнере Process Info.

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