Sqlserver 镜像切换操作并检查镜像同步情况
来源:这里教程网
时间:2026-03-02 11:17:31
作者:
ALTER DATABASE [dbname] SET SAFETY FULL
ALTER DATABASE [dbname] SET PARTNER FAILOVER
切换完毕到从节点,新的主节点上:
ALTER DATABASE [dbname] SET SAFETY OFF
检查镜像同步情况:
SET NOCOUNT ON
DECLARE @db_name varchar(100)
DECLARE @dblist TABLE([db_name] varchar(100))
DECLARE @a TABLE(
database_name SYSNAME
,[role] INT
,mirroring_state INT
,witness_status INT
,log_generation_rate INT
,unsent_log INT
,send_rate INT
,unrestored_log INT
,recovery_rate INT
,transaction_delay INT
,transactions_per_sec INT
,average_delay INT
,time_recorded DATETIME
,time_behind DATETIME
,local_time DATETIME
)
--导出镜像数据库名列表
insert into @dblist
select a.name
from sys.sysdatabases a (nolock)
join sys.database_mirroring b (nolock) on a.dbid=b.database_id
where mirroring_guid is not null
EXEC msdb.dbo.sp_dbmmonitorupdate
EXEC msdb.dbo.sp_dbmmonitorupdate --若server是初次执行这个sp,可能不会产生数据,所以需要再执行一次
--每个镜像数据库的相关记录通过循环全部导入表变量
while exists(select * from @dblist)
begin
set @db_name=(select top 1 [db_name] from @dblist)
delete @dblist where [db_name]=@db_name
INSERT INTO @a
EXEC msdb.dbo.sp_dbmmonitorresults @db_name
,0 --返回行数:-1行;-前条;-最近两小时行数;
,0 --0表示不调用sp_dbmmonitorupdate,表示调用
end
SELECT database_name
,CASE [role] WHEN 1 THEN '主体数据库'
WHEN 2 THEN '镜像数据库'
ELSE NULL END AS 'db_role'
,CASE mirroring_state WHEN 0 THEN '已挂起'
WHEN 1 THEN '已断开'
WHEN 2 THEN '正在同步'
WHEN 3 THEN '挂起故障转移'
WHEN 4 THEN '已同步'
ELSE NULL END AS mirroring_state
,CASE witness_status WHEN 0 THEN '未知'
WHEN 1 THEN '已连接'
WHEN 2 THEN '已断开'
ELSE NULL END AS witness_status
,unsent_log AS 'unsent_log[kb]'
,unrestored_log AS 'unrestored_log[kb]'
,send_rate AS 'send_rate[kb/s]'
,recovery_rate AS 'recovery_rate[kb/s]'
,transaction_delay AS 'transaction_delay/ms'
,transactions_per_sec
,average_delay
,time_recorded
,time_behind
,local_time
FROM @a
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- SQL SERVER版本补丁体系及升级
SQL SERVER版本补丁体系及升级
26-03-02 - 如何处理带有引号文本限定符的CVS
如何处理带有引号文本限定符的CVS
26-03-02 - 【SQLServer】SQL SERVER 移动系统数据库
【SQLServer】SQL SERVER 移动系统数据库
26-03-02 - 9164288 misaligned log IOs which required falling back to synchronous IO
- 你的家里不用安装宽带,如何让电视用上手机的流量
你的家里不用安装宽带,如何让电视用上手机的流量
26-03-02 - 【SQLServer】Server ‘SERVERNAME’ is not configured for RPC
- Sqlserver分析死锁问题
Sqlserver分析死锁问题
26-03-02 - 台式电脑在没有无线网卡的情况下如何上网
台式电脑在没有无线网卡的情况下如何上网
26-03-02 - A significant part of sql server process memory has been paged out
- 国家有关信息化机房定级、选址规定
国家有关信息化机房定级、选址规定
26-03-02
