sp_dropsubscription (T-SQL)

Berlaku untuk:SQL ServerAzure SQL Managed Instance

Menghapus langganan ke artikel, publikasi, atau kumpulan langganan tertentu di Publisher. Prosedur tersimpan ini dijalankan di Publisher pada database publikasi.

Konvensi sintaks transact-SQL

Sintaks

sp_dropsubscription
    [ [ @publication = ] N'publication' ]
    [ , [ @article = ] N'article' ]
    , [ @subscriber = ] N'subscriber'
    [ , [ @destination_db = ] N'destination_db' ]
    [ , [ @ignore_distributor = ] ignore_distributor ]
    [ , [ @reserved = ] N'reserved' ]
    [ , [ @publisher = ] N'publisher' ]
[ ; ]

Argumen

[ @publication = ] N'publikasi'

Nama publikasi terkait. @publication adalah sysname, dengan default NULL. Jika all, semua langganan untuk semua publikasi untuk Pelanggan yang ditentukan dibatalkan. publikasi adalah parameter yang diperlukan.

[ @article = ] N'article'

Nama artikel. @article adalah sysname, dengan default NULL. Jika all, langganan ke semua artikel untuk setiap publikasi dan Pelanggan yang ditentukan dihilangkan. Gunakan all untuk publikasi yang memungkinkan pembaruan segera.

[ @subscriber = ] N'pelanggan'

Nama Pelanggan yang akan menjatuhkan langganannya. @subscriber adalah sysname, tanpa default. Jika all, semua langganan untuk semua Pelanggan dihilangkan.

[ @destination_db = ] N'destination_db'

Nama database tujuan. @destination_db adalah sysname, dengan default NULL. Jika NULL, semua langganan dari Pelanggan tersebut dihilangkan.

[ @ignore_distributor = ] ignore_distributor

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

[ @reserved = ] N'reserved'

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.

Mengembalikan nilai kode

0 (berhasil) atau 1 (kegagalan).

Keterangan

sp_dropsubscription digunakan dalam rekam jepret dan replikasi transaksional.

Jika Anda menghapus langganan pada artikel dalam publikasi sinkronisasi langsung, Anda tidak dapat menambahkannya kembali kecuali Anda menghapus langganan pada semua artikel dalam publikasi dan menambahkan semuanya kembali sekaligus.

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

-- This batch is executed at the Publisher to remove 
-- a pull or push subscription to a transactional publication.
DECLARE @publication AS sysname;
DECLARE @subscriber AS sysname;
SET @publication = N'AdvWorksProductTran';
SET @subscriber = $(SubServer);

USE [AdventureWorks2022]
EXEC sp_dropsubscription 
  @publication = @publication, 
  @article = N'all',
  @subscriber = @subscriber;
GO

Izin

Hanya anggota peran server tetap sysadmin , peran database tetap db_owner , atau pengguna yang membuat langganan yang dapat menjalankan sp_dropsubscription.