Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2008 с пакетом обновления 2 (SP2) в виде одного загружаемого файла. Поскольку исправления являются накопительными, каждый новый выпуск содержит все исправления и исправления для системы безопасности, которые были включены в предыдущий выпуск исправления SQL Server 2008 SP2.
Проблема
Рассмотрим следующий сценарий.
Вы можете выполнить одно из следующих действий
- Установите накопительный пакет обновления 2 для Microsoft SQL Server 2008 с пакетом обновления 2 (SP2) или более позднюю версию пакета накопительного обновления
- Обновление SQL Server 2008 до SQL Server 2008 с пакетом обновления 3 (SP3)
- Обновление SQL Server 2008 R2 до SQL Server 2008 R2 с пакетом обновления 1 (SP1) или более поздней версии пакета обновления
Вы создаете задание агента SQL Server в базе данных пользователя и устанавливаете тип расписания как "Запускать" автоматически при запуске агента SQL Server.
Перезапустите службу SQL Server.
В этом случае выполняется сбой задания агента SQL Server.
Причина
Эта проблема возникает из-за того, что база данных пользователей не завершена восстанавливаться при запуске задания. После установки накопительного пакета обновления 2 (SQL Server 2008 с пакетом обновления 2 (SP2), или после обновления SQL Server 2008 до SQL Server 2008 с пакетом обновления 3 (SP3), или после обновления SQL Server с 2008 R2 до SQL Server 2008 R2 с пакетом обновления 1 (SP1), агент SQL Server начинается сразу после завершения восстановления баз данных MSDB.
Примечание. Агент SQL Server следует запустить после восстановления всех баз данных.
Решение
SQL Server 2008 R2 с пакетом обновления 1 (SP1)
Исправление для этой проблемы впервые выпущено в накопительном пакете обновления 9. Для получения дополнительной информации о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2 с пакетом обновления 1, щелкните по следующему номеру статьи в базе знаний Майкрософт:
2756574 Накопительный пакет обновления 9 для SQL Server 2008 R2 с пакетом обновления 1 Примечание Поскольку сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления для системы безопасности, которые были включены в предыдущий выпуск исправления SQL Server 2008 R2 с пакетом обновления 1. Рекомендуется рассмотреть возможность применения последнего выпуска исправления, содержащего это исправление. Для просмотра статьи в базе знаний Майкрософт щелкните следующий номер статьи:
2567616 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2 с пакетом обновления 1
SQL Server 2008 с пакетом обновления 3 (SP3)
Исправление для этой проблемы было впервые выпущено в накопительном пакете обновления 7 для SQL Server 2008 с пакетом обновления 3 (SP3). Дополнительные сведения о том, как получить этот накопительный пакет обновления, см. в следующей статье базы знаний Майкрософт:
Накопительный пакет обновления 7 2738350 для SQL Server 2008 с пакетом обновления 3 (SP3) Так как сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления для системы безопасности, которые вошли в предыдущий выпуск исправления SQL Server 2008 с пакетом обновления 3. Рекомендуется рассмотреть возможность применения последнего выпуска исправления, содержащего это исправление. Для просмотра статьи в базе знаний Майкрософт щелкните следующий номер статьи:
2629969 Сборки SQL Server 2008 г., выпущенные после выпуска SQL Server 2008 с пакетом обновления 3 (SP3)
Накопительный пакет обновления 8 для SQL Server 2008 с пакетом обновления 2 (SP2)
Исправление для этой проблемы было впервые выпущено в накопительном пакете обновления 8 для SQL Server 2008 с пакетом обновления 2. Для получения дополнительной информации о том, как получить этот накопительный пакет обновления для SQL Server 2008 с пакетом обновления 2, откройте статью со следующим номером в базе знаний Майкрософт:
2648096 Накопительный пакет обновления 8 для SQL Server 2008 с пакетом обновления 2 (SP2). Примечание Так как сборки являются накопительными, каждый новый выпуск исправлений содержит все исправления и исправления для системы безопасности, которые вошли в предыдущий выпуск исправления SQL Server 2008 с пакетом обновления 2. Рекомендуется рассмотреть возможность применения последнего выпуска исправления, содержащего это исправление. Для просмотра статьи в базе знаний Майкрософт щелкните следующий номер статьи:
2402659 Сборки SQL Server 2008 г., выпущенные после выпуска SQL Server 2008 с пакетом обновления 2 (SP2)
SQL Server 2008 R2 с пакетом обновления 2 (SP2)
Исправление для этой проблемы было впервые выпущено в накопительном пакете обновления 2 для SQL Server 2008 R2 с пакетом обновления 2. Дополнительные сведения о том, как получить этот накопительный пакет обновления, см. в следующей статье базы знаний Майкрософт:
2740411 Накопительный пакет обновления 2 для SQL Server 2008 R2 с пакетом обновления 2 Примечание Поскольку сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления для системы безопасности, которые были включены в предыдущий выпуск исправления SQL Server 2008 R2. Рекомендуется рассмотреть возможность применения последнего выпуска исправления, содержащего это исправление. Для просмотра статьи в базе знаний Майкрософт щелкните следующий номер статьи:
2730301 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2 с пакетом обновления 2
Сведения о разделе реестра
Внимание! В этом разделе метод или задача содержит шаги по изменению реестра. Однако ошибки при изменении реестра могут привести к серьезным проблемам. Поэтому будьте внимательны, выполняя описанные действия. В качестве дополнительной меры предосторожности перед внесением изменений создайте резервную копию реестра. Тогда в случае возникновения проблемы вы сможете восстановить реестр. Дополнительные сведения о создании резервной копии и восстановлении реестра см. в следующей статье базы знаний Майкрософт:
322756 Резервное копирование и восстановление реестра WindowsПосле применения этого исправления необходимо сначала перезапустить службу агент SQL Server для затронутого экземпляра. Новый раздел реестра RecoveredDatabasesForAgentStartup создается при перезапуске службы. Этот раздел реестра определяет, ожидает ли агент SQL Server завершения восстановления баз данных пользователей, прежде чем приступить к заданию агента SQL Server.
Чтобы мы настроили этот раздел реестра, перейдите в раздел "Исправить для меня". Если вы предпочитаете настроить этот раздел реестра самостоятельно, перейдите в раздел "Позвольте мне исправить это самостоятельно".
Помощь в решении проблемы
Чтобы настроить этот раздел реестра автоматически, нажмите кнопку или ссылку "Исправить ". Затем нажмите кнопку "Выполнить " в диалоговом окне загрузки файла и следуйте инструкциям мастера исправления.
Заметки
- Перед запуском этого исправления необходимо установить исправление, описанное в статье базы знаний Майкрософт (KB) 2648096. Затем необходимо перезапустить службу агент SQL Server для затронутого экземпляра.
- Возможно, этот мастер будет доступен только на английском языке. Тем не менее, автоматическое исправление подходит также для версий Windows на других языках.
- Если вы работаете не на том компьютере, где возникла проблема, сохраните решение "Исправить" на флэш-накопителе или компакт-диске, а затем запустите его на компьютере, на котором возникла проблема.
Затем перейдите к разделу "Устранена ли проблема?".
Позвольте мне исправить это самостоятельно
Чтобы настроить раздел реестра RecoveredDatabasesForAgentStartup, выполните следующие действия.
Нажмите кнопку Пуск, нажмите кнопку Выполнить, введите команду regedit в поле Открыть и нажмите кнопку ОК.
Найдите и щелкните следующий подраздел реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.instance\SQLServerAgent\В области сведений щелкните правой кнопкой мыши RecoveredDatabasesForAgentStartup и выберите команду "Изменить".
В поле "Значение " введите ALL.
Примечание. По умолчанию запись реестра RecoveredDatabasesForAgentStartup имеет значение MSDB.
Закройте редактор реестра.
Примечание. Если для записи реестра RecoveredDatabasesForAgentStartup задать значение, отличное от MSDB или ALL, в журнале агента SQL Server записывается предупреждающее сообщение, и агент SQL Server ожидает только базу данных MSDB.
Проблема решена?
- Проверьте, устранена ли проблема. Если проблема устранена, вы закончили чтение этого раздела. Если проблема не устранена, вы можете обратиться в службу поддержки.
- Мы будем признательны за ваши отзывы. Чтобы оставить отзыв или сообщить о любых проблемах с этим решением, оставьте комментарий в блоге "Исправьте это для меня" или отправьте нам сообщение электронной почты.
Состояние
Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».
Временное решение
Чтобы обойти эту проблему, добавьте шаг в задание агент SQL Server, которое проверяет, подключены ли целевые базы данных к сети. Этот шаг должен быть первым.
Примечание Состояние базы данных можно проверить, запросив состояние столбца в системной таблице sys.databases.