sp_reinitsubscription (języka Transact-SQL)

Oznacza subskrypcja dla ponownego inicjowania.Ta procedura składowana jest wykonywany na Wydawca dla wypychanie subskrypcji.

Ikona łącza do tematuKonwencje składni Transact-SQL

Składnia

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 ]

Argumenty

  • [ @ publikacja = 'publikacja"
    Is the name of the publication.publication is sysname, with a default of all.

  • [ @ artykuł = 'artykuł"
    Is the name of the article.article is sysname, with a default of all.Do natychmiastowej aktualizacji publikacja artykuł musi być wszystkich; w przeciwnym wypadku procedura składowana pomija publikacja i zgłasza błąd.

  • [ @ subskrybent = 'subskrybent"
    Is the name of the Subscriber.subscriber is sysname, with no default.

  • [ @ destination_db = 'destination_db"
    Is the name of the destination database.destination_db is sysname, with a default of all.

  • [ @ for_schema_change = 'for_schema_change"
    Indicates whether reinitialization occurs as a result of a schema change at the publication database.for_schema_change is bit, with a default of 0.Jeśli 0, aktywne subskrypcje w publikacjach, które umożliwiają natychmiastowe aktualizowanie są uaktywnione, jak ustawienie całej publikacja, a nie tylko niektóre z jego artykuły są ponownie inicjowane.Oznacza to, że ponownego zainicjowania jest są inicjowane z zmian schematu.Jeśli 1, aktywne subskrypcje nie są uaktywnione, dopóki Agent migawki jest uruchamiany.

  • [ @publisher= ] 'publisher'
    Specifies a non-SQL Server publisher.publisher is sysname, with a default of NULL.

    Ostrzeżenie

    Program Publisher nie może być używane do SQL Server wydawcy.

  • [ @ignore_distributor_failure= ] ignore_distributor_failure
    Allows reinitialization even if the Distributor does not exist or is offline.ignore_distributor_failure is bit, with a default of 0.Jeśli 0, ponownego inicjowania kończy się niepowodzeniem, jeśli dystrybutor, nie istnieje lub jest w trybie offline.

  • [ @invalidate_snapshot= ] invalidate_snapshot
    Invalidates the existing publication snapshot.invalidate_snapshot is bit, with a default of 0.Jeśli 1, Nowa migawka jest generowany dla publikacja.

Wartości kodów powrotnych

0 (sukces) lub 1 (błąd)

Uwagi

sp_reinitsubscription w replikacja transakcyjna.

sp_reinitsubscription nie jest obsługiwana dla typu peer-to-peer replikacja transakcyjna.

Dla subskrypcji gdzie migawka początkowa jest stosowane automatycznie, a w przypadku, gdy publikacja nie zezwala aktualizowalna subskrypcje, musi być uruchomiony Agent migawki, po wykonaniu tej procedura składowana, tak, aby schematu i luzem Skopiuj program pliki są przygotowywane i agentów dystrybucji następnie jest w stanie ponownie zsynchronizować subskrypcji.

Dla subskrypcja gdzie migawka początkowa jest stosowane automatycznie i publikacja umożliwia aktualizowalna subskrypcje, Agent dystrybucji synchronizuje subskrypcja przy użyciu najnowszych schematu i pliki programu kopiowanie masowe poprzednio utworzone przez agenta migawki.Agent dystrybucji synchronizuje subskrypcja natychmiast po użytkownik wykonuje sp_reinitsubscription, jeżeli Agent dystrybucji nie jest zajęty; w przeciwnym wypadku synchronizacja może wystąpić po upływie interwału wiadomości (określonej przez parametr wiersza polecenia agenta dystrybucji: MessageInterval).

sp_reinitsubscription nie ma wpływu na subskrypcje gdzie migawka początkowa ręcznie zastosować.

Aby ponownie zsynchronizować subskrypcje anonimowych do publikacja, należy przekazać w wszystkich lub NULL jako subskrybent.

replikacja transakcyjnej obsługuje ponownego zainicjowania subskrypcja poziom artykuł.migawka artykuł jest przywracane subskrybent podczas następnej synchronizacji po artykuł jest oznaczony do ponownego inicjowania.Jednak jeśli są zależne od artykułów, które również subskrybowanych przez tego samego abonenta, ponowne stosowanie migawka na artykuł może się nie powieść, chyba że ustawienie zależnych artykuły w publikacja są ponownie automatycznie inicjowane w pewnych okolicznościach:

  • Jeśli polecenie pre-creation w artykuł jest "drop", artykuły dla związanych ze schematem widoków i procedur przechowywanych związanych ze schematem na obiekt podstawowy tego artykuł jest oznaczony do ponownego zainicjowania również.

  • Jeśli opcja schematu na artykuł zawiera wykonywanie skryptów deklarowanych więzów integralność dla kluczy podstawowych, artykuły, które mają podstawowe tabel z klucz obcy relacje tabel reinitialized artykułu opierać są oznaczane do ponownego zainicjowania również.

Przykład

-- 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'AdventureWorks2008R2Replica';
SET @publication = N'AdvWorksProductTran';

USE [AdventureWorks2008R2Replica]

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

-- Start the Distribution Agent.

Uprawnienia

Tylko członkowie sysadmin stała rola serwera, członkowie db_owner ustaloną rola bazy danych lub twórca subskrypcja można wykonać sp_reinitsubscription.