sp_dropdistpublisher (Transact-SQL)

Elimina un server di pubblicazione di distribuzione. Questa stored procedure viene eseguita in qualsiasi database del server di distribuzione.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

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'AdventureWorks';

-- Disable the publication database.
USE [AdventureWorks]
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.