sp_dropdistributiondb (T-SQL)

Berlaku untuk:SQL ServerAzure SQL Managed Instance

Menghilangkan database distribusi. Menghilangkan file fisik yang digunakan oleh database jika tidak digunakan oleh database lain. Prosedur tersimpan ini dijalankan di Distributor pada database apa pun.

Konvensi sintaks transact-SQL

Sintaks

sp_dropdistributiondb
    [ @database = ] N'database'
    [ , [ @former_ag_secondary = ] former_ag_secondary ]
[ ; ]

Argumen

[ @database = ] N'database'

Database yang akan dihilangkan. @database adalah sysname, tanpa default.

[ @former_ag_secondary = ] former_ag_secondary

Menentukan apakah simpul ini sebelumnya merupakan bagian dari grup ketersediaan untuk database distribusi. @former_ag_secondary int, dengan default 0.

Mengembalikan nilai kode

0 (berhasil) atau 1 (kegagalan).

Keterangan

sp_dropdistributiondb digunakan dalam semua jenis replikasi.

Prosedur tersimpan ini harus dijalankan sebelum menghilangkan Distributor dengan menjalankan sp_dropdistributor.

sp_dropdistributiondb juga menghapus pekerjaan Agen Pembaca Antrean untuk database distribusi, jika ada.

Untuk menonaktifkan distribusi, database distribusi harus online. Jika rekam jepret database ada untuk database distribusi, rekam jepret harus dihilangkan sebelum menonaktifkan distribusi. Rekam jepret database adalah salinan database offline baca-saja, dan tidak terkait dengan rekam jepret replikasi. Untuk informasi selengkapnya, lihat Rekam jepret database (SQL Server).

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_dropdistributiondb.