Applies ToSQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) 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)

Symptomy

Załóżmy, że użytkownik tworzy publikację transakcyjną, korzystając z procedury składowanej sp_addpublication w programie SQL Server 2014 lub 2016, a właściwość @allow_drop jest ustawiona na wartość PRAWDA. Po strąceniu tabeli opublikowanej w publikacji i ręcznym usunięciu przestarzałego artykułu z publikacji może zostać wyświetlony komunikat o błędzie podobny do następującego:

Serwer zdalny "(null) nie istnieje.

Na przykład ten problem występuje w następującym scenariuszu:

  • Publikowanie tabeli w publikacji transakcyjnej, a następnie ustawienie właściwości @allow_drop na wartość PRAWDA.

  • Usuniesz opublikowaną tabelę.

  • Zanim Agent odczytywania dziennika przeprowadził rekordy powiązane z poleceniem Drop Table, Oczyść przestarzały artykuł, korzystając z jednej z następujących procedur składowanych:

    • sp_MSdropobsoletearticle

    • sp_droparticle

    • sp_droppublication

W tym przypadku następujące komunikaty o błędach są zapisywane w dzienniku pełnym:

Stan: 0, kod: 1007, tekst: "proces nie mógł wykonać" sp_MSadd_replcmds "na"SQL_SERVER_INSTANCE". Proces nie może wykonać operacji "sp_MSadd_replcmds" na "SQL_SERVER_INSTANCE". Stan agenta REPL: 6Status: 0, kod: 1007, tekst: "serwer zdalny" (null) nie istnieje lub nie został wyznaczony jako prawidłowy Wydawca lub nie masz uprawnień do wyświetlania dostępnych wydawców. Stan: 4, kod: 6001, tekst: "moduł ładujący polecenia" w tle "kończy się". Stan: 0, kod: 22020, tekst: "partie nie zostały przekazane do dystrybutora". Stan: 0, kod: 22037, tekst: "ostatni krok nie rejestrował żadnego komunikatu!".

Uwaga W programie SQL Server 2014 z dodatkiem Service Pack 2 dodano obsługę tabeli Drop (DROP TABLE DDL). Aby uzyskać informacje na temat usuwania tabeli, zobacz następujący artykuł z bazy wiedzy Microsoft Knowledge Base:

3170123 Obsługa języka DDL tabeli DROP dla artykułów uwzględnionych w replikacji transakcyjnej w programie SQL Server 2014

Rozwiązanie

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

Zbiorcza aktualizacja 1 dla programu SQL server 2014 z dodatkiem Service Pack 2 Aktualizacja zbiorcza 2 dla programu SQL Server 2016

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 2014 Najnowsza Zbiorcza aktualizacja dla programu SQL Server 2016

Stan

Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".

Informacje

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

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.