將合并訂閱重新同步到指定的已知驗(yàn)證狀態(tài)。這使您得以將訂閱數(shù)據(jù)庫(kù)強(qiáng)制集中或同步到特定的即時(shí)點(diǎn)(如上次成功驗(yàn)證的時(shí)間)或指定的日期。使用此方法重新同步訂閱時(shí),不重新應(yīng)用快照。此存儲(chǔ)過(guò)程不用于快照復(fù)制訂閱和事務(wù)復(fù)制訂閱。此存儲(chǔ)過(guò)程在發(fā)布服務(wù)器的發(fā)布數(shù)據(jù)庫(kù)上或訂閱服務(wù)器的訂閱數(shù)據(jù)庫(kù)上執(zhí)行。
sp_resyncmergesubscription [ [ @publisher = ] 'publisher' ]
[ , [ @publisher_db = ] 'publisher_db' ]
, [ @publication = ] 'publication '
[ , [ @subscriber = ] 'subscriber' ]
[ , [ @subscriber_db = ] 'subscriber_db' ]
[ , [ @resync_type = ] resync_type ]
[ , [ @resync_date_str = ] resync_date_string ]
[@publisher =] 'publisher'
是發(fā)布服務(wù)器名稱。publisher 的數(shù)據(jù)類型為 sysname,默認(rèn)設(shè)置為 NULL。如果此存儲(chǔ)過(guò)程運(yùn)行在發(fā)布服務(wù)器上,則 NULL 值有效。如果此存儲(chǔ)過(guò)程運(yùn)行在訂閱服務(wù)器上,則必須指定發(fā)布服務(wù)器。
[@publisher_db =] 'publisher_db'
是發(fā)布數(shù)據(jù)庫(kù)名。publisher_db 的數(shù)據(jù)類型為 sysname,默認(rèn)值為 NULL。如果此存儲(chǔ)過(guò)程運(yùn)行在發(fā)布服務(wù)器的發(fā)布數(shù)據(jù)庫(kù)上,則 NULL 值有效。如果此存儲(chǔ)過(guò)程運(yùn)行在訂閱服務(wù)器上,則必須指定發(fā)布服務(wù)器。
[@publication =] 'publication'
是發(fā)布名。publication 的數(shù)據(jù)類型為 sysname,無(wú)默認(rèn)值。
[@subscriber =] 'subscriber'
是訂閱服務(wù)器名。subscriber 的數(shù)據(jù)類型為 sysname,默認(rèn)設(shè)置為 NULL。如果此存儲(chǔ)過(guò)程運(yùn)行在訂閱服務(wù)器上,則 NULL 值有效。如果此存儲(chǔ)過(guò)程運(yùn)行在發(fā)布服務(wù)器上,則必須指定訂閱服務(wù)器。
[@subscriber_db = ] 'subscriber_db'
是訂閱數(shù)據(jù)庫(kù)名稱。subscription_db 的數(shù)據(jù)類型為 sysname,默認(rèn)設(shè)置為 NULL。如果此存儲(chǔ)過(guò)程運(yùn)行在訂閱服務(wù)器的訂閱數(shù)據(jù)庫(kù)上,則 NULL 值有效。如果此存儲(chǔ)過(guò)程運(yùn)行在發(fā)布服務(wù)器上,則必須指定訂閱服務(wù)器。
[@resync_type =] resync_type
定義重新同步的開(kāi)始時(shí)間。resync_type 的數(shù)據(jù)類型為 int,可以是下列值之一:
值 | 描述 |
---|---|
0 | 同步從初始快照后開(kāi)始。這是占用資源最多的選項(xiàng),因?yàn)樽猿跏伎煺蘸蟮乃懈亩贾匦聭?yīng)用于訂閱服務(wù)器。 |
1 | 同步從上次成功驗(yàn)證后開(kāi)始。所有自上次成功驗(yàn)證后發(fā)生的所有新的或未完成的生成都將重新應(yīng)用于訂閱服務(wù)器。 |
2 | 同步從 resync_date_str 中給定的日期開(kāi)始。所有在該日期后發(fā)生的新的或未完成的生成都將重新應(yīng)用于訂閱服務(wù)器。 |
[@resync_date_str =] resync_date_string
定義重新同步的開(kāi)始日期。resync_type 的數(shù)據(jù)類型為 nvarchar(30),默認(rèn)值為 NULL。當(dāng) resync_type 的值為 2 時(shí)使用此參數(shù)。給定的日期將轉(zhuǎn)換為等價(jià)的 datetime 值。
0(成功)或 1(失敗)
sp_resyncmergesubscription 用于合并復(fù)制。
resync_type 參數(shù)的值為 0,表示重新應(yīng)用自初始快照后發(fā)生的所有更改。該值可能需要大量資源,但可能比完全重新初始化占用的資源少得多。例如,如果初始快照是一個(gè)月前做的,則該值將重新應(yīng)用上個(gè)月的數(shù)據(jù)。如果初始快照包含 1 GB 數(shù)據(jù),但上個(gè)月的更改量包含 2 MB 的更改數(shù)據(jù),則重新應(yīng)用更改的數(shù)據(jù)比重新應(yīng)用完整的 1 GB 快照更有效。
只有 sysadmin 固定服務(wù)器角色成員或 db_owner 固定數(shù)據(jù)庫(kù)角色成員才能執(zhí)行 sp_resyncmergesubscription。
相關(guān)文章