sp_marksubscriptionvalidation (Transact-sql)
Bir abonelik düzeyi doğrulama işlemi için belirtilen abone olmak için geçerli açık hareket işaretler. Bu saklı yordam, yayını veritabanı üzerinde yayımcı adresindeki yürütülür.
Transact-SQL Sözdizim Kuralları
Sözdizimi
sp_marksubscriptionvalidation [ @publication = ] 'publication'
, [ @subscriber = ] 'subscriber'
, [ @destination_db = ] 'destination_db'
[ , [ @publisher = ] 'publisher' ]
Bağımsız değişkenler
@ yayın=] 'publication'
Yayını addır. publicationise sysname, hiçbir varsayılan ile.@ abone=] 'subscriber'
Abone addır. ise subscribersysname, hiçbir varsayılan ile.destination_db @ ='destination_db'
Hedef veritabanının adıdır. destination_dbise sysname, hiçbir varsayılan ile.@publisher='publisher'
Olmayan bir belirtir- Microsoft SQL Server Yayınevi. publisherise sysname, null varsayılan.
> [!NOT]
> <P>publisherait olduğu yayın kullanılmamalıdır bir SQL ServerYayınevi.</P>
Dönüş Kodu Değerleri
0 (başarılı) veya 1 (hata)
Açıklamalar
sp_marksubscriptionvalidation işlem çoğaltma kullanılır.
sp_marksubscriptionvalidation olmayan desteklemiyor- SQL Server aboneleri.
İçin non- SQL Server Publishers, sen yürütülemiyor sp_marksubscriptionvalidation dan açık işlem içinden. Bunun nedeni, açık hareketler yayımcıya erişmek için kullanılan bağlantılı sunucu bağlantısı üzerinden desteklenmiyor.
sp_marksubscriptionvalidation ile birlikte kullanılması gereken sp_article_validation (Transact-sql), bir değer belirterek 1 için belirtmeve diğer aramalar için kullanılabilir sp_marksubscriptionvalidation geçerli açık hareket için diğer abonelerin işaretlemek için.
İzinler
Yalnızca üyeleri sysadmin sabit sunucu rolü veya db_owner sabit veritabanı rolü yürütebilirsiniz sp_marksubscriptionvalidation.
Örnek
Aşağıdaki sorgu, abonelik düzeyi geçerlilik komutları göndermek için yayımlama veritabanında uygulanabilir. Bu komutlar dağıtım aracıları tarafından belirtilen aboneler seçmek yukarıya. Not ilk hareketin madde doğrular 'art1', hareket ikinci doğrular'art2'. Ayrıca çağrı sp_marksubscriptionvalidation ve sp_article_validation (Transact-sql)bir hareket içinde saklanmış. Tek bir çağrı öneririz sp_article_validation (Transact-sql)işlem başına. Bunun sebebi sp_article_validation (Transact-sql)işlem süresi için kaynak tablo bir paylaşılan Tablo kilidi tutar. Hareketin eşzamanlılık maksimize etmek için kısa tutmak gerekir.
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
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
Ayrıca bkz.
Başvuru
Sistem saklı yordamları (Transact-sql)