. Проверьте состояние своего экземпляра SQL Server 2005 SP2, поскольку недавно представители Microsoft объявили, что в пакете обновления SP2 есть "проблема". А как известно, У всякой проблемы есть другое название - просто ошибка.

 

В статье Microsoft "Microsoft SQL Server 2005 Service Pack 2 issue: Cleanup tasks run at different intervals than intended" (http://support.microsoft.com/kb/933508) дано подробное описание неисправности. Согласно этой статье, в RTM-версии SQL Server 2005 интервалы очистки измеряются в днях, неделях, месяцах или годах. Благодаря усовершенствованиям в SQL Server 2005 SP2, пользователи могут задавать интервал очистки в часах. Это удобно, но, по-видимому, изменения в интервалах привели к тому, что в первой версии SQL Server 2005 SP2 интервалы задачи очистки интерпретируются иначе, нежели изначальные параметры. В результате в ходе очистки информация может быть уничтожена раньше, чем предполагалось.

 

Кроме того, при совместном использовании различных версий инструментов и серверов могут возникать конфликты между интерпретациями интервалов очистки. В статье Microsoft подчеркивается, что SQL Server 2005 RTM, SQL Server 2005 SP1 и измененный пакет SQL Server 2005 SP2 совместимы. Однако   смешение этих версий с начальными выпусками SQL Server 2005 SP2 может привести к неверной интерпретации интервалов в новых и измененных задачах.

 

Естественно, преждевременное удаление данных - например, резервной копии - не самое приятное событие, поэтому неполадку требуется устранить как можно скорее. Исправление можно получить по адресу http://go.microsoft.com/fwlink/?LinkId=85124.

 

Данная проблема не затрагивает SQL Server 2005 RTM или SQL Server 2005 SP1. Кроме того, Microsoft включила данное исправление в состав SQL Server 2005 SP2 с 5 марта 2007 г. Поэтому устанавливать его следует только тем, кто загрузил и установил экземпляр SQL Server 2005 SP2 до 5 марта.

 

Как быть, если не удается точно вспомнить дату загрузки SP2? В той же статье Microsoft даны подробные инструкции по проверке версии нескольких файлов SP2, что позволит определить корректность SP2. Иметь две версии SP2 ни к чему, и чтобы избежать путаницы, предпочтительно было бы назвать новый пакет обновления SP2a или как-то иначе. Кроме того, обратите внимание, что номер версии SQL Server не меняется в зависимости от используемой версии SP2. Другими словами, направив запрос @@VERSION в экземпляр с корректным пакетом SP2, будет получено то же значение, что и для сервера с некорректным вариантом SP2. По-моему, это ошибка Microsoft, так как администраторам новых сайтов SQL Server трудно проверить корректность пакета обновления. Может быть, я и ошибаюсь. И, тем не менее, невозможно переоценить важность использования корректной версии SP2.

 

P.S. Если попытаться установить новый SP2 поверх старого, на сервере произойдет вулканическое извержение… Это, конечно, шутка. Сервер не взорвется, но новые файлы не будут установлены, а проблема - не устранена. А вот начальник действительно может взорваться, если будут потеряны важные данные. Удалить SQL Server 2005 SP2 нелегко, поэтому для экземпляров SP2, загруженных до 5 марта, необходимо применить исправление.