sp_dropdistpublisher (Transact-SQL)
Elimina un server di pubblicazione di distribuzione. Questa stored procedure viene eseguita in qualsiasi database del server di distribuzione.
Sintassi
sp_dropdistpublisher [ @publisher = ] 'publisher'
[ , [ @no_checks = ] no_checks ]
[ , [ @ignore_distributor = ] ignore_distributor ]
Argomenti
[ @publisher= ] 'publisher'
Nome del server di pubblicazione da eliminare. publisher è di tipo sysname e non prevede alcun valore predefinito.[ @no_checks= ] no_checks
Specifica se la stored procedure sp_dropdistpublisher verifica che nel server di pubblicazione sia stato disinstallato il server come server di distribuzione. no_checks è di tipo bit e il valore predefinito è 0.Se è 0, durante la replica viene verificato che nel server di pubblicazione remoto sia stato disinstallato il server locale come server di distribuzione. Se il server di pubblicazione è locale, durante la replica viene verificato che nel server locale non siano più presenti oggetti di pubblicazione o di distribuzione.
Se è 1, tutti gli oggetti di replica associati al server di pubblicazione di distribuzione vengono eliminati anche se non è possibile accedere a un server di pubblicazione remoto. Dopo questa operazione, nel server di pubblicazione remoto è necessario disinstallare la replica tramite l'esecuzione della stored procedure sp_dropdistributor con @ignore_distributor = 1.
[ @ignore_distributor= ] ignore_distributor
Specifica se gli oggetti di distribuzione vengono mantenuti nel server di distribuzione quando il server di pubblicazione viene rimosso. ignore_distributor è di tipo bit e i possibili valori sono i seguenti:1 = gli oggetti di distribuzione appartenenti al server di pubblicazione vengono mantenuti nel server di distribuzione.
0 = gli oggetti di distribuzione relativi al server di pubblicazione vengono rimossi nel server di distribuzione.
Valori restituiti
0 (esito positivo) o 1 (esito negativo)
Osservazioni
sp_dropdistpublisher viene utilizzata per tutti i tipi di replica.
Se non è possibile eliminare un server di pubblicazione Oracle, sp_dropdistpublisher restituisce un errore e gli oggetti del server di distribuzione relativi al server di pubblicazione vengono rimossi.
Esempio
-- 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
Autorizzazioni
Solo i membri del ruolo predefinito del server sysadmin possono eseguire sp_dropdistpublisher.
Vedere anche