sp_droppublication (T-SQL)

Berlaku untuk:SQL ServerAzure SQL Managed Instance

Menghilangkan publikasi dan Agen Rekam Jepret terkait. Semua langganan harus dihilangkan sebelum menghapus publikasi. Artikel dalam publikasi dihilangkan secara otomatis. Prosedur tersimpan ini dijalankan di Publisher pada database publikasi.

Konvensi sintaks transact-SQL

Sintaks

sp_droppublication
    [ @publication = ] N'publication'
    [ , [ @ignore_distributor = ] ignore_distributor ]
    [ , [ @publisher = ] N'publisher' ]
    [ , [ @from_backup = ] from_backup ]
[ ; ]

Argumen

[ @publication = ] N'publikasi'

Nama publikasi yang akan dihilangkan. @publication adalah sysname, tanpa default. Jika all ditentukan, semua publikasi dihilangkan dari database publikasi, kecuali untuk publikasi dengan langganan.

[ @ignore_distributor = ] ignore_distributor

Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.

[ @publisher = ] N'publisher'

Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.

[ @from_backup = ] from_backup

Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.

Mengembalikan nilai kode

0 (berhasil) atau 1 (kegagalan).

Keterangan

sp_droppublication digunakan dalam replikasi rekam jepret dan replikasi transaksional.

sp_droppublication secara rekursif menghilangkan semua artikel yang terkait dengan publikasi dan kemudian menghilangkan publikasi itu sendiri. Publikasi tidak dapat dihapus jika merupakan satu atau beberapa langganan untuk publikasi tersebut. Untuk informasi tentang cara menghapus langganan, lihat Menghapus Langganan Push dan Menghapus Langganan Pull.

Menjalankan sp_droppublication untuk menghilangkan publikasi tidak menghapus objek yang diterbitkan dari database publikasi atau objek terkait dari database langganan. Gunakan DROP <object> untuk menghapus objek ini secara manual jika perlu.

Izin

Hanya anggota peran server tetap sysadmin yang dapat menjalankan sp_droppublication.

Contoh

DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
SET @publicationDB = N'AdventureWorks'; 
SET @publication = N'AdvWorksProductTran'; 

-- Remove a transactional publication.
USE [AdventureWorks2022]
EXEC sp_droppublication @publication = @publication;

-- Remove replication objects from the database.
USE [master]
EXEC sp_replicationdboption 
  @dbname = @publicationDB, 
  @optname = N'publish', 
  @value = N'false';
GO