KB2936984 — POPRAWKA: "Nie można wygenerować dynamicznej migawki" podczas wywoływania sp_MScreatemergedynamicsnapshot w SQL Server

Dotyczy
SQL Server 2008 Service Pack 3 SQL Server 2008 Enterprise SQL Server 2008 Developer SQL Server 2008 Express SQL Server 2008 Standard SQL Server 2008 R2 Service Pack 2 SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Objawy

Załóżmy, że masz na komputerze zainstalowany program Microsoft SQL Server 2008 z dodatkiem Service Pack 3 (SP3), SQL Server 2008 R2 z dodatkiem Service Pack 2 (SP2), SQL Server 2012 z dodatkiem Service Pack 2 (SP2), SQL Server 2012 z dodatkiem Service Pack 1 (SP1) lub program SQL Server 2014. Wywołanie procedury składowanej sp_MScreatemergedynamicsnapshot w celu utworzenia migawki dynamicznej powoduje wyświetlenie następujących komunikatów o błędach:

Uwaga

Komunikat 8115, Poziom 16, Stan 2, Procedura sp_MScreatemergedynamicsnapshot, wiersz 182
Błąd przepełnienia arytmetycznego podczas konwertowania wyrażenia na typ danych nvarchar.

Komunikat 20655, Poziom 16, Stan 1, Procedura sp_MScreatemergedynamicsnapshot, Wiersz 186
Nie można ukończyć procesu partycjonowanej migawki. Nie można pobrać informacji o maksymalnej sygnaturze czasowej z tabeli MSsnapshot_history w dystrybucyjnej bazie danych. Upewnij się, że standardowa migawka jest aktualna i dostępna.

Komunikat 20628, Poziom 16, Stan 1, Procedura sp_MScreatemergedynamicsnapshot, Wiersz 203
Nie udało się wygenerować migawki dynamicznej.

Uwaga Ten problem występuje, gdy wartość agent_id przekracza 99 999 w tabeli MSdynamicsnapshotjobs.

Przyczyna

Ten problem występuje z powodu błędu programu SQL Server. Typem zmiennej lokalnej dla agent_id jest znak, a jej długość wynosi 5. Przepełnienie arytmetyczne może wystąpić, gdy SQL Server obsługuje wartość przypisaną do typu INT.

Rozwiązanie

Ten problem został po raz pierwszy rozwiązany w następującej aktualizacji zbiorczej programu SQL Server.

Zbiorcza aktualizacja 3 dla systemu SQL Server 2014 /pl-pl/pomoc/2984923

Skumulowana aktualizacja 11 dla SQL Server 2012 z dodatkiem SP1 /en-us/help/2975396

Aktualizacja skumulowana 1 dla systemu SQL Server 2012 z dodatkiem SP2 /pl-pl/pomoc/2976982

Aktualizacja skumulowana 13 dla systemu SQL Server 2008 R2 z dodatkiem SP2 /en-us/help/2967540

Aktualizacja skumulowana 17 dla systemu SQL Server 2008 z dodatkiem SP3 /pl-pl/help/2958696

Informacje o aktualizacjach zbiorczych dla 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:

      

Informacje o poprawkach
Firma Microsoft udostępnia obsługiwaną poprawkę. Ma on jednak na celu rozwiązanie tylko problemu opisanego w tym artykule. Stosuj ją tylko do systemów, w których występuje ten specyficzny problem.

Aby rozwiązać ten problem, skontaktuj się z Pomocą techniczną firmy Microsoft w celu uzyskania poprawki. Aby uzyskać pełną listę numerów telefonów Pomocy technicznej firmy Microsoft oraz informacje o kosztach pomocy technicznej, odwiedź następującą witrynę firmy Microsoft w sieci Web:

/contactus/?ws=support Uwaga W wyjątkowych przypadkach użytkownik telefonujący do pomocy technicznej może zostać anulowany, jeśli specjalista z pomoc techniczna firmy Microsoft stwierdzi, że określona aktualizacja rozwiąże problem. Normalne koszty pomocy technicznej będą dotyczyć dodatkowych pytań oraz problemów, których rozwiązanie nie jest objęte określoną aktualizacją.

Stan

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