sp_dropdistpublisher (Transact-SQL)sp_dropdistpublisher (Transact-SQL)

SI APPLICA A: sìSQL Server sìDatabase SQL di Azure (solo Istanza gestita) noAzure SQL Data Warehouse noParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database (Managed Instance only) noAzure SQL Data Warehouse noParallel Data Warehouse

Elimina un server di pubblicazione di distribuzione.Drops a distribution Publisher. Questa stored procedure viene eseguita in qualsiasi database del server di distribuzione.This stored procedure is executed at the Distributor on any database.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintassiSyntax

  
sp_dropdistpublisher [ @publisher = ] 'publisher'  
    [ , [ @no_checks = ] no_checks ]  
    [ , [ @ignore_distributor = ] ignore_distributor ]  

ArgomentiArguments

[ @publisher = ] 'publisher' è il server di pubblicazione da eliminare.[ @publisher = ] 'publisher' Is the Publisher to drop. Publisher è di tipo sysnamee non prevede alcun valore predefinito.publisher is sysname, with no default.

[ @no_checks = ] no_checks specifica se sp_dropdistpublisher verifica che il server di pubblicazione abbia disinstallato il server come database di distribuzione.[ @no_checks = ] no_checks Specifies whether sp_dropdistpublisher checks that the Publisher has uninstalled the server as the Distributor. no_checks è di bite il valore predefinito è 0.no_checks is bit, with a default of 0.

Se è 0, la replica verifica che il server di pubblicazione remoto abbia disinstallato il server locale come server di distribuzione.If 0, replication verifies that the remote Publisher has uninstalled the local server as the Distributor. 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.If the Publisher is local, replication verifies that there are no publication or distribution objects remaining on the local server.

Se è 1, tutti gli oggetti di replica associati al server di pubblicazione di distribuzione vengono eliminati anche se non è possibile raggiungere un server di pubblicazione remoto.If 1, all the replication objects associated with the distribution Publisher are dropped even if a remote Publisher cannot be reached. Al termine di questa operazione, il server di pubblicazione remoto deve disinstallare la replica usando sp_dropdistributor con @ignore_distributor = 1.After doing this, the remote Publisher must uninstall replication using sp_dropdistributor with @ignore_distributor = 1.

[ @ignore_distributor = ] ignore_distributor specifica se gli oggetti di distribuzione vengono lasciati nel server di distribuzione quando il server di pubblicazione viene rimosso.[ @ignore_distributor = ] ignore_distributor Specifies whether distribution objects are left at the Distributor when the Publisher is removed. ignore_distributor è di bit . i possibili valori sono i seguenti:ignore_distributor is bit and can be one of these values:

1 = gli oggetti di distribuzione appartenenti al server di pubblicazione rimangono nel database di distribuzione.1 = distribution objects belonging to the publisher remain at the Distributor.

0 = gli oggetti di distribuzione per il server di pubblicazione vengono puliti nel database di distribuzione.0 = distribution objects for the publisher are cleaned-up at the Distributor.

Valori restituitiReturn Code Values

0 (esito positivo) o 1 (esito negativo)0 (success) or 1 (failure)

NoteRemarks

sp_dropdistpublisher viene utilizzato in tutti i tipi di replica.sp_dropdistpublisher is used in all types of replication.

Quando si elimina un server di pubblicazione Oracle, se non è possibile eliminare il server di pubblicazione sp_dropdistpublisher restituisce un errore e gli oggetti del server di distribuzione per il server di pubblicazione vengono rimossi.When dropping an Oracle Publisher, if unable to drop the Publisher sp_dropdistpublisher returns an error and the Distributor objects for the Publisher are removed.

EsempioExample

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

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

PermissionsPermissions

Solo i membri del ruolo predefinito del server sysadmin possono eseguire sp_dropdistpublisher.Only members of the sysadmin fixed server role can execute sp_dropdistpublisher.

Vedere ancheSee Also

Disabilitare la pubblicazione e la distribuzione Disable Publishing and Distribution
sp_adddistpublisher (Transact-SQL) sp_adddistpublisher (Transact-SQL)
sp_changedistpublisher (Transact-SQL) sp_changedistpublisher (Transact-SQL)
sp_helpdistpublisher (Transact-SQL) sp_helpdistpublisher (Transact-SQL)
Stored procedure per la replica (Transact-SQL)Replication Stored Procedures (Transact-SQL)