sp_droparticle (T-SQL)

Berlaku untuk:SQL ServerAzure SQL Managed Instance

Menghapus artikel dari rekam jepret atau publikasi transaksi. Artikel tidak dapat dihapus jika ada satu atau beberapa langganan. Prosedur tersimpan ini dijalankan di Publisher pada database publikasi.

Konvensi sintaks transact-SQL

Sintaks

sp_droparticle
    [ @publication = ] N'publication'
    , [ @article = ] N'article'
    [ , [ @ignore_distributor = ] ignore_distributor ]
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
    [ , [ @publisher = ] N'publisher' ]
    [ , [ @from_drop_publication = ] from_drop_publication ]
[ ; ]

Argumen

[ @publication = ] N'publikasi'

Nama publikasi yang berisi artikel yang akan dihilangkan. @publication adalah sysname, tanpa default.

[ @article = ] N'article'

Nama artikel yang akan dihilangkan. @article adalah sysname, tanpa default.

[ @ignore_distributor = ] ignore_distributor

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

[ @force_invalidate_snapshot = ] force_invalidate_snapshot

Mengakui bahwa tindakan yang diambil oleh prosedur tersimpan ini mungkin membatalkan rekam jepret yang ada. @force_invalidate_snapshot adalah bit, dengan default 0.

  • 0 menentukan bahwa perubahan pada artikel tidak menyebabkan rekam jepret tidak valid. Jika prosedur tersimpan mendeteksi bahwa perubahan memang memerlukan rekam jepret baru, kesalahan terjadi dan tidak ada perubahan yang dilakukan.

  • 1 menentukan bahwa perubahan pada artikel dapat menyebabkan rekam jepret tidak valid, dan jika ada langganan yang memerlukan rekam jepret baru, memberikan izin agar rekam jepret yang ada ditandai sebagai usang dan rekam jepret baru yang dihasilkan.

[ @publisher = ] N'publisher'

Menentukan Penerbit Non-SQL Server. @publisher adalah sysname, dengan default NULL.

Parameter ini tidak boleh digunakan saat mengubah properti artikel pada Penerbit SQL Server.

[ @from_drop_publication = ] from_drop_publication

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

Mengembalikan nilai kode

0 (berhasil) atau 1 (kegagalan).

Keterangan

sp_droparticle digunakan dalam rekam jepret dan replikasi transaksional.

Untuk artikel yang difilter secara horizontal, sp_droparticle periksa type kolom artikel dalam tabel sysarticles (Transact-SQL) untuk menentukan apakah tampilan atau filter juga harus dihilangkan. Jika tampilan atau filter dibuat secara otomatis, tampilan tersebut akan dihilangkan dengan artikel. Jika dibuat secara manual, itu tidak dihilangkan.

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

Contoh

DECLARE @publication AS sysname;
DECLARE @article AS sysname;
SET @publication = N'AdvWorksProductTran'; 
SET @article = N'Product'; 

-- Drop the transactional article.
USE [AdventureWorks2022]
EXEC sp_droparticle 
  @publication = @publication, 
  @article = @article,
  @force_invalidate_snapshot = 1;
GO

Izin

Hanya anggota peran server tetap sysadmin atau peran database tetap db_owner yang dapat menjalankan sp_droparticle.