Jak Wyłącz publikacji i dystrybucji (Programowanie replikacji Transact-SQL)
Publikowanie i rozpowszechnianie można wyłączyć programowo za pomocą procedur przechowywanych replikacja.
Aby wyłączyć publikowanie i dystrybucji
Zatrzymaj wszystko replikacja-związanych z zadaniami.Listę nazw zadań, zobacz "Agent zabezpieczeń pod SQL Server Agent" sekcja Model zabezpieczeń Agent replikacji.
Na każdy abonent na baza danych subskrypcja, wykonanie sp_removedbreplication usunąć obiekty replikacja z bazy danych.Ta procedura składowana nie spowoduje usunięcia zadania replikacja na dystrybutora.
Wydawca na baza danych publikacja, wykonanie sp_removedbreplication usunąć obiekty replikacja z bazy danych.
Jeśli Wydawca używa dystrybutor zdalny, wykonanie sp_dropdistributor.
wykonać na Dystrybutor, sp_dropdistpublisher.Ta procedura składowana powinna uruchamiane raz dla każdego Wydawca zarejestrowany u dystrybutora.
wykonać na Dystrybutor, sp_dropdistributiondb usunąć baza danych dystrybucji.Ta procedura składowana powinny być uruchamiane raz dla każdej baza danych dystrybucji na dystrybutora.Powoduje to również usunięcie agenta czytnik kolejki zadania związane z baza danych dystrybucji.
wykonać na Dystrybutor, sp_dropdistributor usunąć oznaczenie dystrybutora z serwera.
Ostrzeżenie
Jeśli wszystkie obiekty publikacji i dystrybucji replikacja nie są usuwane przed wykonać sp_dropdistpublisher i sp_dropdistributor, procedury te zwróci błąd.Aby usunąć wszystkie związane z replikacją obiektów po upuszczeniu wydawcy lub dystrybutora @ no_checks parametr musi być zestaw do 1.Jeśli Wydawca lub dystrybutor jest offline lub jest niedostępny, @ ignore_distributor zestaw parametr 1 , dzięki czemu mogą być odrzucone; Jednakże wszelkie publikowania i rozmieszczanie obiektów pozostawionych należy usunąć ręcznie.
Przykład
Ten przykładowy skrypt usuwa obiekty replikacji z baza danych subskrypcja.
-- Remove replication objects from the subscription database on MYSUB.
DECLARE @subscriptionDB AS sysname
SET @subscriptionDB = N'AdventureWorks2008R2Replica'
-- Remove replication objects from a subscription database (if necessary).
USE master
EXEC sp_removedbreplication @subscriptionDB
GO
Ten przykładowy skrypt wyłącza publikacji i dystrybucji na serwerze, Wydawca i dystrybutora i spadnie baza danych dystrybucji.
-- This script uses sqlcmd scripting variables. They are in the form
-- $(MyVariable). For information about how to use scripting variables
-- on the command line and in SQL Server Management Studio, see the
-- "Executing Replication Scripts" section in the topic
-- "Programming Replication Using System Stored Procedures".
-- Disable publishing and distribution.
DECLARE @distributionDB AS sysname;
DECLARE @publisher AS sysname;
DECLARE @publicationDB as sysname;
SET @distributionDB = N'distribution';
SET @publisher = $(DistPubServer);
SET @publicationDB = N'AdventureWorks2008R2';
-- Disable the publication database.
USE [AdventureWorks2008R2]
EXEC sp_removedbreplication @publicationDB;
-- Remove the registration of the local Publisher at the Distributor.
USE master
EXEC sp_dropdistpublisher @publisher;
-- Delete the distribution database.
EXEC sp_dropdistributiondb @distributionDB;
-- Remove the local server as a Distributor.
EXEC sp_dropdistributor;
GO
Zobacz także