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