KB2640027 — POPRAWKA: Zadanie agenta programu SQL Server kończy się niepowodzeniem, jeśli w programie SQL Server 2008 SP2, SQL Server 2008 SP3, SQL Server 2008 R2 SP1 lub SQL Server 2008 R2 SP2 ustawiono typ harmonogramu zadania jako "Uruchom automatycznie po uruchomieniu agenta programu SQL Server"

Firma Microsoft rozpowszechnia Microsoft SQL Server 2008 z dodatkiem SP2 jako jeden plik do pobrania. Ponieważ poprawki mają charakter skumulowany, każda nowa wersja zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej wersji poprawki dla programu SQL Server 2008 z dodatkiem SP2.

Symptomy

Rozpatrzmy następujący scenariusz:

  • Wykonaj jedną z następujących czynności:

    • Instalowanie aktualizacji skumulowanej 2 Microsoft SQL Server 2008 z dodatkiem Service Pack 2 (SP2) lub nowszą wersją pakietu aktualizacji skumulowanej

    • Uaktualnianie programu SQL Server 2008 do wersji SQL Server 2008 z dodatkiem Service Pack 3 (SP3)

    • Uaktualnianie programu SQL Server 2008 R2 do wersji SQL Server 2008 R2 z dodatkiem Service Pack 1 (SP1) lub nowszą wersją dodatku Service Pack

  • Zadanie agenta programu SQL Server tworzy się w bazie danych użytkowników i ustawiasz typ harmonogramu jako Start automatycznie podczas uruchamiania programu SQL Server Agent.

  • Ponowne uruchomienie usługi programu SQL Server.

W tym scenariuszu zadanie agenta programu SQL Server kończy się niepowodzeniem.

Przyczyna

Ten problem występuje, ponieważ baza danych użytkownika nie zakończyła odzyskiwania po uruchamianiu zadania. Po zainstalowaniu aktualizacji skumulowanej 2 dla programu SQL Server 2008 z dodatkiem SP2 lub uaktualnieniu programu SQL Server 2008 do programu SQL Server 2008 z dodatkiem SP3 lub uaktualnieniu programu SQL Server 2008 R2 do wersji SQL Server 2008 R2 SP1 program SQL Server Agent zostanie uruchomiony tuż po zakończeniu odzyskiwania baz danych MSDB.

Uwaga: program SQL Server Agent powinien zostać uruchomić po odzyskaniu wszystkich baz danych.

Rozwiązanie

SQL Server 2008 R2 z dodatkiem Service Pack 1

Poprawkę dla tego problemu opublikowano po raz pierwszy w aktualizacji skumulowanej 9. Aby uzyskać więcej informacji na temat uzyskiwania tego pakietu aktualizacji skumulowanej dla programu SQL Server 2008 R2 z dodatkiem Service Pack 1, kliknij następujący numer artykułu, aby wyświetlić ten artykuł z bazy wiedzy Microsoft Knowledge Base:

2756574 Skumulowany pakiet aktualizacji 9 dla programu SQL Server 2008 R2 z dodatkiem Service Pack 1Note Ponieważ kompilacje są skumulowane, każda nowa wersja poprawki zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej wersji poprawki dla programu SQL Server 2008 R2 z dodatkiem Service Pack 1. Zalecamy rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

2567616 Kompilacje programu SQL Server 2008 R2, które zostały wydane po zwolnieniu dodatku Service Pack 1 dla programu SQL Server 2008 R2

SQL Server 2008 z dodatkiem Service Pack 3

Poprawkę dla tego problemu opublikowano po raz pierwszy w aktualizacji skumulowanej 7 dla programu SQL Server 2008 z dodatkiem Service Pack 3. Aby uzyskać więcej informacji na temat uzyskiwania tego pakietu aktualizacji skumulowanej, kliknij następujący numer artykułu, aby wyświetlić ten artykuł z bazy wiedzy Microsoft Knowledge Base:

2738350 Pakiet aktualizacji skumulowanej 7 dla programu SQL Server 2008 z dodatkiem Service Pack 3Note Ponieważ kompilacje są skumulowane, każda nowa wersja poprawki zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej wersji poprawki dla programu SQL Server 2008 z dodatkiem Service Pack 3. Zalecamy rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

2629969 Kompilacje programu SQL Server 2008 wydane po wydanej wersji programu SQL Server 2008 z dodatkiem Service Pack 3

Aktualizacja skumulowana 8 dla programu SQL Server 2008 z dodatkiem Service Pack 2

Poprawkę dla tego problemu opublikowano po raz pierwszy w aktualizacji skumulowanej 8 dla programu SQL Server 2008 z dodatkiem Service Pack 2. Aby uzyskać więcej informacji na temat uzyskiwania tego pakietu aktualizacji skumulowanej dla programu SQL Server 2008 z dodatkiem Service Pack 2, kliknij następujący numer artykułu, aby wyświetlić ten artykuł z bazy wiedzy Microsoft Knowledge Base:

2648096 Pakiet aktualizacji skumulowanej 8 dla programu SQL Server 2008 z dodatkiem Service Pack 2Note Ponieważ kompilacje są skumulowane, każda nowa wersja poprawki zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej wersji poprawki dla programu SQL Server 2008 z dodatkiem Service Pack 2. Zalecamy rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

2402659 Kompilacje programu SQL Server 2008 wydane po wydanej wersji programu SQL Server 2008 z dodatkiem Service Pack 2

SQL Server 2008 R2 z dodatkiem Service Pack 2

Poprawkę dla tego problemu opublikowano po raz pierwszy w aktualizacji skumulowanej 2 dla programu SQL Server 2008 R2 z dodatkiem Service Pack 2. Aby uzyskać więcej informacji na temat uzyskiwania tego pakietu aktualizacji skumulowanej, kliknij następujący numer artykułu, aby wyświetlić ten artykuł z bazy wiedzy Microsoft Knowledge Base:

2740411 Pakiet aktualizacji skumulowanej 2 dla programu SQL Server 2008 R2 z dodatkiem Service Pack 2Note Ponieważ kompilacje są skumulowane, każda nowa wersja poprawki zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej wersji poprawki programu SQL Server 2008 R2. Zalecamy rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

2730301 Kompilacje programu SQL Server 2008 R2 wydane po wydanej wersji programu SQL Server 2008 R2 z dodatkiem Service Pack 2

Informacje o kluczu rejestru

Ważne Ta sekcja, metoda lub zadanie zawiera kroki, które informują o tym, jak zmodyfikować rejestr. Niepoprawne zmodyfikowanie rejestru może jednak być przyczyną poważnych problemów. Dlatego należy uważnie wykonywać podane czynności. Dla większego bezpieczeństwa przed zmodyfikowaniem rejestru należy wykonać jego kopię zapasową. Dzięki temu będzie można przywrócić rejestr w przypadku wystąpienia problemu. Aby uzyskać więcej informacji dotyczących wykonywania kopii zapasowej i przywracania rejestru, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

322756 Jak wykonać kopię zapasową rejestru i przywrócić go w systemie Windows Po zastosowaniu tej poprawki należy najpierw ponownie uruchomić usługę agenta programu SQL Server dla wystąpienia, którego dotyczy problem. Nowy klucz rejestru RecoveredDatabasesForAgentStartup jest tworzony po ponownym uruchomieniu usługi. Ten klucz rejestru definiuje, czy agent programu SQL Server czeka na ukończenie odzyskiwania baz danych użytkowników przed rozpoczęciem zadania agenta programu SQL Server.

Aby skonfigurować ten klucz rejestru za Ciebie, przejdź do sekcji "Fixit for me"(Napraw dla mnie). Jeśli wolisz samodzielnie skonfigurować ten klucz rejestru, przejdź do sekcji "Pozwólmi rozwiązać ten problemsamodzielnie".

Automatyczne rozwiązywanie problemu



Aby automatycznie skonfigurować ten klucz rejestru, kliknij przycisk lub link Napraw. Następnie kliknij pozycję Uruchom w oknie dialogowym Pobieranie pliku i postępuj zgodnie z instrukcjami kreatora naprawy.




Uwagi

  • Przed uruchomieniem tego rozwiązania fix it należy zainstalować poprawkę opisaną w artykule 2648096 z bazy wiedzy Microsoft Knowledge Base (KB). Następnie należy ponownie uruchomić usługę agenta programu SQL Server dla wystąpienia, którego dotyczy problem.

  • Ten kreator może być dostępny tylko w języku angielskim. Jednak ta poprawka automatyczna działa również w innych wersjach językowych systemu Windows.

  • Jeśli używany komputer nie jest tym, którego dotyczy problem, można zapisać to rozwiązanie w postaci poprawki automatycznej na dysku flash lub CD i uruchomić je na odpowiednim komputerze.


Następnie przejdź do sekcji"Czy to rozwiązało problem?".



Samodzielne rozwiązywanie problemu

Aby skonfigurować klucz rejestru RecoveredDatabasesForAgentStartup, wykonaj następujące czynności:

  1. Kliknij przycisk Start,kliknij przycisk Uruchom,wpisz polecenie regedit w polu Otwórz, a następnie kliknij przycisk OK.

  2. Zlokalizuj, a następnie kliknij następujący podklucz rejestru:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.instance\SQLServerAgent\

  3. W okienku Szczegóły kliknij prawym przyciskiem myszy pozycję OdzyskaneBazyDanychForAgentStartup,a następnie kliknij polecenie Modyfikuj.

  4. W polu Dane wartości wpisz ALL.

    Uwaga: wartość domyślna wpisu rejestru RecoveredDatabasesForAgentStartup to MSDB.

  5. Zamknij Edytor rejestru.

Uwaga: Jeśli ustawisz wartość wpisu rejestru RecoveredDatabasesForAgentStartup na wartość niebędącą wartością MSDB lub ALL, w dzienniku agenta programu SQL Server zostanie zarejestrowany komunikat ostrzegawczy, a agent programu SQL Server — tylko bazę danych MSDB.

Czy problem został rozwiązany?

  • Sprawdź, czy problem został rozwiązany. Jeśli problem został rozwiązany, to koniec pracy z tą sekcją. Jeśli problem nie został rozwiązany, można skontaktować się z pomocą techniczną.

  • Prosimy o opinię. Aby przekazać opinię lub zgłosić problemy dotyczące tego rozwiązania, zostaw komentarz w blogu "Naprawdlamnie" lub wyślij do nas wiadomość e-mail.

Stan

Firma Microsoft potwierdziła, że jest to problem w produktach firmy Microsoft wymienionych w sekcji "Dotyczy".

Obejście

Aby omiąć ten problem, dodaj krok do zadania agenta programu SQL Server, które sprawdza, czy docelowe bazy danych są w trybie online. Ten krok powinien być pierwszym krokiem.

Uwaga: stan bazy danych można sprawdzić, kwerendując stan kolumny w tabeli systemowej sys.databases.

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×