Symptomy
W programie Microsoft SQL Server 2008 lub SQL Server 2008 R2 spróbujesz wykonać kopię ZAPASową bazy danych za pomocą instrukcji BACKUP. Jednak operacja wykonywania kopii zapasowej kończy się niepowodzeniem, a w pliku dziennika błędów programu SQL Server są rejestrowane następujące komunikaty o błędach:
Data <><godzina> <identyfikatorze SPID> błąd: 2601; ważność: 14; stan: 1. <Data><godzina> <numeru SPID> nie można wstawić wiersza zduplikowanego klucza w obiekcie "sys. syscommittab" z indeksem unikatowym "<index Name>". Data <><godzina> <Identyfikator SPID> błąd: 3999; ważność: 17 <nie powiodło się><identyfikatora bazy danych> <z powodu błędu 2601. Aby uzyskać więcej informacji, zobacz dziennik błędów.
Ten problem występuje, gdy są spełnione następujące warunki:
-
Włączono funkcję SQL Server Change trackingon tę bazę danych.
-
Po włączeniu śledzenia zmian baza danych została poddana odzyskowi bazy danych co najmniej raz.UwagaOto najczęstsze scenariusze uruchamiania odzyskiwania bazy danych:
-
Po ponownym uruchomieniu usługi SQL Server.
-
Po przywróceniu bazy danych z kopii zapasowej.
-
Ponadto błąd 2601 może również wystąpić, gdy program SQL Server próbuje wykonać operację tworzenia punktu kontrolnego w tej bazie danych. Aby uzyskać więcej informacji na temat działań, które mogą powodować wyświetlenie punktu kontrolnego bazy danych, zobacz temat "działania powodujące punkt kontrolny" w temacie "punkty kontrolne i aktywna część dziennika" poniższej sekcji programu SQL Server 2008:
Rozwiązanie
Informacje o aktualizacji zbiorczej
SQL Server 2008 z dodatkiem Service Pack 3
Poprawka dotycząca tego problemu została wydana po raz pierwszy w aktualizacji zbiorczej 2 dla programu SQL Server 2008 z dodatkiem Service Pack 3. Aby uzyskać więcej informacji na temat tego zbiorczego pakietu aktualizacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2633143 Pakiet aktualizacji zbiorczej 2 dla programu SQL Server 2008 z dodatkiem Service Pack 3Uwaga Ponieważ kompilacja jest zbiorcza, każdy nowy pakiet poprawek zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały dołączone do poprzedniej wersji poprawki SQL Server 2008. Firma Microsoft zaleca zastosowanie najnowszego wydania poprawki zawierającego 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 opublikowaniu dodatku Service Pack 3 dla programu SQL Server 2008 Poprawki programu Microsoft SQL Server 2008 są tworzone dla określonych pakietów Service Pack programu SQL Server. Musisz zastosować poprawkę dodatku Service Pack 3 dla programu SQL Server 2008 do instalacji dodatku Service Pack 3 dla programu SQL Server 2008. Wszystkie poprawki podane w dodatku Service Pack programu SQL Server są domyślnie zawarte w następnym dodatku Service Pack dla programu SQL Server.
SQL Server 2008 R2 z dodatkiem Service Pack 1
Poprawka dotycząca tego problemu została wydana po raz pierwszy w aktualizacji zbiorczej 1 dla programu SQL Server 2008 R2 z dodatkiem Service Pack 1. Aby uzyskać więcej informacji na temat sposobu uzyskiwania tego zbiorczego pakietu aktualizacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2544793 Pakiet aktualizacji zbiorczej 1 dla programu SQL Server 2008 R2 z dodatkiem Service Pack 1Uwaga Ponieważ kompilacja jest zbiorcza, każdy nowy pakiet poprawek zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń dołączone do poprzedniej wersji poprawki SQL Server 2008 R2. Zalecamy zastosowanie najnowszego wydania poprawki zawierającego 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 opublikowaniu dodatku Service Pack 1 dla programu SQL Server 2008 R2
SQL Server 2008 R2
Poprawka dotycząca tego problemu została wydana po raz pierwszy w aktualizacji zbiorczej 8. Aby uzyskać więcej informacji na temat sposobu uzyskiwania tego zbiorczego pakietu aktualizacji dla programu SQL Server 2008 R2, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2534352 Pakiet aktualizacji zbiorczej 8 dla programu SQL Server 2008 R2 Uwaga Ponieważ kompilacja jest zbiorcza, każdy nowy pakiet poprawek zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń dołączone do poprzedniej wersji poprawki SQL Server 2008 R2. Zalecamy zastosowanie najnowszego wydania poprawki zawierającego 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:
981356 Kompilacje programu SQL Server 2008 R2, które zostały wydane po opublikowaniu programu SQL Server 2008 R2
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".
Informacje
Aby uzyskać więcej informacji o terminologii dotyczącej aktualizacji oprogramowania, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
824684 Opis standardowej terminologii używanej do opisywania aktualizacji oprogramowania firmy Microsoft
Więcej informacji
Aby rozwiązać problem związany z programem SQL Server, zobacz następujący artykuł z bazy wiedzy Knowledge Base:zduplikowane wiersze klucza z tabeli sys. syscommittab w programie SQL Server