Symptomy
W przypadku replikacji transakcyjnej w przypadku korzystania z programu SQL Server 2014 i programu SQL Server 2012 Agent dystrybucji kończy się niepowodzeniem i jest wyświetlany następujący komunikat o błędzie:
W przypadku procedury lub funkcji sp_MSreplraiserror określono zbyt wiele argumentów. (Źródło: MSSQLServer, numer błędu: 8144) Uzyskaj pomoc: http://help/8144
Przyczyna
Ten problem występuje, ponieważ definicja sp_MSreplraiserror zmieniona między programem sql Server 2012 a programem sql Server 2014. Ta zmiana powoduje wyświetlenie komunikatu o błędzie podczas uruchamiania definicji na subskrybencie przez agenta dystrybucji. Komunikat o błędzie jest podobny do następującego:
Nie znaleziono wiersza u abonenta podczas stosowania polecenia replikowany usuwanie dlaschematutabeli.Table_Name"za pomocą kluczy podstawowych: [NO] = x (Źródło: MSSQLSERVER, numer błędu: XXXXX)
Rozwiązanie
Ten problem został rozwiązany w następujących zbiorczych aktualizacjach programu SQL Server:
Zbiorcza aktualizacja 5 dla programu SQL server 2016 RTM Zbiorcza aktualizacja 2 dla programu SQL Server 2016 z dodatkiem SP1
Zbiorcza aktualizacja 3 dla programu SQL Server 2014 z dodatkiem Service Pack 2
Każda nowa Zbiorcza aktualizacja programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji zbiorczej. Zapoznaj się z najnowszymi aktualizacjami zbiorczymi dla programu SQL Server: Najnowsza Zbiorcza aktualizacja dla programu SQL Server 2016
Najnowsza Zbiorcza aktualizacja dla programu SQL Server 2014
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".
Informacje
Informacje o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.