Bagikan melalui


sp_dropdistributor (T-SQL)

Berlaku untuk: SQL Server Azure SQL Managed Instance

Menghapus instalasi Distributor. Prosedur tersimpan ini dijalankan di Distributor pada database apa pun kecuali database distribusi.

Konvensi sintaks transact-SQL

Sintaks

sp_dropdistributor
    [ [ @no_checks = ] no_checks ]
    [ , [ @ignore_distributor = ] ignore_distributor ]
[ ; ]

Argumen

[ @no_checks = ] no_checks

Menunjukkan apakah akan memeriksa objek dependen sebelum menghilangkan Distributor. @no_checks adalah bit, dengan default .0

  • Jika 0, sp_dropdistributor memeriksa untuk memastikan bahwa semua objek penerbitan dan distribusi dihilangkan, selain Distributor.

  • Jika 1, sp_dropdistributor menghilangkan semua objek penerbitan dan distribusi sebelum menghapus instalan distributor.

[ @ignore_distributor = ] ignore_distributor

Menunjukkan apakah prosedur tersimpan ini dijalankan tanpa menyambungkan ke Distributor. @ignore_distributor adalah bit, dengan default 0.

  • Jika 0, sp_dropdistributor terhubung ke Distributor dan menghapus semua objek replikasi. Jika sp_dropdistributor tidak dapat tersambung ke Distributor, prosedur tersimpan gagal.

  • Jika 1, tidak ada koneksi yang dibuat ke Distributor dan objek replikasi tidak dihapus. Opsi ini digunakan jika Distributor sedang dihapus instalasinya atau secara permanen offline. Objek untuk Penerbit ini di Distributor tidak dihapus sampai Distributor diinstal ulang pada waktu mendatang.

Mengembalikan nilai kode

0 (berhasil) atau 1 (kegagalan).

Keterangan

sp_dropdistributor digunakan dalam semua jenis replikasi.

Jika penerbit lain atau objek distribusi ada di server, sp_dropdistributor gagal kecuali @no_checks diatur ke 1.

Prosedur tersimpan ini harus dijalankan setelah menghilangkan database distribusi dengan menjalankan sp_dropdistributiondb.

Contoh

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

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

Izin

Hanya anggota peran server tetap sysadmin yang dapat menjalankan sp_dropdistributor.