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.
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
.
Konten terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk