Udostępnij za pośrednictwem


sp_marksubscriptionvalidation (Transact-SQL)

Zaznacza bieżący otwartej transakcji, która ma być transakcji subskrypcja poziom sprawdzania poprawności dla określonego subskrybent.Ta procedura przechowywana jest wykonywana przez wydawcę na baza danych publikacja.

Topic link iconKonwencje składni języka Transact-SQL

sp_marksubscriptionvalidation [ @publication = ] 'publication'
        , [ @subscriber = ] 'subscriber'
        , [ @destination_db = ] 'destination_db'
    [ , [ @publisher = ] 'publisher' ]

Argumenty

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

  • [ @ subskrybent = ] "subscriber'
    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 no default.

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

    Uwaga

    publisher nie powinny być używane w publikacja, który należy do SQL Server Wydawca.

Wartości kodów powrotnych

0 (sukces) lub 1 (brak)

Remarks

sp_marksubscriptionvalidation jest używany w replikacja transakcyjnej.

sp_marksubscriptionvalidation nie obsługuje nie-SQL Server Subskrybentów.

Dla innych niż-SQL Server Wydawcy, nie można wykonać sp_marksubscriptionvalidation od, transakcja jawna.Wynika to z transakcji jawnej nie są obsługiwane za pośrednictwem połączenia serwer połączony, umożliwiające dostęp do Wydawca.

sp_marksubscriptionvalidation musi być używany wraz z sp_article_validation (Transact-SQL), określając wartość 1 for subscription_leveli mogą być używane z innymi wywołaniami sp_marksubscriptionvalidation, aby oznaczyć bieżącej transakcji otwartych dla innych subskrybentów.

Uprawnienia

Tylko członkowie sysadmin stała rola serwera or db_owner stała rola bazy danych może być wykonywany sp_marksubscriptionvalidation.

Example

Następujące kwerendy mogą być stosowane do publikowania bazy danych w celu zaksięgowania poleceń poprawności poziom subskrypcja.Te polecenia są pobrania przez czynników dystrybucji określonego subskrybentów.Uwaga pierwszej transakcji sprawdzania artykuł „art1 . ", podczas drugiej sprawdza poprawność transakcji"art2'.Należy zwrócić również uwagę, że wywołania do sp_marksubscriptionvalidation and sp_article_validation (Transact-SQL) zostały już hermetyzowane w transakcji. Zaleca się tylko jedno wywołanie sp_article_validation (Transact-SQL) dla transakcji. Dzieje się tak, ponieważ sp_article_validation (Transact-SQL) Blokada udostępnionych tabela są przechowywane w tabela źródłowej na czas trwania transakcji. Należy zachować transakcji krótki, aby zmaksymalizować współbieżność.

begin tran

exec sp_marksubscriptionvalidation @publication = 'pub1',
 @subscriber = 'Sub', @destination_db = 'SubDB'

exec sp_marksubscriptionvalidation @publication = 'pub1',
 @subscriber = 'Sub2', @destination_db = 'SubDB'

exec sp_article_validation @publication = 'pub1', @article = 'art1',
 @rowcount_only = 0, @full_or_fast = 0, @shutdown_agent = 0,
 @subscription_level = 1

commit tran

begin tran

exec sp_marksubscriptionvalidation @publication = 'pub1',
 @subscriber = 'Sub', @destination_db = 'SubDB'

exec sp_marksubscriptionvalidation @publication = 'pub1',
 @subscriber = 'Sub2', @destination_db = 'SubDB'

exec sp_article_validation @publication = 'pub1', @article = 'art2',
 @rowcount_only = 0, @full_or_fast = 0, @shutdown_agent = 0,
 @subscription_level = 1

commit tran