Share via


sp_reinitsubscription (Transact-sql)

Abonelik reinitialization için işaretler. Bu saklı yordam, itme abonelikleri için yayımcı adresindeki yürütülür.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

sp_reinitsubscription [ [ @publication = ] 'publication' ]
    [ , [ @article = ] 'article' ]
        , [ @subscriber = ] 'subscriber'
    [ , [ @destination_db = ] 'destination_db']
    [ , [ @for_schema_change = ] 'for_schema_change']
    [ , [ @publisher = ] 'publisher' ]
    [ , [ @ignore_distributor_failure = ] ignore_distributor_failure ] 
    [ , [ @invalidate_snapshot = ] invalidate_snapshot ]

Bağımsız değişkenler

  • @ publication ='yayın'
    Yayını addır. Yayın olan sysname, tüm varsayılan.

  • @article='madde'
    Makaleyi addır. Madde olan sysname, tüm varsayılan. Hemen güncelleştirme yayının, Madde olması tüm; Aksi takdirde, saklı yordam yayını atlar ve bir hata bildirir.

  • @ abone ='abone'
    Abone addır. abone olan sysname, hiçbir varsayılan ile.

  • destination_db @ ='destination_db'
    Hedef veritabanının adıdır. destination_db olan sysname, tüm varsayılan.

  • @ for_schema_change ='for_schema_change'
    Reinitialization yayın veritabanı şema değişikliği sonucu oluşup oluşmadığını gösterir. for_schema_change olan bit, 0 varsayılan. Eğer 0, Bütün yayın ve sadece bazı onun makaleleri yeniden sürece hemen güncelleştirme izin yayınlar için etkin abonelikleri yeniden etkinleştirildiğinde. Reinitialization şema değişiklikleri sonucu başlatılan bu yani. Eğer 1, anlık görüntü Aracısı çalıştırır kadar etkin abonelikleri yeniden değil.

  • @publisher='Yayınevi'
    Olmayan bir belirtir- SQL Server Yayınevi. Yayıncı olan sysname, null varsayılan.

> [!NOT]
> <P><EM>Yayıncı</EM> için kullanılmamalıdır SQL ServerPublishers.</P>
  • **@ ignore_distributor_failure=**ignore_distributor_failure
    Dağıtımcı yok veya çevrimdışı olduğunda bile reinitialization verir. ignore_distributor_failureise bit, 0 varsayılan. Eğer 0, reinitialization başarısız olursa dağıtımcı yok veya çevrimdışıdır.

  • **@ invalidate_snapshot=**invalidate_snapshot
    Varolan bir yayını anlık görüntüsünü geçersiz kılar. invalidate_snapshotise bit, 0 varsayılan. Eğer 1, yeni bir anlık görüntü yayını için oluşturulur.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (hata)

Açıklamalar

sp_reinitsubscription işlem çoğaltma kullanılır.

sp_reinitsubscription eşler arası işlem çoğaltma için desteklenmiyor.

Bu saklı yordam şema ve toplu kopyalama program dosyaları hazırlanır ve dağıtım aracıların sonra abonelikleri yeniden eşitlemek mümkün böylece yürütüldükten sonra ilk anlık otomatik olarak ve nerede yayın güncelleştirilebilir abonelikleri izin vermez nerede uygulanır abonelikleri için anında aracı çalıştırılmalıdır.

Burada ilk anlık görüntüyü otomatik olarak uygulanır ve yayın güncelleştirilebilir abonelikleri izin abonelikleri için dağıtım aracısı kullanarak en son şema ve toplu kopyalama program dosyaları Snapshot Aracısı tarafından önceden oluşturulan abonelik yeniden eşitler. Hemen kullanıcı yürütür sonra Dağıtım Aracısı abonelik yeniden eşitler sp_reinitsubscription, dağıtım aracı meşgul; değilse Aksi takdirde, senkronizasyon ileti aralığından sonra ortaya çıkabilir (Dağıtım Aracısı komut satırı parametresiyle belirtilen: MessageInterval).

sp_reinitsubscription nerede ilk anlık uygulanan el abonelikleri üzerinde etkisi yoktur.

Yayını anonim abonelikleri yeniden eşitlemek için geçmesi tüm ya da null olarak abone.

Işlem çoğaltma abonelik reinitialization makale düzeyinde destekler. Makaleyi reinitialization için işaretlenmiş sonra makale anlık sonraki eşitlemede Abone tarafında yeniden. Ancak, varsa bağımlı da aynı abone makale anlık düzenlemezseniz, abone makaleleri yayında bağımlı makaleleri otomatik olarak belirli koşullar altında yeniden sürece için başarısız olabilir:

  • Makaleyi pre-creation komut ise 'bırak', şemaya bağlı görünümler makaleleri ve şemaya bağlı saklı yordamlar bu makalenin temel nesne üzerinde de reinitialization için işaretlenmiş.

  • Makaleyi şema seçeneği birincil anahtarlar üzerinde bildirilen bilgi tutarlılığı komut dosyası içeriyorsa, tabloları yeniden başlatılan makalenin temel yabancı anahtar ilişkileri ile temel tabloları makaleleri de reinitialization için işaretlenir.

Örnek

-- 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 @subscriptionDB AS sysname;
DECLARE @publication AS sysname;
SET @subscriptionDB = N'AdventureWorks2012Replica';
SET @publication = N'AdvWorksProductTran';

USE [AdventureWorks2012Replica]

-- Execute at the Publisher to reinitialize the push subscription.
EXEC sp_reinitsubscription 
    @subscriber = $(SubServer),
    @destination_db = @subscriptionDB,
    @publication = @publication;
GO

-- Start the Distribution Agent.

İzinler

Yalnızca üyeleri sysadmin sabit sunucu rolü, üyelerinin db_owner sabit veritabanı rolü veya abonelik oluşturan yürütebilirsiniz sp_reinitsubscription.

Ayrıca bkz.

Başvuru

Çoğaltma depolanan yordamlar (Transact-sql)

Kavramlar

Bir abonelik yeniden başlatmak

Abonelikleri yeniden başlatmak