暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

sqlserver数据库镜像状态表

原创 seven 2023-10-22
177

数据库镜像状态表

数据库镜像状态存储在 msdb 数据库内的一个内部、未记录的数据库镜像状态表中。 在服务器实例上首次更新镜像状态时,便会自动创建此状态表。

状态表可以自动更新,也可以由系统管理员手动更新,但最低更新间隔为 15 秒。 将最低更新间隔设置为 15 秒可以防止服务器实例因状态请求而导致重载。

状态表可以通过数据库镜像监视器和数据库镜像监视器作业(如果正在运行)进行自动更新。 默认情况下,“数据库镜像监视器作业”将每分钟更新一次状态表(系统管理员可以将更新持续时间指定为 1 至 120 分钟之间的一个值)。 相反,数据库镜像监视器每隔 30 秒自动更新一次状态表。 对于这些更新,“数据库镜像监视器作业”和数据库镜像监视器将调用 sp_dbmmonitorupdate

sp_dbmmonitorupdate 第一次运行时,它将在 msdb 数据库中创建“数据库镜像状态”表和 dbm_monitor 固定数据库角色。 sp_dbmmonitorupdate 通常通过针对服务器实例上的每个镜像数据库将新行插入状态表来更新镜像状态;有关详细信息,请参阅本主题后面的“数据库镜像状态表”。 此过程还会计算新行中的性能指标并截断保留时间长于当前保持期(默认为 7 天)的行。 有关详细信息,请参阅 sp_dbmmonitorupdate (Transact-SQL)。

 备注

除非数据库镜像监视器当前正在由 sysadmin 固定服务器角色成员使用,否则,只有在具有“数据库镜像监视器作业”并且 SQL Server 代理正在运行时,才能自动更新状态表。

数据库镜像监视器作业

数据库镜像监视作业( “数据库镜像监视器作业” )独立于数据库镜像监视器运行。 仅当使用启动镜像会话时,才能自动创建 “数据库镜像监视器作业” SQL Server Management Studio 。 如果始终使用 ALTER DATABASE database_name SET PARTNER 命令开始镜像,则仅当系统管理员运行 sp_dbmmonitoraddmonitoring 存储过程时,该作业才存在。

创建 “数据库镜像监视器作业” 之后,如果 SQL Server 代理正在运行,则默认情况下,每分钟调用一次作业。 然后,作业会调用 sp_dbmmonitorupdate 系统存储过程。

默认情况下,SQL Server 代理每分钟调用一次“数据库镜像监视器作业”,而作业随即调用 sp_dbmmonitorupdate 以更新状态表 。 系统管理员可以使用 sp_dbmmonitorchangemonitoring 系统存储过程更改更新持续时间,他们还可以使用 sp_dbmmonitorchangemonitoring 系统存储过程查看当前的更新持续时间。 有关详细信息,请参阅 sp_dbmmonitoraddmonitoring (Transact-SQL) 和 sp_dbmmonitorchangemonitoring (Transact-SQL)。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论