Udostępnij za pośrednictwem


Ręczne usuwanie replikacji w programie SQL Server

W tym artykule wyjaśniono, jak ręcznie usunąć replikację w programie SQL Server.

Oryginalna wersja produktu: SQL Server
Oryginalny numer KB: 324401

Podsumowanie

W tym artykule opisano sposób usuwania replikacji z komputera z uruchomionym programem Microsoft SQL Server. Aby usunąć replikację, należy usunąć subskrypcje, publikacje i dystrybutor skonfigurowany na potrzeby replikacji. Replikację można usunąć, uruchamiając skrypt Języka Transact-SQL generowany przez program SQL Server Enterprise Manager lub SQL Server Management Studio. Jeśli jednak nie można wygenerować skryptu języka Transact-SQL w celu usunięcia replikacji, możesz ręcznie usunąć replikację przy użyciu systemowych procedur składowanych i innych instrukcji języka Transact-SQL. Ten artykuł zawiera informacje na temat systemowych procedur składowanych, które mogą być używane w tym procesie.

Uwaga 16.

Aby uzyskać więcej informacji na temat systemowych procedur składowanych wymienionych w tym artykule, zobacz Sql Server Books Online.

Ręczne usuwanie replikacji

Replikację można usunąć ręcznie przy użyciu systemowych procedur składowanych i innych instrukcji języka Transact-SQL. Aby całkowicie usunąć replikację, wykonaj następujące kroki:

  1. Usuń wszystkie subskrypcje skonfigurowane na potrzeby replikacji.
  2. Porzucanie wszystkich publikacji skonfigurowanych na potrzeby replikacji.
  3. Porzucanie dystrybutora skonfigurowanego na potrzeby replikacji.

Uwaga 16.

Procedury składowane systemu dla każdego typu replikacji są wymienione w dalszej części tego artykułu. Użyj odpowiednich procedur składowanych, w zależności od typu replikacji, którą chcesz usunąć.

Usuwanie subskrypcji

Aby usunąć subskrypcje z wystąpienia programu SQL Server, możesz użyć następujących procedur składowanych i odpowiednich parametrów:

  • sp_dropsubscription : Możesz użyć sp_dropsubscription procedury składowanej systemu, aby usunąć subskrypcje do określonego artykułu, publikacji lub zestawu subskrypcji w programie Publisher. Należy uruchomić procedurę składowaną na serwerze programu Publisher w bazie danych publikacji.

  • sp_droppullsubscription : Możesz użyć sp_droppullsubscription procedury składowanej systemu, aby usunąć subskrypcję w bieżącej bazie danych subskrybenta. Należy uruchomić procedurę składowaną w bazie danych subskrypcji ściągania subskrybenta.

  • sp_dropmergesubscription : Można użyć sp_dropmergesubscription procedury składowanej systemu, aby usunąć subskrypcję do publikacji scalania i agent scalania skojarzony z publikacją scalającą. Należy uruchomić procedurę składowaną na serwerze programu Publisher w bazie danych publikacji.

  • sp_dropmergepullsubscription : Możesz użyć sp_dropmergepullsubscription procedury składowanej systemu, aby usunąć subskrypcję ściągania scalania. Należy uruchomić procedurę składowaną w bazie danych subskrypcji ściągania subskrybenta.

Usuwanie subskrypcji migawek

Aby usunąć subskrypcję wypychaną do wszystkich artykułów dotyczących publikacji migawki, uruchom następujący skrypt w programie Publisher:

USE < **Publication database name** >
GO
EXEC sp_dropsubscription @publication = N'<Publication name>', @article = N'all', @subscriber = N'all', @destination_db = N'all'

Aby usunąć subskrypcję migawki ściągnięcia do wszystkich artykułów dotyczących publikacji migawki, wykonaj następujące kroki:

  1. Uruchom następujący skrypt SQL u subskrybenta:

    USE < **Subscription database name** >
    GO
    EXEC sp_droppullsubscription @publisher = N'<Publisher server name>', @publisher_db = N'<Publication database name>', @publication = N'<Publication name>'
    
  2. Uruchom następujący skrypt w programie Publisher:

    USE < **Publication database name** >
    GO
    EXEC sp_dropsubscription @publication=N'<Publication name>', @subscriber = N'<Subscriber server name>', @article = N'all', @destination_db = N'all'
    

Usuwanie subskrypcji transakcyjnej

Aby usunąć subskrypcję wypychaną do wszystkich artykułów dotyczących publikacji transakcyjnej, uruchom następujący skrypt w programie Publisher:

USE < **Publication database name** >
GO
EXEC sp_dropsubscription @publication = N'<Publication name>', @article = N'all', @subscriber = N'all', @destination_db = N'all'

Aby usunąć subskrypcję ściągania do wszystkich artykułów dotyczących publikacji transakcyjnej, wykonaj następujące kroki:

  1. Uruchom następujący skrypt u subskrybenta:

    USE < **Subscription database name** >
    GO
    EXEC sp_droppullsubscription @publisher = N'<Publisher server name>', @publisher_db = N'<Publisher database name>', @publication = N'<Publication name>'
    
  2. Uruchom następujący skrypt w programie Publisher:

    USE < **Publication database name** >
    GO
    EXEC sp_dropsubscription @publication =N'<Publication name>', @subscriber = N'<Subscriber server name>', @article = N'all', @destination_db = N'<Destination database name>'
    

Usuwanie subskrypcji scalania

Aby usunąć subskrypcję wypychania, uruchom następujący skrypt w programie Publisher:

USE < **Publication database name** >
GO
EXEC sp_dropmergesubscription @publication = N'<Publication name>', @subscriber = N'<Publisher server name>', @subscriber_db = N'<Subscription database name>', @subscription_type = N'push'

Aby usunąć subskrypcję ściągania, wykonaj następujące kroki:

  1. Uruchom następujący skrypt u subskrybenta:

    USE < **Subscription database name** >
    GO
    EXEC sp_dropmergepullsubscription @publication = N'<Publication name>', @publisher = N'<Publisher server name>', @publisher_db = N'<Publisher database name>'
    
  2. Uruchom następujący skrypt w programie Publisher:

    USE < **Publication database name** >
    GO
    EXEC sp_dropmergesubscription @subscription_type = N'pull', @publication = N'<Publication name>', @subscriber = N'<Subscriber server name>', @subscriber_db = N'<Subscription database name>'
    

Usuwanie publikacji

Po usunięciu wszystkich subskrypcji, które subskrybują publikację, możesz usunąć publikację. Po usunięciu publikacji w bazie danych publikacji należy ustawić opcję bazy danych replikacji dla bazy danych publikacji na wartość false. Aby usunąć publikację, można użyć następujących systemowych procedur składowanych:

  • sp_droppublication: Można użyć sp_droppublication procedury składowanej systemu, aby usunąć publikację i artykuły skojarzone z publikacją. Należy uruchomić procedurę składowaną w programie Publisher w bazie danych publikacji.
  • sp_dropmergepublication: Można użyć sp_dropmergepublication procedury składowanej systemu, aby usunąć publikację scalającą i agenta migawki skojarzonego z publikacją scalającą. Artykuły skojarzone z publikacją również zostały porzucone. Należy uruchomić procedurę składowaną w programie Publisher w bazie danych publikacji.
  • sp_replicationdboption: Można użyć sp_replicationdboption procedury składowanej systemu, aby ustawić opcję bazy danych replikacji dla bieżącej bazy danych. Należy uruchomić procedurę składowaną na serwerze programu Publisher.

Aby usunąć publikację migawki, uruchom następujący skrypt w programie Publisher:

USE < **Publication database name** >
GO
EXEC sp_droppublication @publication = N'<Publication name>'

USE master
GO
exec sp_replicationdboption @dbname = N'<Publication database name>', @optname = N'publish', @value = N'false'

Aby usunąć publikację transakcyjną, uruchom następujący skrypt w programie Publisher:

USE < **Publication database name** >
GO
EXEC sp_droppublication @publication = N'<Publication name>'

USE master
GO
EXEC sp_replicationdboption @dbname = N'<Publication database name>', @optname = N'publish', @value = N'false'

Aby usunąć publikację scalaną, uruchom następujący skrypt w programie Publisher:

USE < **Publication database name** >
GO
EXEC sp_dropmergepublication @publication = N'<Publication name>'

USE master
GO
EXEC sp_replicationdboption @dbname = N'<Publication database name>', @optname = N'merge publish', @value = N'false'

Usuwanie dystrybutora

Po usunięciu wszystkich subskrypcji i publikacji możesz usunąć odpowiedniego dystrybutora. Jednak przed usunięciem dystrybutora należy usunąć oznaczenie subskrybenta z wydawcy. W tym celu należy użyć następujących procedur składowanych:

  • sp_dropsubscriber: Można użyć sp_dropsubscriber procedury składowanej systemu, aby usunąć oznaczenie subskrybenta z zarejestrowanego serwera. Procedura składowana usuwa wpis rejestru dla subskrybenta. Procedura składowana jest uruchamiana w programie Publisher w bazie danych publikacji.

  • sp_dropdistributor: Aby usunąć dystrybutora sp_dropdistributor , można użyć procedury składowanej systemu. Procedura składowana jest uruchamiana w dystrybutorze. Aby usunąć oznaczenie subskrybenta z programu Publisher, uruchom następujący skrypt w programie Publisher:

    USE master
    GO
    EXEC sp_dropsubscriber @subscriber = N'<Subscriber server name>', @reserved = N'drop_subscriptions'
    

    Aby usunąć dystrybutora, uruchom następujący skrypt w dystrybutorze:

    USE master
    GO
    EXEC sp_dropdistributor @no_checks = 1
    

Korzystanie z procedur składowanych

Podczas usuwania replikacji można również użyć następujących procedur składowanych:

  • sp_removedbreplication: Można użyć sp_removedbreplication procedury składowanej systemu, aby usunąć wszystkie obiekty replikacji z bazy danych bez aktualizowania danych w dystrybutorze. Należy uruchomić procedurę składowaną w programie Publisher w bazie danych publikacji lub w bazie danych subskrypcji subskrybenta. Poniżej przedstawiono składnię dla tej procedury składowanej:

    sp_removedbreplication '<Database name>'
    
  • sp_droparticle: Można użyć systemowej sp_droparticle procedury składowanej, aby usunąć artykuł z publikacji migawki lub z publikacji transakcyjnej. Nie można usunąć artykułu, jeśli co najmniej jedna subskrypcja opublikowanego artykułu nadal istnieje. Należy uruchomić procedurę składowaną w programie Publisher w bazie danych publikacji. Poniżej przedstawiono składnię dla tej procedury składowanej:

    sp_droparticle @publication = N'<Publication name>', @article = N'<Article name>', @force_invalidate_snapshot = 1
    

Informacje

Aby uzyskać więcej informacji, zobacz następujące tematy w artykułach SQL Server Books Online: