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:
- Aktualizacja zbiorcza 9 dla programu SQL Server 2019
- Aktualizacja zbiorcza 23 dla programu SQL Server 2017
- Aktualizacja zbiorcza 14 dla programu SQL Server 2016 z dodatkiem SP2
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:
- Najnowsza aktualizacja zbiorcza dla programu SQL Server 2019
- Najnowsza aktualizacja zbiorcza dla programu SQL Server 2019
- Najnowsza aktualizacja zbiorcza dla programu SQL Server 2016
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.