sp_marksubscriptionvalidation (języka Transact-SQL)

Oznacza bieżącą otwartych transakcji do subskrypcja-poziom sprawdzania poprawności transakcji dla określonego subskrybent.Ta procedura składowana jest wykonywany Wydawca publikacja bazy danych.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

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

Argumenty

  • [ @publikacja= ] 'publication'
    Jest to nazwa publikacja.publicationjest Sysname, z Brak domyślnej.

  • [ @subskrybent= ] 'subscriber'
    Jest to nazwa subskrybenta.subscriberjest sysname z Brak domyślnej.

  • [ @ destination_db =] 'destination_db'
    Jest to nazwa obiekt docelowy bazy danych.destination_dbjest Sysname, z Brak domyślnej.

  • [ program publisher @= ] 'publisher'
    Określa różna-Microsoft SQL Server Wydawca.publisherjest Sysname, domyślna wartość NULL.

    Ostrzeżenie

    publishernie może być używane do publikacja , która należy do SQL Server Wydawca.

Wartości kodów powrotnych

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

Uwagi

sp_marksubscriptionvalidation jest używany w replikacjatransakcyjnej.

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

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

sp_marksubscriptionvalidation musi być użyty wraz z sp_article_validation (języka Transact-SQL), określając wartość 1 dla subscription_leveli może być używany z innymi wywołań sp_marksubscriptionvalidation Aby oznaczyć bieżącej transakcji otwartych dla innych subskrybentów.

Uprawnienia

Tylko członkowie sysadmin stała rola serwera lub db_owner Stała rola bazy danych można wykonać sp_marksubscriptionvalidation.

Przykład

Następujące kwerendy mogą być stosowane do publikowania bazy danych księgowania subskrypcja-poziom sprawdzania poprawności polecenia.Te polecenia są zabierani przez agentów rozkładu określoną abonentów.Uwaga pierwszej transakcji sprawdzania artykuł "art1", a druga sprawdza poprawność transakcji"art2'.Ponadto należy zauważyć, że wywołań sp_marksubscriptionvalidation i sp_article_validation (języka Transact-SQL) zostały hermetyzowane w transakcji.Zaleca się tylko jedno wywołanie sp_article_validation (języka Transact-SQL) dla transakcji.Wynika to z sp_article_validation (języka Transact-SQL) przechowuje udostępnione tabela blokada w źródło tabela na czas trwania transakcji.Należy zachować krótki, aby zmaksymalizować współbieżnośćtransakcji.

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