PublisherMonitor.EnumDatabaseSubscriptions 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回有关订阅的信息,这些订阅属于使用指定的发布数据库的发布。
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具有以下列的对象。
列名称 | 数据类型 | 说明 |
---|---|---|
status | int | 与发布关联的所有复制代理的最大状态,可以是以下值之一: 1 = 已启动 2 = 成功 3 = 正在进行 4 = 空闲 5 = 重试 6 = 失败 |
warning | int | 由属于该发布的订阅所生成的最大阈值警告,可以是下列一个或多个值进行逻辑或运算的结果。
1 = 过期 - 事务发布的订阅未在保留期阈值内同步。 2 = 延迟 - 将数据从事务发布服务器复制到订阅服务器所花费的时间超过阈值(以秒为单位)。 4 = mergeexpiration - 合并发布的订阅未在保留期阈值内同步。 8 = mergefastrunduration - 完成合并订阅同步所需的时间超过通过快速网络连接的阈值(以秒为单位)。 16 = mergeslowrunduration - 完成合并订阅同步所需的时间超过阈值,以秒为单位,超过慢速或拨号网络连接。 32 = mergefastrunspeed – 合并订阅同步期间行的传递率未能通过快速网络连接保持阈值速率(以行/秒为单位)。 64 = mergeslowrunspeed – 合并订阅同步期间行的传递率未能通过慢速或拨号网络连接保持阈值速率(以每秒行为单位)。 |
subscriber | sysname | 订阅服务器的名称。 |
subscriber_db | sysname | 用于订阅的数据库的名称。 |
publisher_db | sysname | 发布数据库的名称。 |
publication | sysname | 发布的名称。 |
publication_type | int | 发布的类型,可以是下列值之一: 0 = 事务发布 1 = 快照发布 2 = 合并发布 |
subtype | int | 订阅类型,可以是下列值之一: 0 = 推送 1 = 拉取 2 = 匿名 |
latency | int | 在事务发布中,由日志读取器代理或分发代理传播的数据更改的最长滞后时间(以秒为单位)。 |
latencythreshold | int | 事务发布的最长滞后时间,高于此时间即产生警告。 |
agentnotrunning | int | 代理未运行的时间长度,以小时为单位。 |
agentnotrunningthreshold | int | 产生警告前代理未运行的时间长度,以小时为单位。 |
timetoexpiration | int | 订阅未同步时订阅过期前的时间长度,以小时为单位。 |
expirationthreshold | int | 订阅过期导致警告产生前的时间,以小时为单位。 |
last_distsync | datetime | 上一次分发代理运行的日期和时间。 |
distribution_agentname | sysname | 事务发布订阅的分发代理作业的名称。 |
mergeagentname | sysname | 合并发布订阅的合并代理作业的名称。 |
mergesubscriptionfriendlyname | sysname | 为订阅指定的友好名称。 |
mergeagentlocation | sysname | 运行合并代理的服务器的名称。 |
mergeconnectiontype | int | 将订阅同步到合并发布时使用的连接,可以是下列值之一: 1 = 局域网 (LAN) 2 = 拨号网络连接 3 = Web 同步。 |
mergePerformance | int | 订阅的上次同步相对于其所有同步的性能。 计算方法是用上次同步的传递速率除以之前所有传递速率的平均值。 |
mergerunspeed | float | 订阅的上次同步的传递速率。 |
mergerunduration | int | 完成订阅的上次同步的时间长度。 |
monitorranking | int | 用于对结果集中的订阅进行排序的排名值,可以是下列值之一。
对于事务发布: 60 = 错误 56 = 警告:性能严重 52 = 警告:即将过期或已过期 50 = 警告:订阅未初始化 40 = 重试失败命令 30 = 未运行 (成功) 20 = 运行 (启动、运行或空闲) 对于合并发布: 60 = 错误 56 = 警告:性能严重 54 = 警告:长时间运行的合并 52 = 警告:即将过期或已过期 50 = 警告:订阅未初始化 40 = 重试失败命令 30 = 运行 (启动、运行或空闲) 20 = 未运行 (成功) |
distributionagentjobid | binary(16) | 事务发布订阅的分发代理作业的 ID。 |
mergeagentjobid | binary(16) | 合并发布订阅的合并代理作业的 ID。 |
distributionagentid | int | 订阅的分发代理作业的 ID。 |
distributionagentprofileid | int | 分发代理使用的代理配置文件的 ID。 |
mergeagentid | int | 订阅的合并代理作业的 ID。 |
mergeagentprofileid | int | 合并代理使用的代理配置文件的 ID。 |
注解
EnumDatabaseSubscriptions方法只能由分发数据库上或replmonitor
固定数据库角色的成员db_owner
调用。
调用 EnumDatabaseSubscriptions 等效于执行 sp_replmonitorhelpsubscription。