Я уже рассказывал о пакете исправлений для SQL Server 2000 Service Pack 1 (SP1) и заодно поделился некоторыми мыслями о пакетах исправлений вообще. Мне пришло немало писем от читателей, которые со мной не согласились. Но хитрые консультанты никогда не признают, что были не правы. Скажем так: мое первоначальное рассуждение было вполне логичным, но основывалось на ряде предположений, а те, возможно, не в полном объеме соответствовали широкому спектру бизнес-сценариев, с которыми приходится работать пользователям SQL Server.

Я рекомендовал устанавливать последнюю версию пакета исправлений, даже если вам неизвестно, какие проблемы она решает. Я остаюсь при своем мнении по существу, но хотел бы кое-что уточнить.

Прежде всего, я скорее отношусь к администраторам-разработчикам, нежели к администраторам рабочих систем. Эти роли сильно различаются, и я уверен, что в разных случаях пользователь должен работать с пакетом исправлений по-разному. Применять пакеты исправлений следует преимущественно для налаживаемых систем либо для часто модифицируемых. Существующая программа, возможно, и не содержит ошибок, подлежащих исправлению с помощью новейшего пакета, но если вы все время переписываете программу, то вскоре, возможно, натолкнетесь на одну из ошибок. Если вам когда-либо приходилось общаться с инженерами телефонной службы поддержки Microsoft, то вы должны знать, что первый вопрос, который они задают - <Какой Service Pack вы используете?>. Если сотрудники службы поддержки не могут быстро найти решение проблемы, обычно они предлагают проверить, не решает ли ее последний пакет исправлений. Лично я предпочитаю устанавливать пакеты исправлений в спокойной обстановке, когда все работает, а не в аварийном режиме. Если же вы имеете хорошо отлаженную базовую программу (например, в производственной сфере), то она, вероятно, в ближайшее время не будет меняться. В таком случае народная мудрость гласит: <не пытайся чинить то, что не ломалось>.

Заплатки системы безопасности являются исключением из вышеозначенного правила. Знали ли вы, что Microsoft выпустила две программы коррекции уязвимых мест системы защиты SQL Server 2000? Знали ли вы, что обе они включены в состав SQL Server 2000 SP1? Я не люблю усложнять себе жизнь, поэтому предпочитаю следить за тем, какие версии пакетов исправлений я использую, вместо того, чтобы проверять, все ли мои серверы имеют нужные заплатки. Бюллетени безопасности по всем продуктам Microsoft можно найти на сайте компании: http://www.microsoft.com/technet/treeview/default.asp?url=/ technet/itsolutions/security/current.asp.

Следующий комментарий читателя затронул два других важных момента: <Как можно оправдать не в меру оптимистично настроенных пользователей, устанавливающих новый пакет исправлений через 10 дней после его публикации на сайте? Откуда они могут знать, что в этот момент программа коррекции не создает больше ошибок, чем исправляет? Мой опыт работы с такими выпусками не дает мне стопроцентной уверенности. Если вам не нужна какая-то отдельная часть такого выпуска, я рекомендую следующее: во-первых, не обращаться к программе в течение 30-60 дней, пока ее качество не будет как следует оценено, во-вторых, устанавливать ее как часть более широкой программы обслуживания с формальным тестом и планом восстановления в случае сбоя>.

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

Наконец, я не могу не подчеркнуть важность наличия плана действий на случай сбоя. Прочтите файл Readme.txt для SQL Server 2000 SP1 и вы поймете, что простой процедуры удаления установленного пакета исправлений нет - потребуется полная переустановка SQL Server. Никогда не применяйте Service Pack к промышленной системе, пока не будете готовы восстановить SQL Server полностью из резервной копии, или до тех пор, пока не объясните самому высокому начальству, почему стратегически важное для вашей компании приложение внезапно перестало работать.


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