KB2640027 – КОРЕКЦИЯ: Агент на SQL Server задача е неуспешна, ако зададете типа на разписанието на задачите като "Стартирай автоматично при Агент на SQL Server стартиране" в SQL Server 2008 SP2, SQL Server 2008 SP3, SQL Server 2008 R2 SP1 или SQL Server 2008 R2 SP2

Отнася се за
SQL Server 2008 Enterprise SQL Server 2008 Developer SQL Server 2008 Service Pack 2 SQL Server 2008 Service Pack 3 SQL Server 2008 Standard SQL Server 2008 R2 Service Pack 2

Microsoft разпространява корекциите на Microsoft SQL Server 2008 SP2 като един файл за изтегляне. Тъй като корекциите са кумулативни, всяко ново издание съдържа всички актуални поправки и корекции на защитата, които са били включени в предишното издание на корекция за SQL Server 2008 SP2.

Симптоми

Имайте предвид сценария, описан по-долу:

  • Можете да направите едно от следните неща

    • Инсталиране на сборна актуализация 2 за Microsoft SQL Server 2008 Service Pack 2 (SP2) или по-нова версия на кумулативния пакет за актуализация
    • Надстройване на SQL Server 2008 до SQL Server 2008 Service Pack 3 (SP3)
    • Надстройте SQL Server 2008 R2 до SQL Server 2008 R2 Service Pack 1 (SP1) или по-нова версия на сервизния пакет
  • Създавате задание на Агент на SQL Server в база данни на потребител и задавате типа график като "Стартирай автоматично" при стартиране на Агент на SQL Server.

  • Рестартирайте услугата SQL Server.

В този случай работата на Агент на SQL Server е неуспешна.

Причина

Този проблем възниква, защото възстановяването на потребителската база данни не е завършило, когато започне задачата. След като инсталирате сборна актуализация 2 за SQL Server 2008 SP2 или надстроите SQL Server 2008 до SQL Server 2008 SP3 или надстроите SQL Server 2008 R2 до SQL Server 2008 R2 SP1, Агент на SQL Server се стартира точно след като базите данни на MSDB завърши възстановяването.

Забележка: Агент на SQL Server трябва да се стартира, след като всички бази данни се възстановят.

Решение

SQL Server 2008 R2 Service Pack 1

Корекцията за този проблем е издадена за първи път в кумулативна актуализация 9. За повече информация как да получите този сборен пакет за актуализация за SQL Server 2008 R2 Service Pack 1, щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:

2756574 Сборен пакет за актуализация 9 за SQL Server 2008 R2 Service Pack 1Note Тъй като компилациите са кумулативни, всяко ново издание на корекция съдържа всички актуални поправки и корекции на защитата, които са включени в предишното издание на корекция за SQL Server 2008 R2 Service Pack 1. Препоръчваме ви да помислите за прилагане на най-новото издание на корекцията, което съдържа тази гореща корекция. За допълнителна информация щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:

2567616 Компилациите на SQL Server 2008 R2, които са издадени след издаването на SQL Server 2008 R2 Service Pack 1

SQL Server 2008 Service Pack 3

Корекцията за този проблем е издадена за първи път в сборна актуализация 7 за SQL Server 2008 Service Pack 3. За допълнителна информация как да получите този пакет за кумулативна актуализация, щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:

2738350 Сборен пакет за актуализация 7 за SQL Server 2008 Service Pack 3Note Тъй като компилациите са кумулативни, всяко ново издание на корекции съдържа всички актуални поправки и корекции на защитата, които са били включени в предишното издание на корекция на SQL Server 2008 Service Pack 3. Препоръчваме ви да помислите за прилагане на най-новото издание на корекцията, което съдържа тази гореща корекция. За допълнителна информация щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:

2629969 Компилациите на SQL Server 2008, които са издадени след издаването на SQL Server 2008 Service Pack 3

Сборна актуализация 8 за SQL Server 2008 Service Pack 2

Корекцията за този проблем е издадена за първи път в сборна актуализация 8 за SQL Server 2008 Service Pack 2. За допълнителна информация как да получите този сборен пакет за актуализация за SQL Server 2008 Service Pack 2, щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:

2648096 Сборен пакет за актуализация 8 за SQL Server 2008 Service Pack 2Note Тъй като компилациите са кумулативни, всяко ново издание на корекции съдържа всички актуални поправки и корекции на защитата, които са включени в предишното издание на корекция за SQL Server 2008 Service Pack 2. Препоръчваме ви да помислите за прилагане на най-новото издание на корекцията, което съдържа тази гореща корекция. За допълнителна информация щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:

2402659 Компилациите на SQL Server 2008, които са издадени след издаването на SQL Server 2008 Service Pack 2

SQL Server 2008 R2 Service Pack 2

Корекцията за този проблем е издадена за първи път в сборна актуализация 2 за SQL Server 2008 R2 Service Pack 2. За допълнителна информация как да получите този пакет за кумулативна актуализация, щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:

2740411 Сборен пакет за актуализация 2 за SQL Server 2008 R2 Service Pack 2Note Тъй като компилациите са кумулативни, всяка нова корекция съдържа всички актуални поправки и корекции на защитата, които са включени в предишното издание на корекция за SQL Server 2008 R2. Препоръчваме ви да помислите за прилагане на най-новото издание на корекцията, което съдържа тази гореща корекция. За допълнителна информация щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:

2730301 Компилациите на SQL Server 2008 R2, които са издадени след издаването на SQL Server 2008 R2 Service Pack 2

Информация за ключа от системния регистър

Важно Този раздел, метод или задача съдържа информация за модифициране на системния регистър. Ако обаче промените системния регистър по неправилен начин, е възможно да възникнат сериозни проблеми. Затова се погрижете да следвате тези стъпките внимателно. За допълнителна защита, архивирайте системния регистър, преди да го променяте. След това можете да възстановите системния регистър, ако възникне проблем. За повече информация относно начините за архивиране и възстановяване на системния регистър щракнете върху следния номер на статия в базата знания на Microsoft, за да я видите:

322756 Как се архивира и възстановява системният регистър в WindowsСлед като приложите тази гореща корекция, първо трябва да рестартирате услугата Агент на SQL Server за засегнатия екземпляр. Нов ключ от системния регистър RecoveredDatabasesForAgentStartup се създава, когато услугата се рестартира. Този ключ от системния регистър определя дали Агент на SQL Server изчаква възстановяването на потребителските бази данни да завърши, преди да стартира работата на Агент на SQL Server.

За да конфигурираме този ключ от системния регистър вместо вас, отидете в раздела "Поправи го вместо мен". Ако предпочитате да конфигурирате този ключ от системния регистър сами, отидете в раздела "Нека реша проблема сам".

Решете моя проблем

            
За да конфигурирате автоматично този ключ от системния регистър, щракнете върху бутона или връзката "Поправи го ". След това щракнете върху "Изпълнение " в диалоговия прозорец "Изтегляне на файл " и следвайте стъпките в съветника "Поправи го".

            
Бележки

  • Преди да изпълните това решение Fix it, трябва да инсталирате актуалната корекция, която е описана в статията 2648096 в Базата знания на Microsoft (KB). След това трябва да рестартирате услугата за Агент на SQL Server за засегнатия екземпляр.
  • Възможно е този съветник да е само на английски език. Автоматичната корекция обаче работи и за други езикови версии на Windows.
  • Ако не сте на проблемния компютър, можете да запишете решението на проблема на флаш устройство или компактдиск и след това да го изпълните на проблемния компютър.

След това отидете в раздела "Това разреши ли проблема?".

Нека реша проблема сам

За да конфигурирате ключа от системния регистър RecoveredDatabasesForAgentStartup, изпълнете следните стъпки:

  1. Щракнете върху "Старт", щракнете върху "Изпълнение", въведете regedit в полето "Отвори" и след това щракнете върху OK.

  2. Намерете и след това щракнете върху следния подключ в системния регистър:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.instance\SQLServerAgent\

  3. В екрана "По-подробно" щракнете с десния бутон върху RecoveredDatabasesForAgentStartup и след това щракнете върху "Промяна".

  4. В полето Value data ( Данни за стойност ) въведете ALL.

    Забележка: Стойността по подразбиране на записа от системния регистър RecoveredDatabasesForAgentStartup е MSDB.

  5. Излезте от редактора на системния регистър.

Забележка: Ако зададете стойността на записа от системния регистър RecoveredDatabasesForAgentStartup на стойност, която не е MSDB или ALL, в регистрационния файл на Агент на SQL Server се регистрира предупредително съобщение и Агент на SQL Server изчаква само базата данни на MSDB.

Това разреши ли проблема?

  • Проверете дали проблемът е решен. Ако проблемът е разрешен, сте приключили с този раздел. Ако проблемът не е отстранен, можете да се обърнете към поддръжката.
  • Ще оценим вашата обратна връзка. За да предоставите обратна връзка или да съобщите за проблеми с това решение, оставете коментар в блога "Fix it for me" или ни изпратете имейл.

Състояние

Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.

Заобиколно решение

За да заобиколите този проблем, добавете стъпка към заданието на Агент на SQL Server, която проверява дали целевите бази данни са онлайн. Тази стъпка трябва да бъде първата.

Забележка: Можете да проверите състоянието на базата данни, като подадете заявка за състоянието на колоните в таблицата на системата sys.databases.