sp_showpendingchanges (Transact-SQL)
傳回結果集,顯示正等候複寫的變更。 這個預存程序執行於發行集資料庫的發行者端,以及訂閱資料庫的訂閱者端。
注意
這個程序會提供變更數目的近似值,以及與這些變更相關的資料列。例如,此程序會從發行者或訂閱者擷取資訊,但不會同時針對兩者進行。儲存在另一個節點的資訊可能會使要同步處理的變更集比程序預估的變更集小。
語法
sp_showpendingchanges [ [ @destination_server = ] 'destination_server' ]
[ , [ @publication = ] 'publication' ]
[ , [ @article = ] 'article']
[ , [ @show_rows = ] show_rows]
引數
[ @destination\_server**=** ] 'destination_server'
這是套用所複寫之變更的伺服器名稱。 destination_server 是 sysname 預設值為 NULL。[ @publication**=** ] 'publication'
這是發行集的名稱。 publication 是 sysname,預設值是 NULL。 指定 publication 時,結果只限於指定的發行集。[ @article = ] 'article'
這是發行項的名稱。 article 是 sysname,預設值是 NULL。 如果指定 article,則結果只限於指定的發行項。[ @show\_rows = ] show_rows
指定結果集是否要包含關於暫止變更的其他特定資訊,預設值是 0。 如果指定的值為 1,則結果集會包含資料行 is_delete 和 rowguid。
結果集
資料行名稱 |
資料類型 |
說明 |
---|---|---|
destination_server |
sysname |
正要複寫變更所在的伺服器名稱。 |
pub_name |
sysname |
發行集的名稱。 |
destination_db_name |
sysname |
正要複寫變更所在的資料庫名稱。 |
is_dest_subscriber |
bit |
指出正要將變更複寫到訂閱者。 1 值表示正要將變更複寫到訂閱者。 0 值表示正要將變更複寫到發行者。 |
article_name |
sysname |
引發變更之資料表的發行項名稱。 |
pending_deletes |
int |
等候複寫的刪除數目。 |
pending_ins_and_upd |
int |
等候複寫的插入和更新數目。 |
is_delete |
bit |
表示暫止變更是否為刪除。 值為 1 時,表示該變更為刪除。 @show_rows 需要的值為 1。 |
rowguid |
uniqueidentifier |
識別所變更之資料列的 GUID。 @show_rows 需要的值為 1。 |
傳回碼值
0 (成功) 或 1 (失敗)
備註
sp_showpendingchanges 會用於合併式複寫。
疑難排解合併式複寫時會使用 sp_showpendingchanges。
sp_showpendingchanges 的結果並不包含層代 0 的資料列。
如果指定給 article 的發行項不屬於指定給 publication, 的發行集,則會對 pending_deletes 和 pending_ins_and_upd 傳回計數 0。
權限
只有 sysadmin 固定伺服器角色或 db_owner 固定資料庫角色的成員,才能夠執行 sp_showpendingchanges。