KB2535705 — POPRAWKA: naruszenie zasad dostępu występuje podczas przywracania bazy danych i jednoczesnego uruchomienia procedury składowanej sp_replcounters na serwerze SQL Server 2008 lub SQL Server 2008 R2

Dotyczy
SQL Server 2008 SQL Server 2008 R2

Microsoft dystrybuuje poprawki dla programu Microsoft SQL Server 2008 Microsoft SQL Server 2008 R2 jako jeden plik do pobrania. Ponieważ poprawki są zbiorcze, każda nowa wersja zawiera wszystkie poprawki i poprawki zabezpieczeń zawarte w poprzedniej wersji poprawki programu SQL Server 2008 SQL Server 2008 R2.

Objawy

Rozważmy następujący scenariusz:

  • Na jednym serwerze jest uruchomiona replikacja w środowisku programu Microsoft SQL Server 2008 lub Microsoft SQL Server 2008 R2.
  • Drugi serwer z uruchomionym programem Microsoft SQL Server 2008 lub Microsoft SQL Server 2008 R2 i replikacja jest wyłączona lub nie jest zainstalowana.
  • Replikowana baza danych z pierwszego serwera zostaje przywrócona na drugi serwer.
  • Podczas procesu przywracania bazy danych użytkownik lub aplikacja uruchamia procedurę składowaną sp_replcounters na drugim serwerze.

W tym scenariuszu naruszenie zasad dostępu może wystąpić na drugim serwerze. Ponadto w folderze dziennika programu SQL Server jest tworzony plik zrzutu stosu. W przypadku wystąpienia tego problemu może być konieczne ponowne uruchomienie drugiego serwera.

Przyczyna

Ten problem występuje, ponieważ procedura składowana sp_replcounters uruchomiona na serwerze, na którym replikacja jest wyłączona lub nie jest zainstalowana. Gdy sp_replcounters próbuje uzyskać dostęp do pamięci podręcznej artykułów, operacja przywracania bazy danych wywołuje już clear_db_repl_cache w celu usunięcia bazy danych z pamięci podręcznej artykułów, zanim baza danych zostanie dodana z powrotem do pamięci podręcznej artykułów.

Rozwiązanie

Informacje o aktualizacji zbiorczej

SQL Server 2008 R2

Poprawka rozwiązująca ten problem została po raz pierwszy opublikowana w aktualizacji zbiorczej 9. Aby uzyskać więcej informacji dotyczących sposobu uzyskania tego pakietu aktualizacji zbiorczej dla programu SQL Server 2008 R2, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2567713 Pakiet 9 aktualizacji zbiorczych dla SQL Server 2008 R2 Uwaga Ponieważ te kompilacje mają charakter zbiorczy, każda nowa poprawka zawiera wszystkie poprawki i poprawki zabezpieczeń z poprzedniej wersji poprawki 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 Baza wiedzy Microsoft Knowledge Base:

981356 Kompilacje SQL Server 2008 R2 wydane po wydaniu SQL Server 2008 R2

SQL Server 2008 R2 z dodatkiem Service Pack 1

Poprawkę rozwiązującą ten problem opublikowano po raz pierwszy w aktualizacji zbiorczej 2 dla programu SQL Server 2008 R2 z dodatkiem Service Pack 1. Aby uzyskać więcej informacji dotyczących sposobu uzyskiwania tego pakietu aktualizacji zbiorczej, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2567714 Pakiet aktualizacji zbiorczej 2 dla dodatku Service Pack 1 dla SQL Server 2008 R2 Uwaga Ponieważ te kompilacje są zbiorcze, każda nowa wersja poprawki zawiera wszystkie poprawki i poprawki zabezpieczeń z poprzednich wersji poprawek 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 Baza wiedzy Microsoft Knowledge Base:

2567616 Kompilacje SQL Server 2008 R2 wydane po wydaniu dodatku Service Pack 1 SQL Server 2008 R2

SQL Server 2008

Poprawka rozwiązująca ten problem została po raz pierwszy opublikowana w aktualizacji zbiorczej 4. Aby uzyskać więcej informacji dotyczących sposobu uzyskania tego pakietu aktualizacji zbiorczej dla programu SQL Server 2008, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2527180 Pakiet aktualizacji zbiorczych 4 dla dodatku Service Pack 2 SQL Server 2008Uwaga Ponieważ te kompilacje mają charakter zbiorczy, każda nowa poprawka zawiera wszystkie poprawki i poprawki zabezpieczeń z poprzednich wersji poprawek SQL Server 2008. 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 Baza wiedzy Microsoft Knowledge Base:

956909 Kompilacje SQL Server 2008 wydane po SQL Server 2008

Stan

Firma Microsoft potwierdziła, że jest to problem dotyczący produktów firmy Microsoft wymienionych w sekcji „Dotyczy”.

Więcej informacji

Aby uzyskać więcej informacji o zmienianych plikach i wymaganiach wstępnych dotyczących stosowania pakietu aktualizacji zbiorczej zawierającego poprawkę opisaną w tym artykule z bazy wiedzy Baza wiedzy Microsoft Knowledge Base, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2527180 Pakiet aktualizacji zbiorczych 4 dla dodatku Service Pack 2 SQL Server 2008

Źródła informacji

Aby uzyskać więcej informacji na temat statystyk replikacji, odwiedź następującą witrynę sieci MSDN (Microsoft Developer Network) w sieci Web:

sp_replcounters (Transact-SQL) Aby uzyskać więcej informacji dotyczących listy kompilacji dostępnych po wydaniu programu SQL Server 2008, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

956909 Wydano kompilacje SQL Server 2008 wydane po SQL Server 2008Aby uzyskać więcej informacji dotyczących modelu obsługi przyrostowej dla SQL Server, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

935897 Zespół SQL Server udostępnia model obsługi przyrostowej w celu dostarczania poprawek dla zgłoszonych problemówAby uzyskać więcej informacji dotyczących schematu nazewnictwa dla SQL Server aktualizacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

822499 Nowy schemat nazewnictwa pakietów aktualizacji oprogramowania firmy Microsoft SQL Server Aby uzyskać więcej informacji dotyczących terminologii związanej z aktualizacjami oprogramowania, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

824684 Opis standardowej terminologii używanej do opisywania aktualizacji oprogramowania firmy Microsoft