17 января Microsoft выпустила пакет исправлений SQL Server 2000 Service Pack 3 (SP3). Возникает неизбежный вопрос: устанавливать или нет? Специалисты службы SQL Server Product Support Services (PSS) рекомендуют применить последний пакет обновлений, даже если пользователю неизвестно, какая из программ коррекции необходима именно ему. Я всегда устанавливаю пакеты обновлений, так как обидно потратить многие часы на поиск неисправности, а потом обнаружить, что она устранена в последнем SP. Однако некоторые администраторы баз данных предпочитают подождать несколько недель, почитать сообщения в тематических конференциях и убедиться, что новый пакет не создает проблем. Некоторым пользователям SQL Server с высокими требованиями к доступности приходится подолгу ждать удобного момента, чтобы применить пакет обновлений. Недавно в тематической конференции было опубликовано сообщение о том, что одной компании потребовалось 8 месяцев, чтобы протестировать и развернуть SP2 на одной из своих важнейших систем.

"Все работает - не трогай!" - вот благоразумный подход к обслуживанию сервера. Пакеты обновлений SQL Server представляют особую опасность, так как их трудно удалить. Чтобы избавиться от SP3 (подобно SP1 и SP2), нужно удалить SQL Server, а затем установить продукт с нуля. Несомненно, прежде чем применить пакет обновлений на рабочем сервере, необходимо иметь продуманный план восстановления вместе с протестированными резервными копиями. Хороший системный администратор должен, как врач, действовать по принципу "не навреди" при принятии решения, которое повлияет на стабильность или доступность вверенных ему систем.

Однако после установки SP3 администратор получает все преимущества модернизации. Главное назначение пакетов обновлений - исправлять ошибки, но в пакетах SQL Server регулярно появляются новые функции, и SP3 - не исключение. В разделе 5.1 файла readme.txt, Database and Desktop Engine Enhancement, приведен полный обобщенный список дополнительных функций всех пакетов обновлений SQL Server 2000. Особенно интересна одна новая функция SP3 - fn_get_sql(). Данная функция похожа на старую команду INPUTBUFFER. С помощью каждой из функций можно узнать, какое предложение SQL исполняется данным SPID, но fn_get_sql() мощнее. DBCC INPUTBUFFER показывает лишь первые 255 символов предложения SQL и только на верхнем уровне иерархии в случае наличия вложенности. Fn_get_sql() позволяет увидеть исполняемое предложение SQL целиком, даже если оно вложено в несколько вызовов процедур. Например, если процедура с именем Proc1 вызывает Proc2, то с помощью DBCC нельзя узнать, когда выполняется Proc2. А fn_get_sql() показывает момент вызова Proc2.

На главной странице загрузки SP3 сообщается, что пакет содержит "новый API мониторинга", с помощью которого администраторы баз данных могут диагностировать проблемные процессы. Имеется в виду fn_get_sql(), это полезная функция, но ее вряд ли можно назвать API мониторинга. Некорректное использование термина создает путаницу и порождает дискуссии в тематических конференциях по SQL Server. Пользователи тщетно пытаются найти документацию по несуществующему API.

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

Даже если компания не намерена немедленно применять SP3 ни на одном из своих серверов, рекомендуется посетить сайт загрузки SP3. Вместе с SP3 компания Microsoft выпустила обновленный вариант руководства SQL Server Books Online (BOL) и новые примеры для SQL Server. Все загружаемые файлы, списки исправлений и документы readme можно найти по адресу

http://www.microsoft.com/sql/downloads/2000/sp3.asp.

Последнее замечание: познакомьтесь с последними публикациями о "черве" SQL Slammer по адресу http://www.microsoft.com/security/slammer.asp и внесите в системы соответствующие изменения. В последнем бюллетене описана программа коррекции, которая устраняет ошибку в SQL Server, впервые обнаруженную и исправленную специалистами Microsoft летом 2002 г. "Червь" SQL Slammer не распространился бы столь быстро, если бы администраторы SQL Server - и некоторые их коллеги в Microsoft - своевременно применяли исправления для системы безопасности.

Брайан Моран - Президент группы пользователей и директор по технологиям СУБД Spectrum Technology Group. Имеет сертификаты MCSE, MCSD и MCT. Ему можно написать по адресу: brian@spectrumtech.com.