sp_showpendingchanges (Transact-SQL)

返回一个结果集,其中显示了等待复制的更改。此存储过程用于在发布服务器上对发布数据库执行,或在订阅服务器上对订阅数据库执行。

主题链接图标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 时表示该更改是一个删除操作。要求值 1 用于 @show_rows。

rowguid

uniqueidentifier

标识已更改的行的 GUID。要求值 1 用于 @show_rows。

返回代码值

0(成功)或 1(失败)

注释

sp_showpendingchanges 用于合并复制。

sp_showpendingchanges 在排除合并复制故障时使用。

sp_showpendingchanges 的结果不包括第 0 代中的行。

如果为 article 指定的项目不属于为 publication 指定的发布,则将为 pending_deletes 和 pending_ins_and_upd 返回计数 0。

权限

只有 sysadmin 固定服务器角色的成员或 db_owner 固定数据库角色的成员才能执行 sp_showpendingchanges。