sp_showpendingchanges (Transact-SQL)

适用于SQL Server

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

Transact-SQL 语法约定

注意

此过程提供近似的更改数以及这些更改所涉及到的行。 例如,此过程将从发布服务器或订阅服务器上检索信息,但是不会在这两个服务器上同时进行检索。 存储在其他节点上的信息产生的要同步的更改数可能比该过程估计的更改数小。

语法

sp_showpendingchanges
    [ [ @destination_server = ] N'destination_server' ]
    [ , [ @publication = ] N'publication' ]
    [ , [ @article = ] N'article' ]
    [ , [ @show_rows = ] show_rows ]
[ ; ]

参数

[ @destination_server = ] N'destination_server'

应用复制更改的服务器的名称。 @destination_server为 sysname,默认值为 NULL.

[ @publication = ] N'publication'

发布的名称。 @publication为 sysname,默认值为 NULL. 指定@publication,结果仅限于指定的发布。

[ @article = ] N'article'

项目的名称。 @article为 sysname,默认值为 NULL. 指定@article,结果仅限于指定的项目。

[ @show_rows = ] show_rows

指定结果集是否包含有关挂起更改的更具体信息。 @show_rows为 int,默认值为 0. 如果指定了值 1 ,则结果集包含列 is_deleterowguid

结果集

列名称 数据类型 描述
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 在排查合并复制问题时使用。

第 0 代中不包含行的结果 sp_showpendingchanges

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

权限

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