sp_reinitpullsubscription (T-SQL)

Berlaku untuk:SQL ServerAzure SQL Managed Instance

Menandai penarikan transaksional atau langganan anonim untuk reinisialisasi saat Agen Distribusi berjalan berikutnya. Prosedur tersimpan ini dijalankan di Pelanggan pada database langganan penarikan.

Konvensi sintaks transact-SQL

Sintaks

  
sp_reinitpullsubscription [ @publisher = ] 'publisher'  
        , [ @publisher_db = ] 'publisher_db'  
        , [ @publication = ] 'publication'  

Argumen

[ @publisher = ] 'publisher' Adalah nama Penerbit. publisher adalah sysname, tanpa default.

[ @publisher_db = ] 'publisher_db' Adalah nama database Publisher. publisher_db adalah sysname, tanpa default.

[ @publication = ] 'publication' Adalah nama publikasi. publikasi adalah sysname, dengan default semua, yang menandai semua langganan untuk reinitialisasi.

Mengembalikan Nilai Kode

0 (berhasil) atau 1 (kegagalan)

Keterangan

sp_reinitpullsubscription digunakan dalam replikasi transaksional.

sp_reinitpullsubscription tidak didukung untuk replikasi transaksional peer-to-peer.

sp_reinitpullsubscription dapat dipanggil dari Pelanggan untuk menginisialisasi ulang langganan, selama eksekusi Agen Distribusi berikutnya.

Langganan ke publikasi yang dibuat dengan nilai false untuk @immediate_sync tidak dapat diinisialisasi ulang dari Pelanggan.

Anda dapat menginisialisasi ulang langganan penarikan dengan menjalankan sp_reinitpullsubscription di Pelanggan atau sp_reinitsubscription di Penerbit.

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

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

USE [AdventureWorks2022Replica]

-- Execute at the Subscriber to reinitialize the pull subscription. 
EXEC sp_reinitpullsubscription 
    @publisher = $(PubServer),
    @publisher_db = @publicationDB,
    @publication = @publication;
GO

-- Start the Distribution Agent.

Izin

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

Lihat Juga

Menginisialisasi ulang Langganan
Menginisialisasi ulang Langganan
Prosedur Tersimpan Sistem (Transact-SQL)