KB2640027 - ÅTGÄRDAT: SQL Server Agent jobbet misslyckas om du anger jobbschematypen som "Starta automatiskt när SQL Server Agent startar" i SQL Server 2008 SP2, SQL Server 2008 SP3, SQL Server 2008 R2 SP1 eller SQL Server 2008 R2 SP2

Gäller för
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 distribuerar Microsoft SQL Server 2008 SP2-korrigeringar som en nedladdningsbar fil. Eftersom korrigeringarna är kumulativa innehåller varje ny utgåva alla snabbkorrigeringar och alla säkerhetskorrigeringar som ingick i den tidigare SQL Server 2008 SP2-korrigeringsversionen.

Symptom

Tänk dig följande scenario:

  • Gör något av följande

    • Installera kumulativ uppdatering 2 för Microsoft SQL Server 2008 Service Pack 2 (SP2) eller en senare version av det kumulativa uppdateringspaketet
    • Uppgradera SQL Server 2008 till SQL Server 2008 Service Pack 3 (SP3)
    • Uppgradera SQL Server 2008 R2 till SQL Server 2008 R2 Service Pack 1 (SP1) eller en senare version av Service Pack
  • Du skapar ett SQL Server Agent -jobb på en användardatabas och du anger schematypen som Starta automatiskt när SQL Server Agent startar.

  • Du startar om SQL Server -tjänsten.

I det här scenariot misslyckas jobbet för SQL Server Agent.

Orsak

Det här problemet beror på att användardatabasen inte har återställts när jobbet startar. När du har installerat kumulativ uppdatering 2 för SQL Server 2008 SP2 eller uppgraderat SQL Server 2008 till SQL Server 2008 SP3 eller uppgraderat SQL Server 2008 R2 till SQL Server 2008 R2 SP1 startar SQL Server Agent precis efter att MSDB-databaserna har återställts.

Obs! SQL Server Agent bör starta när alla databaser har återställts.

Lösning

SQL Server 2008 R2 Service Pack 1

Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 9. Om du vill veta mer om hur du hämtar det här kumulativa uppdateringspaketet för SQL Server 2008 R2 Service Pack 1 klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

2756574 kumulativt uppdateringspaket 9 för SQL Server 2008 R2 Service Pack 1Note Eftersom versionerna är kumulativa innehåller varje ny korrigeringsversion alla snabbkorrigeringar och säkerhetskorrigeringar som ingick i den tidigare SQL Server 2008 R2 Service Pack 1-korrigeringsversionen. Vi rekommenderar att du installerar den senaste snabbkorrigeringen som innehåller den här snabbkorrigeringen. Mer information om hur du åtgärdar det här problemet får du om du klickar på följande artikelnummer i Microsoft Knowledge Base:

2567616 SQL Server 2008 R2-versionerna som släpptes efter att SQL Server 2008 R2 Service Pack 1 släpptes

SQL Server 2008 Service Pack 3

Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 7 för SQL Server 2008 Service Pack 3. Om du vill veta mer om hur du hämtar det här kumulativa uppdateringspaketet klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

2738350 kumulativt uppdateringspaket 7 för SQL Server 2008 Service Pack 3Note Eftersom versionerna är kumulativa innehåller varje ny korrigeringsversion alla snabbkorrigeringar och säkerhetskorrigeringar som ingick i den tidigare SQL Server 2008 Service Pack 3-korrigeringsversionen. Vi rekommenderar att du installerar den senaste snabbkorrigeringen som innehåller den här snabbkorrigeringen. Mer information om hur du åtgärdar det här problemet får du om du klickar på följande artikelnummer i Microsoft Knowledge Base:

2629969 SQL Server 2008-versionerna som släpptes efter att SQL Server Service Pack 3 2008 släpptes

Kumulativ uppdatering 8 för SQL Server 2008 Service Pack 2

Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 8 för SQL Server 2008 Service Pack 2. Om du vill veta mer om hur du hämtar det här kumulativa uppdateringspaketet för SQL Server 2008 Service Pack 2 klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

2648096 kumulativt uppdateringspaket 8 för SQL Server 2008 Service Pack 2Note Eftersom versionerna är kumulativa innehåller varje ny korrigeringsversion alla snabbkorrigeringar och säkerhetskorrigeringar som ingick i den tidigare SQL Server 2008 Service Pack 2-korrigeringsversionen. Vi rekommenderar att du installerar den senaste snabbkorrigeringen som innehåller den här snabbkorrigeringen. Mer information om hur du åtgärdar det här problemet får du om du klickar på följande artikelnummer i Microsoft Knowledge Base:

2402659 De SQL Server 2008-versionerna som släpptes efter att SQL Server 2008 Service Pack 2 släpptes

SQL Server 2008 R2 Service Pack 2

Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 2 för SQL Server 2008 R2 Service Pack 2. Om du vill veta mer om hur du hämtar det här kumulativa uppdateringspaketet klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

2740411 kumulativt uppdateringspaket 2 för SQL Server 2008 R2 Service Pack 2Note Eftersom versionerna är kumulativa innehåller varje ny korrigeringsversion alla snabbkorrigeringar och säkerhetskorrigeringar som ingick i den tidigare SQL Server 2008 R2-korrigeringsversionen. Vi rekommenderar att du installerar den senaste snabbkorrigeringen som innehåller den här snabbkorrigeringen. Mer information om hur du åtgärdar det här problemet får du om du klickar på följande artikelnummer i Microsoft Knowledge Base:

2730301 SQL Server 2008 R2-versionerna som gavs ut efter att SQL Server 2008 R2 Service Pack 2 släpptes

Information om registernyckeln

Viktigt! Det här avsnittet, metoden eller uppgiften innehåller steg som beskriver hur du ändrar registret. Allvarliga problem kan dock uppstå om du ändrar registret på fel sätt. Se därför till att du följer de här stegen noggrant. För ytterligare skydd bör du säkerhetskopiera registret innan du ändrar det. Du kan då återställa registret om det uppstår problem. Om du vill veta mer om hur du säkerhetskopierar och återställer registret klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

322756 Säkerhetskopiera och återställa registret i WindowsNär du har installerat den här snabbkorrigeringen måste du först starta om SQL Server Agent-tjänsten för den berörda instansen. En ny RecoveredDatabasesForAgentStartup-registernyckel skapas när tjänsten startas om. Den här registernyckeln definierar om SQL Server Agent väntar på att återställningen av användardatabaserna ska slutföras innan jobbet SQL Server Agent startas.

Om du vill att vi ska konfigurera registernyckeln åt dig går du till avsnittet "Lös det åt mig". Om du vill konfigurera registernyckeln själv går du till avsnittet "Jag löser det själv".

Lös det åt mig

            
Om du vill konfigurera registernyckeln automatiskt klickar du på knappen eller länken Fix it . Klicka sedan på Kör i dialogrutan Filhämtning och följ anvisningarna i Fix it-guiden.

            
Anteckningar

  • Innan du kör den här Fix it-lösningen måste du installera snabbkorrigeringen som beskrivs i Microsoft Knowledge Base (KB)-artikeln 2648096. Sedan måste du starta om tjänsten SQL Server Agent för den berörda instansen.
  • Den här guiden är kanske enbart på engelska. Den automatiska korrigeringsfilen fungerar dock även för andra språkversioner av Windows.
  • Om du inte sitter vid datorn där problemet finns kan du spara lösningen på ett flashminne eller en cd och sedan köra den på rätt dator.

Gå sedan till avsnittet "Löste detta problemet?".

Jag löser det själv

Så här konfigurerar du registernyckeln RecoveredDatabasesForAgentStartup:

  1. Klicka på Start, klicka på Kör, skriv regedit i rutan Öppna och klicka sedan på OK.

  2. Leta upp och klicka på följande registerundernyckel:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.instance\SQLServerAgent\

  3. Högerklicka på RecoveredDatabasesForAgentStartup i fönstret Information och klicka sedan på Ändra.

  4. I rutan Värdedata skriver du ALL.

    Standardvärdet för registerposten RecoveredDatabasesForAgentStartup är MSDB.

  5. Avsluta Registereditorn.

Om du anger värdet för registerposten RecoveredDatabasesForAgentStartup till ett värde som inte är MSDB eller ALL loggas ett varningsmeddelande i loggen för SQL Server Agent och SQL Server Agent väntar endast på MSDB-databasen.

Löste det här problemet?

  • Kontrollera om problemet är åtgärdat. Om problemet är åtgärdat är du klar med det här avsnittet. Om problemet kvarstår kan du kontakta supporten.
  • Vi skulle uppskatta din feedback. Om du vill ge feedback eller rapportera problem med den här lösningen kan du lämna en kommentar på bloggen "Lös det åt mig" eller skicka ett e-postmeddelande till oss.

Status

Microsoft har bekräftat att detta är ett problem i de Microsoft-produkter som anges i avsnittet "Gäller".

Lösning

För att kringgå det här problemet lägger du till ett steg i jobbet SQL Server Agent som kontrollerar om måldatabaserna är online. Det här steget bör vara det första steget.

Anteckning Du kan kontrollera databasens status genom att fråga kolumntillståndet i sys.databases-systemtabellen.