sp_droppublication (T-SQL)
Berlaku untuk: SQL Server Azure 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.
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