Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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:
- Usuń wszystkie subskrypcje skonfigurowane na potrzeby replikacji.
- Porzucanie wszystkich publikacji skonfigurowanych na potrzeby replikacji.
- 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_dropsubscriptionprocedury 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_droppullsubscriptionprocedury 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_dropmergesubscriptionprocedury 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_dropmergepullsubscriptionprocedury 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:
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>'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:
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>'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:
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>'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_droppublicationprocedury 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_dropmergepublicationprocedury 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_replicationdboptionprocedury 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_dropsubscriberprocedury 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ąć dystrybutorasp_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_removedbreplicationprocedury 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ć systemowejsp_droparticleprocedury 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: