sp_dropdistpublisher (T-SQL)
Berlaku untuk:SQL Server
Azure SQL Managed Instance
Menjatuhkan Penerbit distribusi. Prosedur tersimpan ini dijalankan di Distributor pada database apa pun.
Sintaks
sp_dropdistpublisher
[ @publisher = ] N'publisher'
[ , [ @no_checks = ] no_checks ]
[ , [ @ignore_distributor = ] ignore_distributor ]
[ ; ]
Argumen
[ @publisher = ] N'publisher'
Publisher yang akan dihilangkan. @publisher adalah sysname, tanpa default.
Catatan
Menggunakan port kustom untuk penerbit SQL Server diperkenalkan di SQL Server 2019 (15.x). Jika penerbit SQL Server dikonfigurasi dengan port kustom, maka ketika menghilangkan penerbit seperti itu di distributor, berikan nama server penerbit alih-alih <Hostname>,<PortNumber>
.
[ @no_checks = ] no_checks
Menentukan apakah sp_dropdistpublisher
memeriksa apakah Publisher telah menghapus instalan server sebagai Distributor. @no_checks adalah bit, dengan default .0
Jika
0
, replikasi memverifikasi bahwa Publisher jarak jauh telah menghapus instalasi server lokal sebagai Distributor. Jika Publisher bersifat lokal, replikasi memverifikasi bahwa tidak ada objek publikasi atau distribusi yang tersisa di server lokal.Jika
1
, semua objek replikasi yang terkait dengan Penerbit distribusi dihilangkan meskipun Penerbit jarak jauh tidak dapat dicapai. Setelah melakukan ini, Publisher jarak jauh harus menghapus instalan replikasi menggunakan sp_dropdistributor dengan@ignore_distributor = 1
.
[ @ignore_distributor = ] ignore_distributor
Menentukan apakah objek distribusi dibiarkan di Distributor saat Penerbit dihapus. @ignore_distributor adalah bit, dan bisa menjadi salah satu nilai ini:
1
= objek distribusi milik @publisher tetap berada di Distributor.0
= objek distribusi untuk @publisher dibersihkan di Distributor.
Mengembalikan nilai kode
0
(berhasil) atau 1
(kegagalan).
Keterangan
sp_dropdistpublisher
digunakan dalam semua jenis replikasi.
Saat menghilangkan Oracle Publisher, jika tidak dapat menghilangkan Publisher, sp_dropdistpublisher
mengembalikan kesalahan dan objek Distributor untuk Publisher dihapus.
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_dropdistpublisher
.
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