KB4575939 — POPRAWKA: Agent czytnika dzienników generuje wyjątek naruszenia zasad dostępu dla P2P lub replikacji transakcyjnej z tabelami partycjonowania w SQL Server

Dotyczy
SQL Server 2016 Service Pack 2 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2019 on Windows SQL Server 2017 on Windows

Objawy

Załóżmy, że masz replikację P2P (Peer-to-Peer) lub replikację transakcyjną w tabelach partycjonowanych w usłudze Microsoft SQL Server. Podczas wykonywania operacji przełączania partycji lub scalania, w której znajdują się oczekujące zreplikowane polecenia, w dzienniku błędów programu SQL Server pojawia się następujący wpis błędu:

Uwaga

Błąd: 608: Nie znaleziono wpisu wykazu dla identyfikatora> partycji < w bazie danych <DatabaseName>. Metadane są niespójne. Uruchom DBCC CHECKDB, aby sprawdzić, czy nie ma uszkodzenia metadanych.

Ponadto agent czytnika dzienników generuje zrzut naruszenia dostępu.

Stan

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

Rozwiązanie

Ten problem został rozwiązany w następujących aktualizacjach zbiorczych programu SQL Server:

Wskazówka Po zastosowaniu tej poprawki, jeśli wykonasz operację przełączania partycji lub scalania z oczekującymi zreplikowanymi poleceniami w tej partycji, nadal będziesz obserwować błąd 608 w dzienniku błędów programu SQL Server, ale nie będzie zrzutów naruszeń dostępu.

Informacje o aktualizacjach zbiorczych programu SQL Server:

Każda nowa aktualizacja zbiorcza programu SQL Server zawiera wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji skumulowanej. Sprawdź najnowsze aktualizacje zbiorcze dla programu SQL Server:

Więcej informacji

Jeśli włączysz przełączanie partycji w programie SQL Server 2008 R2 za pośrednictwem bieżącej wersji, w niedalekiej przyszłości może być również konieczne przeprowadzenie operacji dzielenia i scalania. Przed wykonaniem operacji podziału lub scalania na zreplikowanej tabeli upewnij się, że na partycji, o której mowa, nie ma żadnych oczekujących zreplikowanych poleceń. Należy również upewnić się, że podczas operacji dzielenia i scalania na partycji nie są wykonywane żadne operacje DML. Jeśli istnieją transakcje, które nie zostały przetworzone przez czytnik dzienników lub jeśli operacje DML są wykonywane na partycji replikowanej tabeli podczas wykonywania operacji dzielenia lub scalania (obejmujących tę samą partycję), może to prowadzić do błędu przetwarzania z agentem czytnika dzienników. W celu naprawienia tego błędu może być wymagane ponowne zainicjowanie subskrypcji.

Aby uzyskać więcej informacji, zobacz Replikowanie podzielonych na partycje tabel i indeksów.

Ostrzeżenie

Nie należy włączać przełączania partycji dla publikacji równorzędnych ze względu na ukrytą kolumnę, która służy do wykrywania i rozwiązywania konfliktów.

Źródła informacji

Dowiedz się więcej o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.