SQL Server - Availability Replica 对象

适用范围:SQL Server

在 SQL Server 中,SQLServer:Availability Replica 性能对象包含的性能计数器将报告有关 Always On 可用性组中可用性副本的信息。 所有可用性副本性能计数器都适用于主副本和辅助副本,并且具有反映本地副本的发送/接收计数器。 大多数情况下,主副本发送大部分数据,而辅助副本将接收这些数据。 但是,辅助副本会将 ACK 和其他一些后台流量发送到主副本。 在给定的可用性副本上,某些计数器将显示零值,具体取决于本地副本的当前角色、主要角色或辅助角色。

计数器名称 说明
Bytes Received from Replica/sec 在 SQL Server 2012 和 2014 中:每秒从可用性副本接收的实际字节(压缩)数(同步或异步)。 Ping 和状态更新将生成网络流量,甚至在没有用户更新的数据库上也是如此。

在 SQL Server 2016 (13.x) 及其更高版本中:每秒从可用性副本接收的实际字节数(异步压缩,同步不压缩)。
Bytes Sent to Replica/sec 在 SQL Server 2012 和 2014 中:每秒通过网络发送到远程可用性副本的实际字节(压缩)数(同步或异步)。 默认情况下会同时为同步副本和异步副本启用压缩。

在 SQL Server 2016 (13.x) 及其更高版本中:每秒发送到远程可用性副本的字节数。 在同步副本的压缩之前。 (未压缩的同步副本的实际字节数)
Bytes Sent to Transport/sec 在 SQL Server 2012 和 2014 中: 通过网络发送到远程可用性副本(同步或异步)每秒发送的实际字节数(已压缩)。 默认情况下会同时为同步副本和异步副本启用压缩。

在 SQL Server 2016 (13.x) 及其更高版本中:在同步副本压缩之前每秒发送到远程可用性副本的字节数。 (未压缩的同步副本的实际字节数)
Flow Control Time (ms/sec) 日志流消息在最后一秒钟内等待发送流控制的时间(毫秒)。
Flow Control/sec 在最后一秒钟内启动的流控制次数。 Flow Control Time (ms/sec) 除以 Flow Control/sec 为每次等待的平均时间。
Receives from Replica/sec 每秒从副本接收的 Always On 消息的数量。
Resent Messages/sec 在最后一秒钟内重新发送的 Always On 消息的数量。 重发消息是一条尝试发送但无法完成的消息,必须再次尝试发送它。 尽管这可能是由于不同的原因导致的,但它与 TCP 重新传输不一样。
Sends to Replica/sec 每秒发送到此可用性副本的 Always On 消息的数量。
Sends to Transport/sec 每秒通过网络发送到远程可用性副本的 Always On 消息的实际数量。 在主副本上,这是发送到辅助副本的消息数。 在复制副本上,这是发送到主副本的消息数。

示例

使用 sys.dm_os_performance_counters 动态管理视图上的此 T-SQL 查询,开始浏览此对象中的查询性能计数器:

SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Availability Replica%';