PublisherMonitor.EnumDatabaseSubscriptions 方法

定义

返回有关订阅的信息,这些订阅属于使用指定的发布数据库的发布。

public:
 System::Data::DataSet ^ EnumDatabaseSubscriptions(System::String ^ publicationDatabase, Microsoft::SqlServer::Replication::PublicationType publicationType, Microsoft::SqlServer::Replication::SubscriptionResultOption resultOption);
public System.Data.DataSet EnumDatabaseSubscriptions (string publicationDatabase, Microsoft.SqlServer.Replication.PublicationType publicationType, Microsoft.SqlServer.Replication.SubscriptionResultOption resultOption);
member this.EnumDatabaseSubscriptions : string * Microsoft.SqlServer.Replication.PublicationType * Microsoft.SqlServer.Replication.SubscriptionResultOption -> System.Data.DataSet
Public Function EnumDatabaseSubscriptions (publicationDatabase As String, publicationType As PublicationType, resultOption As SubscriptionResultOption) As DataSet

参数

publicationDatabase
String

发布数据库的名称。

publicationType
PublicationType

发布类型。

resultOption
SubscriptionResultOption

一个指定结果选项的 SubscriptionResultOption 值。

返回

DataSet具有以下列的对象。

列名称 数据类型 说明
statusint 与发布关联的所有复制代理的最大状态,可以是以下值之一:

1 = 已启动

2 = 成功

3 = 正在进行

4 = 空闲

5 = 重试

6 = 失败

warningint 由属于该发布的订阅所生成的最大阈值警告,可以是下列一个或多个值进行逻辑或运算的结果。

1 = 过期 - 事务发布的订阅未在保留期阈值内同步。

2 = 延迟 - 将数据从事务发布服务器复制到订阅服务器所花费的时间超过阈值(以秒为单位)。

4 = mergeexpiration - 合并发布的订阅未在保留期阈值内同步。

8 = mergefastrunduration - 完成合并订阅同步所需的时间超过通过快速网络连接的阈值(以秒为单位)。

16 = mergeslowrunduration - 完成合并订阅同步所需的时间超过阈值,以秒为单位,超过慢速或拨号网络连接。

32 = mergefastrunspeed – 合并订阅同步期间行的传递率未能通过快速网络连接保持阈值速率(以行/秒为单位)。

64 = mergeslowrunspeed – 合并订阅同步期间行的传递率未能通过慢速或拨号网络连接保持阈值速率(以每秒行为单位)。

subscribersysname 订阅服务器的名称。
subscriber_dbsysname 用于订阅的数据库的名称。
publisher_dbsysname 发布数据库的名称。
publicationsysname 发布的名称。
publication_typeint 发布的类型,可以是下列值之一:

0 = 事务发布

1 = 快照发布

2 = 合并发布

subtypeint 订阅类型,可以是下列值之一:

0 = 推送

1 = 拉取

2 = 匿名

latencyint 在事务发布中,由日志读取器代理或分发代理传播的数据更改的最长滞后时间(以秒为单位)。
latencythresholdint 事务发布的最长滞后时间,高于此时间即产生警告。
agentnotrunningint 代理未运行的时间长度,以小时为单位。
agentnotrunningthresholdint 产生警告前代理未运行的时间长度,以小时为单位。
timetoexpiration int 订阅未同步时订阅过期前的时间长度,以小时为单位。
expirationthresholdint 订阅过期导致警告产生前的时间,以小时为单位。
last_distsyncdatetime 上一次分发代理运行的日期和时间。
distribution_agentnamesysname 事务发布订阅的分发代理作业的名称。
mergeagentnamesysname 合并发布订阅的合并代理作业的名称。
mergesubscriptionfriendlynamesysname 为订阅指定的友好名称。
mergeagentlocationsysname 运行合并代理的服务器的名称。
mergeconnectiontypeint 将订阅同步到合并发布时使用的连接,可以是下列值之一:

1 = 局域网 (LAN)

2 = 拨号网络连接

3 = Web 同步。

mergePerformanceint 订阅的上次同步相对于其所有同步的性能。 计算方法是用上次同步的传递速率除以之前所有传递速率的平均值。
mergerunspeedfloat 订阅的上次同步的传递速率。
mergerundurationint 完成订阅的上次同步的时间长度。
monitorrankingint 用于对结果集中的订阅进行排序的排名值,可以是下列值之一。

对于事务发布:

60 = 错误

56 = 警告:性能严重

52 = 警告:即将过期或已过期

50 = 警告:订阅未初始化

40 = 重试失败命令

30 = 未运行 (成功)

20 = 运行 (启动、运行或空闲)

对于合并发布:

60 = 错误

56 = 警告:性能严重

54 = 警告:长时间运行的合并

52 = 警告:即将过期或已过期

50 = 警告:订阅未初始化

40 = 重试失败命令

30 = 运行 (启动、运行或空闲)

20 = 未运行 (成功)

distributionagentjobidbinary(16) 事务发布订阅的分发代理作业的 ID。
mergeagentjobidbinary(16) 合并发布订阅的合并代理作业的 ID。
distributionagentidint 订阅的分发代理作业的 ID。
distributionagentprofileidint 分发代理使用的代理配置文件的 ID。
mergeagentidint 订阅的合并代理作业的 ID。
mergeagentprofileidint 合并代理使用的代理配置文件的 ID。

注解

EnumDatabaseSubscriptions方法只能由分发数据库上或replmonitor固定数据库角色的成员db_owner调用。

调用 EnumDatabaseSubscriptions 等效于执行 sp_replmonitorhelpsubscription

适用于