sp_helpsubscription (Transact-SQL)
列出与特定的发布、项目、订阅服务器或订阅集关联的订阅信息。此存储过程在发布服务器上对发布数据库执行。
语法
sp_helpsubscription [ [ @publication = ] 'publication' ]
[ , [ @article = ] 'article' ]
[ , [ @subscriber = ] 'subscriber' ]
[ , [ @destination_db = ] 'destination_db' ]
[ , [ @found=] found OUTPUT ]
[ , [ @publisher = ] 'publisher' ]
参数
[ @publication = ] 'publication'
关联的发布的名称。publication 的数据类型为 sysname,默认值为 %,表示返回该服务器的所有订阅信息。[ @article= ] 'article'
项目的名称。article 的数据类型为 sysname,默认值为 %,表示返回所选发布和订阅服务器的所有订阅信息。如果为 all,则中为某个发布的全部订阅返回一项订阅信息。[ @subscriber= ] 'subscriber'
要获取订阅信息的订阅服务器的名称。subscriber 的数据类型为 sysname,默认值为 %,表示返回所选发布和项目的所有订阅信息。[ @destination_db= ] 'destination_db'
目标数据库的名称。destination_db 的数据类型为 sysname,无默认值为 %。[ @found= ] **'found'**OUTPUT
指示返回行的标志。found的数据类型为 int 而且是 OUTPUT 参数,默认值为 23456。1 指示已找到发布。
0 指示未找到发布。
[ @publisher= ] 'publisher'
发布服务器的名称。publisher 的数据类型为 sysname,默认值为当前服务器的名称。注意 不应指定 publisher,除非它是 Oracle 发布服务器。
结果集
列名 |
数据类型 |
说明 |
---|---|---|
subscriber |
sysname |
订阅服务器的名称。 |
publication |
sysname |
发布的名称。 |
article |
sysname |
项目的名称。 |
destination database |
sysname |
用于存放复制数据的目标数据库的名称。 |
subscription status |
tinyint |
订阅状态: 0 = 不活动 1 = 已订阅 2 = 活动 |
synchronization type |
tinyint |
订阅同步的类型: 1 = 自动 2 = 无 |
subscription type |
int |
订阅的类型: 0 = 推送 1 = 请求 2 = 匿名 |
full subscription |
bit |
指示是否订阅发布中的所有项目: 0 = 否 1 = 是 |
subscription name |
nvarchar(255) |
订阅的名称。 |
update mode |
int |
0 = 只读 1 = 立即更新订阅 |
distribution job id |
binary(16) |
分发代理的作业 ID。 |
loopback_detection |
bit |
环回检测将确定分发代理是否将在订阅服务器上发起的事务发送回订阅服务器: 0 = 发送回。 1 = 不发送回。 与双向事务复制一起使用。有关详细信息,请参阅双向事务复制。 |
offload_enabled |
bit |
指定复制代理的卸载执行是否已设置为在订阅服务器上运行。 如果为 0,则代理在发布服务器上运行。 如果为 1,则代理在订阅服务器上运行。 |
offload_server |
sysname |
启用了远程代理激活的服务器的名称。如果为 NULL,则使用在 MSdistribution_agents 表中列出的当前 offload_server。 |
dts_package_name |
sysname |
指定 Data Transformation Services (DTS) 包的名称。 |
dts_package_location |
int |
为订阅分配了一个 DTS 包时,此包的位置。如果有一个包,则值 0 指定此包位于 distributor。值 1 指定为 subscriber。 |
subscriber_security_mode |
smallint |
订阅服务器上的安全模式,其中 1 表示 Windows 身份验证,0 表示 SQL Server 身份验证。 |
subscriber_login |
sysname |
在订阅服务器上的登录名。 |
subscriber_password |
|
永远不会返回实际的订阅服务器密码。结果被“******”字符串所掩盖。 |
job_login |
sysname |
分发代理运行时所用的 Windows 帐户的名称。 |
job_password |
|
从不返回实际的作业密码。结果被“******”字符串所掩盖。 |
distrib_agent_name |
nvarchar(100) |
同步订阅的代理作业的名称。 |
subscriber_type |
tinyint |
订阅服务器的类型,可以是下列类型之一:
值说明
0SQL Server 订阅服务器
1ODBC 数据源服务器
2Microsoft JET 数据库(不推荐使用)
3OLE DB 访问接口
|
subscriber_provider |
sysname |
非 SQL Server 数据源的 OLE DB 访问接口用于注册的唯一编程标识符 (PROGID)。 |
subscriber_datasource |
nvarchar(4000) |
OLE DB 访问接口识别的数据源的名称。 |
subscriber_providerstring |
nvarchar(4000) |
OLE DB 访问接口特定的连接字符串,用于标识数据源。 |
subscriber_location |
nvarchar(4000) |
OLE DB 访问接口所了解的数据库的位置 |
subscriber_catalog |
sysname |
在与 OLE DB 访问接口建立连接时要使用的目录。 |
返回代码值
0(成功)或 1(失败)
注释
sp_helpsubscription 用于快照复制和事务复制。
权限
默认情况下,public 角色具有执行权限。只为用户返回他们创建的订阅的信息。全部订阅的信息返回给发布服务器上的 sysadmin 固定服务器角色成员或发布数据库上的 db_owner 固定数据库角色成员。