Jak Usuwanie publikacji (Programowanie replikacji Transact-SQL)
Publikacje można usunąć programowo za pomocą procedur przechowywanych replikacja.Procedury przechowywane, których używasz zależą od typu publikacja, zostaną usunięte.
Ostrzeżenie
Usuwanie publikacja nie powoduje usunięcia opublikowanych obiektów z bazy danych publikacja lub odpowiednich obiektów z baza danych subskrypcja.Użyj DROP <object> polecenie ręcznie usunąć te obiekty, jeśli to konieczne.
Aby usunąć migawka lub transakcyjnych publikacja
Wykonaj jedną z następujących czynności:
Aby usunąć pojedynczy publikacja, należy wykonać sp_droppublication Wydawca na baza danych publikacja.
Aby usunąć wszystkie publikacje w i usunąć wszystkie obiekty replikacja z opublikowaną bazą danych, wykonywanie sp_removedbreplication na Wydawca.Określ wartość tran dla typu @.(Opcjonalnie) Nie można uzyskać dostępu do dystrybutora lub stan bazy danych jest podejrzana lub w trybie offline, należy określić wartość 1 dla życie @.(Opcjonalnie) Określ nazwę bazy danych dla @ dbname Jeśli sp_removedbreplication nie jest wykonywana na baza danych publikacja.
Ostrzeżenie
Określając wartość 1 dla życie @ może opuścić replikacja-dotyczące publikowania obiektów bazy danych.
(Opcjonalnie) Jeśli ta baza danych nie ma żadnych innych publikacji, wykonywał sp_replicationdboption (języka Transact-SQL) wyłączyć publikacja bieżącej bazy danych przy użyciu migawka lub replikacja transakcyjna.
(Opcjonalnie) Subskrybent na baza danych subskrypcja, wykonać sp_subscription_cleanup usunąć wszelkie pozostałe metadane replikacja w baza danych subskrypcja.
Aby usunąć publikacja seryjnej
Wykonaj jedną z następujących czynności:
Aby usunąć pojedynczy publikacja, należy wykonać sp_dropmergepublication (języka Transact-SQL) Wydawca na baza danych publikacja.
Aby usunąć wszystkie publikacje w i usunąć wszystkie obiekty replikacja z opublikowaną bazą danych, wykonywanie sp_removedbreplication na Wydawca.Określ wartość merge dla typu @.(Opcjonalnie) Nie można uzyskać dostępu do dystrybutora lub stan bazy danych jest podejrzana lub w trybie offline, należy określić wartość 1 dla życie @.(Opcjonalnie) Określ nazwę bazy danych dla @ dbname Jeśli sp_removedbreplication nie jest wykonywana na baza danych publikacja.
Ostrzeżenie
Określając wartość 1 dla życie @ może opuścić replikacja-dotyczące publikowania obiektów bazy danych.
(Opcjonalnie) Jeśli ta baza danych nie zawiera żadnych innych publikacji, wykonać sp_replicationdboption (języka Transact-SQL) wyłączyć publikacja bieżącej bazy danych przy użyciu replikacja scalająca.
(Opcjonalnie) Subskrybent na baza danych subskrypcja, wykonać sp_mergesubscription_cleanup (języka Transact-SQL) usunąć wszelkie pozostałe metadane replikacja w baza danych subskrypcja.
Przykład
W tym przykładzie przedstawiono sposób usunąć transakcyjnych publikacja i wyłączenie transakcyjnych publikowania bazy danych.W tym przykładzie założono, że wcześniej usunięto wszystkie subskrypcje.Aby uzyskać więcej informacji, zobacz Jak Usuwanie subskrypcji ściąganej (Programowanie replikacji Transact-SQL) lub Jak Usuwanie subskrypcji wypychanej (Programowanie replikacji Transact-SQL).
DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
SET @publicationDB = N'AdventureWorks2008R2';
SET @publication = N'AdvWorksProductTran';
-- Remove a transactional publication.
USE [AdventureWorks2008R2]
EXEC sp_droppublication @publication = @publication;
-- Remove replication objects from the database.
USE [master]
EXEC sp_replicationdboption
@dbname = @publicationDB,
@optname = N'publish',
@value = N'false';
GO
W tym przykładzie przedstawiono sposób usunąć publikacja korespondencji seryjnej i wyłączyć publikowanie scalania dla bazy danych.W tym przykładzie założono, że wcześniej usunięto wszystkie subskrypcje.Aby uzyskać więcej informacji, zobacz Jak Usuwanie subskrypcji ściąganej (Programowanie replikacji Transact-SQL) lub Jak Usuwanie subskrypcji wypychanej (Programowanie replikacji Transact-SQL).
DECLARE @publication AS sysname
DECLARE @publicationDB AS sysname
SET @publication = N'AdvWorksSalesOrdersMerge'
SET @publicationDB = N'AdventureWorks2008R2'
-- Remove the merge publication.
USE [AdventureWorks2008R2]
EXEC sp_dropmergepublication @publication = @publication;
-- Remove replication objects from the database.
USE master
EXEC sp_replicationdboption
@dbname = @publicationDB,
@optname = N'merge publish',
@value = N'false'
GO