Alwayson 常用视图总结

最常用视图

sys.dm_hadr_database_replica_cluster_states

Windows Server 故障转移群集 (WSFC) 群集上每个 AlwaysOn 可用性组中的可用性数据库的运行状况

sys.dm_hadr_database_replica_states

此动态管理视图显示主副本和辅助副本有关的状态信息。?在辅助副本上,此视图为服务器实例上的每个辅助数据库都返回一行。?在主副本上,此视图为每个主数据库都返回一行,并且为相应的辅助数据库另外返回一行

?

sys.dm_hadr_database_replica_cluster_states


列名称


数据类型


说明


replica_id


uniqueidentifier


可用性组内可用性副本的标识符。


group_database_id


uniqueidentifier


可用性组内数据库的标识符。?在此数据库联接到的每个副本上,该标识符都是相同的。


database_name


sysname


属于可用性组的数据库的名称。


is_failover_ready


bit


指示辅助数据库是否与相应的主数据库同步。?可为下列值之一:

0 = 该数据库在群集中未标记为已同步。?数据库尚未做好故障转移准备。

1 = 该数据库在群集中标记为已同步。?数据库已做好故障转移准备。


is_pending_secondary_suspend


bit


指示强制故障转移后,数据库是否正待挂起,可为下列值之一:

0 = HADR_SYNCHRONIZED_ SUSPENDED 之外的任何状态。

1 = HADR_SYNCHRONIZED_ SUSPENDED。?强制故障转移完成后,每个辅助数据库将设置为 ADR_SYNCHONIZED_SUSPENDED 并保持此状态,直到新的主副本收到该辅助数据库关于 SUSPEND 消息的确认。

NULL = 未知(无仲裁)


is_database_joined


bit


指示此可用性副本上的数据库是否已联接到可用性组,可为下列值之一:

0 = 数据库未联接到此可用性副本上的可用性组。

1 = 数据库联接到此可用性副本上的可用性组。

NULL = 未知(可用性副本缺少仲裁。)


recovery_lsn


numeric(25,0)


在主副本上,在恢复或故障转移后、但在副本写入任何新日志记录前事务日志的结尾。?在主副本上,某一给定辅助数据库的行将具有主副本需要辅助副本同步到(即,还原到且重新初始化到)的值。

在辅助副本上此值为 NULL。?请注意,每个辅助副本将具有 MAX 值或是主副本通知辅助副本返回到的较低值。


truncation_lsn


numeric(25,0)


AlwaysOn 可用性组 日志截断值,如果阻止本地日志截断(例如由备份操作阻止),该值可能高于本地截断 LSN。

?

sys.dm_hadr_database_replica_states


列名称


数据类型


说明(针对主副本)


database_id


int


数据库的标识符,在 SQL Server 的实例内是唯一的。?该值在与在?sys.databases?目录视图中显示的值相同。


group_id


uniqueidentifier


数据库所属的可用性组的标识符。


replica_id


uniqueidentifier


可用性组内可用性副本的标识符。


group_database_id


uniqueidentifier


可用性组内数据库的标识符。?在此数据库联接到的每个副本上,该标识符都是相同的。


is_local


bit


可用性数据库是否是本地的,可以是下列值之一:

0 = 数据库对于 SQL Server 实例而言不是本地的。

1 = 数据库对于服务器实例而言是本地的。


synchronization_state


tinyint


数据移动状态,可以是下列值之一:



说明


0


未同步。

  • 对于某一主数据库,指示该数据库未做好将其事务日志与相应的辅助数据库同步的准备。
  • 对于辅助数据库,指示数据库由于连接问题而未开始日志同步,正被挂起,或者在启动或角色切换过程中正在转换状态。

1


正在同步。

  • 对于主数据库,指示此数据库已做好接受来自辅助数据库的扫描请求的准备。
  • 对于辅助数据库,指示对于该数据库正在发生活动数据移动。

2


已同步。

  • 主数据库显示 SYNCHRONIZED 来代替 SYNCHRONIZING。
  • 同步提交辅助数据库在以下情况下将显示已同步:本地缓存指示数据库副本可供故障转移并且数据库正在同步。

3


正在恢复。?指示撤消进程中辅助数据库主动从主数据库获取页时的阶段。


?注意


当辅助副本上的数据库处于 REVERTING 状态时,强制故障转移到辅助副本将使数据库处于该数据库不能作为主数据库启动的状态。?该数据库将需要作为辅助数据库重新连接,或者您需要应用来自日志备份的新日志记录。


4


正在初始化。?指示在正在辅助副本上传送和强制写入辅助数据库跟上撤消 LSN 所需的事务日志时的撤消阶段。


?注意


当辅助副本上的数据库处于 INITIALIZING 状态时,强制故障转移到辅助副本将使数据库处于该数据库可作为主数据库启动的状态。?该数据库将需要作为辅助数据库重新连接,或者您需要应用来自日志备份的新日志记录。


synchronization_state_desc


nvarchar(60)


数据移动状态的说明,可以是下列值之一:

NOT SYNCHRONIZING

SYNCHRONIZING

SYNCHRONIZED

REVERTING

INITIALIZING


is_commit_participant


bit


0 = 就此数据库而言,事务提交未同步。

1 = 就此数据库而言,事务提交同步。

对于异步提交可用性副本上的数据库,该值始终为 0。

对于同步提交可用性副本上的数据库,该值仅在主数据库上是准确的。


synchronization_health


tinyint


反映加入到可用性副本上可用性组的数据库的同步状态与可用性副本的可用性模式(同步提交或异步提交模式)之间的交集,其中:



说明


0


不正常。?数据库的?synchronization_state?为 0 (NOT SYNCHRONIZING)。


1


部分正常。?如果?synchronization_state?为 1 (SYNCHRONIZING),则认为同步提交可用性副本上的数据库是不完全正常的。


2


正常。?如果?synchronization_state?为 2 (SYNCHRONIZED),则认为同步提交可用性副本上的数据库是正常的;如果?synchronization_state?为 1 (SYNCHRONIZING),则认为异步提交可用性副本上的数据库是正常的。


synchronization_health_desc


nvarchar(60)


可用性数据库的?synchronization_health?的说明。

NOT_HEALTHY

PARTIALLY_HEALTHY

HEALTHY


database_state


tinyint


0 = 联机

1 = 正在还原

2 = 正在恢复

3 = 恢复挂起

4 = 可疑

5 = 紧急

6 = 脱机


?注意


与 sys.databases 中的?state?列相同。


database_state_desc


nvarchar(60)


可用性副本的?database_state?的说明。

ONLINE

RESTORING

RECOVERING

RECOVERY_PENDING

SUSPECT

EMERGENCY

OFFLINE


?注意


与 sys.databases 中的?state?列相同。


is_suspended


bit


数据库状态,可以是下列值之一:

0 = 已恢复

1 = 已挂起


suspend_reason


tinyint


如果数据库处于已挂起状态,则为已挂起状态的原因,可以是下列值之一:

0 = 用户操作

1 = 挂起来自伙伴

2 = 重做

3 = 应用

4 = 捕获

5 = 重新启动

6 = 撤消

7 = 重新验证

8 = 计算辅助副本同步点时出错


suspend_reason_desc


nvarchar(60)


数据库挂起状态的原因的说明,可以是下列值之一:

SUSPEND_FROM_USER = 用户手动挂起的收据移动

SUSPEND_FROM_PARTNER = 在强制故障转移后挂起数据库副本

SUSPEND_FROM_REDO = 在重做阶段中出错

SUSPEND_FROM_APPLY = 在将日志写入文件时出错(请参阅错误日志)

SUSPEND_FROM_CAPTURE = 在捕获主副本上的日志时出错

SUSPEND_FROM_RESTART = 在重新启动数据库前挂起数据库副本(请参阅错误日志)

SUSPEND_FROM_UNDO = 在撤消阶段中出错(请参阅错误日志)

SUSPEND_FROM_REVALIDATION = 在重新连接时检测到了日志更改不匹配(请参阅错误日志)

SUSPEND_FROM_XRF_UPDATE = 找不到公共日志点(请参阅错误日志)


recovery_lsn


numeric(25,0)


在主副本上,在恢复或故障转移之后、在主数据库写入任何新日志记录之前事务日志的结尾。?对于给定的辅助数据库,如果该值小于当前硬化的 LSN (last_hardened_lsn),则 recovery_lsn 是此辅助数据库需要重新同步的值(即要恢复到和重新初始化的值)。?如果该值大于或等于当前硬化 LSN,重新同步将没有必要且不会发生。

recovery_lsn?反映了用零填充的日志块 ID。?它不是实际的日志序列号 (LSN)。?有关如何派生此值的信息,请参阅本主题后面的了解 LSN 列值


truncation_lsn


numeric(25,0)


在主副本上,对于主数据库,反映了所有相应辅助数据库中的最小日志截断 LSN。?如果阻止本地日志截断(例如由备份操作阻止),则该 LSN 可能高于本地截断 LSN。

对于给定的辅助数据库,反映了该数据库的截断点。

truncation_lsn?反映了用零填充的日志块 ID。?它不是实际的日志序列号。


last_sent_lsn


numeric(25,0)


指示一个点(在该点前的所有日志块都已由主数据库发送)的日志块标识符。?该标识符是将发送的下一日志块的 ID,而非最近发送的日志块的 ID。

last_sent_lsn?反映了用零填充的日志块 ID,它不是实际的日志序列号。


last_sent_time


datetime


发送最后一个日志块的时间。


last_received_lsn


numeric(25,0)


标识一个点的日志块 ID,在该点之前,所有日志块都已由承载此辅助数据库的辅助副本接收。

last_received_lsn?反映了用零填充的日志块 ID。?它不是实际的日志序列号。


last_received_time


datetime


在辅助副本上读取最后接收的消息中的日志块 ID 的时间。


last_hardened_lsn


numeric(25,0)


包含辅助数据库上最后强制写入的 LSN 的日志记录的日志块开头。

在异步提交主数据库上或其当前策略为"延迟"的同步提交数据库上,该值为 NULL。?对于其他同步提交主数据库,last_hardened_lsn?指示所有辅助数据库中强制写入的 LSN 的最小值。


?注意


last_hardened_lsn?反映了用零填充的日志块 ID。?它不是实际的日志序列号。?有关详细信息,请参阅本主题稍后部分中的了解 LSN 列值


last_hardened_time


datetime


在辅助数据库上,上次强制写入的 LSN (last_hardened_lsn) 的日志块标识符的时间。?在主数据库上,反映了与最小强制写入的 LSN 相对应的时间。


last_redone_lsn


numeric(25,0)


在辅助数据库上重做的上一个日志记录的实际日志序列号。?last_redone_lsn?始终小于last_hardened_lsn


last_redone_time


datetime


在辅助数据库上重做最后一个日志记录的时间。


log_send_queue_size


bigint


主数据库中尚未发送到辅助数据库的日志记录量 (KB)。


log_send_rate


bigint


日志记录发送到辅助数据库的速率(KB/秒)。


redo_queue_size


bigint


辅助副本的日志文件中尚未重做的日志记录量 (KB)。


redo_rate


bigint


日志记录在给定辅助数据库上重做的速率(KB/秒)。


filestream_send_rate


bigint


FILESTREAM 文件传送到辅助副本的速率(KB/秒)。


end_of_log_lsn


numeric(25,0)


日志 LSN 的本地结尾。?与主数据库和辅助数据库上日志缓存中的最后一个日志记录相对应的实际 LSN。在主副本上,辅助行反映了辅助副本已发送到主副本的最新进度消息中日志 LSN 的结尾。

end_of_log_lsn?反映了用零填充的日志块 ID。?它不是实际的日志序列号。?有关详细信息,请参阅本主题稍后部分中的了解 LSN 列值


last_commit_lsn


Numeric(25,0)


与事务日志中的最后提交的记录相对应的实际日志序列号。

主数据库上,这对应于上次处理的提交记录。?辅助数据库的行显示辅助副本已发送到主副本的日志序列号。

在辅助副本上,这是已重做的最后一个提交记录。


last_commit_time


datetime


与最后一个提交记录对应的时间。

在辅助数据库上,此时间与主数据库上的时间相同。

在主副本上,每个辅助数据库行都显示承载该辅助数据库的辅助副本报告回主副本的时间。?主数据库行和给定辅助数据库行之间的时间差异大体上表示还原时间目标 (RPO),并且假定跟随进行重做进程并且进度已由辅助副本报告回主副本。


low_water_mark_for_ghosts


bigint


针对数据库的单调递增的数字,指示主数据库上虚影清除使用的低水印。?如果这个数字没有随着时间的推移而增加,则意味着虚影清除可能未发生。?为了确定要清除的虚影行,主副本会在所有可用性副本(包括主副本)上将该列的最小值用于此数据库。

时间: 2024-11-09 02:02:01

Alwayson 常用视图总结的相关文章

Alwayson常用视图整理

  sys.dm_hadr_auto_page_repair 为针对任何可用性数据库(位于服务器实例为任何可用性组承载的可用性副本上) 的每一个自动页修复尝试都返回一行 sys.dm_hadr_cluster_networks 为每个参与可用性组子网配置的 WSFC 群集成员都返回一行, 可以使用此动态管理视图来验证为每个可用性副本配置的网络虚拟 IP sys.dm_hadr_availability_group_states 显示实例下可用性组的运行状况的状态 sys.dm_hadr_data

screen对象的常用视图属性

screen对象基本上只用来表明客户端的能力,其中包括浏览器窗口外部的显示器的信息,如像素高度和宽度等.每个浏览器中的screen对象都包含着各不相同的属性.本文将详细介绍screen对象的常用视图属性 width width属性表示屏幕的像素宽度 height height属性表示屏幕的像素高度 //chrome:1080 1920//IE/firefox/safari:864 1536console.log(screen.height,screen.width); avaiWidth ava

了解screen对象的常用视图属性

前面的话 screen对象基本上只用来表明客户端的能力,其中包括浏览器窗口外部的显示器的信息,如像素高度和宽度等.每个浏览器中的screen对象都包含着各不相同的属性.本文将详细介绍screen对象的常用视图属性 width width属性表示屏幕的像素宽度 height height属性表示屏幕的像素高度 //chrome:1080 1920 //IE/firefox/safari:864 1536 console.log(screen.height,screen.width); avaiWi

探索ASP.NET MVC5系列之~~~2.视图篇---常用视图技能

其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程 汇总:http://www.cnblogs.com/dunitian/p/4822808.html 本章Demo:https://github.com/dunitian/LoTCodeBase/blob/master/NetCode/6.网页基础/BMVC5/MVC5Base/Controllers/IndexController.cs 4.共用其他视图 不同控制器渲染同一个视图文件.这个应用场景还是比较多的,

oracle 常用视图和表

1.查看当前用户的基本信息 select * from user_users 2.查看当前用户的角色 select * from user_role_privs 3.查看当前用户的系统权限和表权限 select * from user_sys_privs; select * from user_tab_privs; 4.查看当前用户的所有表 select * from user_tables; 5.查看当前用户表列的信息 select * from USER_TAB_COLUMNS 6.查看系统

Alwayson常用脚本

1.修改实例下所有节点的数据同步模式,在master数据库下运行 --查找所有异步提交的辅助节点,修改为同步提交模式 -- SYNCHRONOUS_COMMIT 同步提交模式 -- ASYNCHRONOUS_COMMIT 异步提交模式 select 'ALTER AVAILABILITY GROUP ['+a.name+'] MODIFY REPLICA ON N'''+c.replica_server_name+''' WITH (AVAILABILITY_MODE = SYNCHRONOUS

视图和表的区别和联系

数据库中的数据都是存储在表中的,而视图只是一个或多个表依照某个条件组合而成的结果集,一般来说你可以用update,insert,delete等sql语句修改表中的数据,而对视图只能进行select操作.但是也存在可更新的视图,对于这类视图的update,insert和delete等操作最终会作用于与其相关的表中数据.因此,表是数据库中数据存储的基础,而视图只是为了满足某种查询要求而建立的一个对象. 表是物理存在的,你可以理解成计算机中的文件!视图是虚拟的内存表,你可以理解成Windows的快捷方

UIView 视图切换

UIView之间常用视图之间切换方式 转载自:http://www.jianshu.com/p/0d53f9402c07 在平时编写代码的过程中,页面之间的跳转可以说就和MVC模式一样是开发必须的.但是可能我们知道一种或者几种页面之间的跳转,今天我就来总结一下我在开发之中遇到的所有的页面跳转代码.(关于控制器之间的简单的跳转,比如导航控制器跳转.故事版跳转.简单的模态跳转不在这里多说) 一.代理跳转. 通常我们在跳转中经常是通过你点击了某个事件或者某个操作使你进行控制器之间的跳转.那么我们可以在

oracle sql资源消耗相关视图

一.常用视图说明 Oracle sql语句资源消耗监控,最常用的系统视图有: v$sql v$sqlarea v$sqltext v$session v$sql和v$sqlarea基本相同,记录了共享SQL区(share pool)中SQL统计信息,如内存消耗.IO(物理磁盘读和逻辑内存读).排序操作.哈希ID等数据.不同之处在于v$sql为每一条SQL保留一个条目,而v$sqlarea中根据sql_text(需要注意,该处存储的为当前SQL指针的前1000个字符,也就是说这里记录的SQL可能是