Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Menghapus artikel dari publikasi gabungan. Prosedur tersimpan ini dijalankan di Publisher pada database publikasi.
Sintaks
sp_dropmergearticle
[ @publication = ] N'publication'
, [ @article = ] N'article'
[ , [ @ignore_distributor = ] ignore_distributor ]
[ , [ @reserved = ] reserved ]
[ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
[ , [ @force_reinit_subscription = ] force_reinit_subscription ]
[ , [ @ignore_merge_metadata = ] ignore_merge_metadata ]
[ ; ]
Argumen
[ @publication = ] N'publikasi'
Nama publikasi untuk menjatuhkan artikel. @publication adalah sysname, tanpa default.
[ @article = ] N'article'
Nama artikel untuk dihilangkan dari publikasi yang diberikan.
@article adalah sysname, tanpa default. Jika all, semua artikel yang ada dalam publikasi penggabungan yang ditentukan akan dihapus. Bahkan jika @article adalah all, publikasi masih harus dihilangkan secara terpisah dari artikel.
[ @ignore_distributor = ] ignore_distributor
Menunjukkan apakah prosedur tersimpan ini dijalankan tanpa menyambungkan ke Distributor.
@ignore_distributor adalah bit, dengan default 0.
[ @reserved = ] dicadangkan
Disiapkan untuk penggunaan masa mendatang.
@reserved adalah bit, dengan default 0.
[ @force_invalidate_snapshot = ] force_invalidate_snapshot
Mengaktifkan atau menonaktifkan kemampuan untuk membatalkan rekam jepret.
@force_invalidate_snapshot adalah bit, dengan default 0.
0menentukan bahwa perubahan pada artikel penggabungan tidak menyebabkan rekam jepret tidak valid.1berarti bahwa perubahan pada artikel penggabungan dapat menyebabkan rekam jepret tidak valid, dan jika demikian, nilai1memberikan izin untuk rekam jepret baru terjadi.
[ @force_reinit_subscription = ] force_reinit_subscription
Mengakui bahwa menghapus artikel mengharuskan langganan yang ada untuk diinisialisasi ulang.
@force_reinit_subscription adalah bit, dengan default 0.
0menentukan bahwa menghapus artikel tidak menyebabkan langganan diinisialisasi ulang.1berarti bahwa menjatuhkan artikel menyebabkan langganan yang ada diinisialisasi ulang, dan memberikan izin untuk reinitialisasi langganan terjadi.
[ @ignore_merge_metadata = ] ignore_merge_metadata
Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
Mengembalikan nilai kode
0 (berhasil) atau 1 (kegagalan).
Keterangan
sp_dropmergearticle digunakan dalam replikasi penggabungan. Untuk informasi selengkapnya tentang menjatuhkan artikel, lihat Menambahkan Artikel ke dan Menghapus Artikel dari Publikasi yang Sudah Ada.
Menjalankan sp_dropmergearticle 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.
Izin
Hanya anggota peran server tetap sysadmin atau peran database tetap db_owner yang dapat menjalankan sp_dropmergearticle.
Contoh
Sampel kode dalam artikel ini menggunakan database sampel AdventureWorks2025 atau AdventureWorksDW2025, yang dapat Anda unduh dari halaman beranda Sampel dan Proyek Komunitas Microsoft SQL Server.
J. Menghapus artikel dari publikasi gabungan
USE [AdventureWorks2022];
GO
DECLARE @publication AS SYSNAME;
DECLARE @article1 AS SYSNAME;
DECLARE @article2 AS SYSNAME;
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @article1 = N'SalesOrderDetail';
SET @article2 = N'SalesOrderHeader';
EXECUTE sp_dropmergearticle
@publication = @publication,
@article = @article1,
@force_invalidate_snapshot = 1;
EXECUTE sp_dropmergearticle
@publication = @publication,
@article = @article2,
@force_invalidate_snapshot = 1;
GO
B. Jatuhkan filter gabungan gabungan dan artikel terkait
USE [AdventureWorks2022];
GO
DECLARE @publication AS SYSNAME;
DECLARE @table1 AS SYSNAME;
DECLARE @table2 AS SYSNAME;
DECLARE @table3 AS SYSNAME;
DECLARE @salesschema AS SYSNAME;
DECLARE @hrschema AS SYSNAME;
DECLARE @filterclause AS NVARCHAR (1000);
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @table1 = N'Employee';
SET @table2 = N'SalesOrderHeader';
SET @table3 = N'SalesOrderDetail';
SET @salesschema = N'Sales';
SET @hrschema = N'HumanResources';
SET @filterclause = N'Employee.LoginID = HOST_NAME()';
-- Drop the merge join filter between SalesOrderHeader and SalesOrderDetail.
EXECUTE sp_dropmergefilter
@publication = @publication,
@article = @table3,
@filtername = N'SalesOrderDetail_SalesOrderHeader',
@force_invalidate_snapshot = 1,
@force_reinit_subscription = 1;
-- Drop the merge join filter between Employee and SalesOrderHeader.
EXECUTE sp_dropmergefilter
@publication = @publication,
@article = @table2,
@filtername = N'SalesOrderHeader_Employee',
@force_invalidate_snapshot = 1,
@force_reinit_subscription = 1;
-- Drop the article for the SalesOrderDetail table.
EXECUTE sp_dropmergearticle
@publication = @publication,
@article = @table3,
@force_invalidate_snapshot = 1,
@force_reinit_subscription = 1;
-- Drop the article for the SalesOrderHeader table.
EXECUTE sp_dropmergearticle
@publication = @publication,
@article = @table2,
@force_invalidate_snapshot = 1,
@force_reinit_subscription = 1;
-- Drop the article for the Employee table.
EXECUTE sp_dropmergearticle
@publication = @publication,
@article = @table1,
@force_invalidate_snapshot = 1,
@force_reinit_subscription = 1;
GO