前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL Server 镜像数据库切换及同步状态变化

SQL Server 镜像数据库切换及同步状态变化

原创
作者头像
东山絮柳仔
修改2021-03-21 18:43:12
1.4K0
修改2021-03-21 18:43:12
举报
文章被收录于专栏:东山絮柳仔东山絮柳仔

一  主从(Mirror)正常情况故障转移

正常情况下都是在主Server上执行的,此时主Server上DB仍然可以正常访问。

1.1 通过图形界面转移
(主Server DB上执行,不是MirrorDB)
Step 1 选择需要故障转移的数据库,进入的镜像窗口
Step 2 选中【故障转移】
Step 3 点击 【是】
 Step 4 检查OK

1.2 通过SQL命令转移

 在master 数据库,下执行以下命令

代码语言:javascript
复制
Alter database Test_Mirror_0519 Set Partner failover 

注:Test_Mirror_0519为数据库名称

二 主数据库不能连接的时候

测试验证环境为,关闭了主服务器中的SQL Server 服务,在副本上执行以下命令:

代码语言:javascript
复制
Alter database Test_Mirror_0519 SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS

注:只有在主副本坏掉了才可以。但不能手动关闭主副本的PARTNER 关系,否则,无法执行Mirror命令了。

 测试时,我们是关闭主Server 的SQL Server 服务,关闭后,Mirror 服务器上Mirror库的状态如下:

 然后再强制执行上述切换命令,此时数据库已经是可读写了

 但是,当我们重启原主Server上的SQL Server 服务后,切换后的Mirror镜像的同步状态变成了  挂起  状态

 注意:此时数据库仍是可读写,此时的挂起状态,是指的镜像同步关系

查看主Server上数据库在切换前后状态的变化,关闭SQL Server 服务前

切换后,重启SQL Server 服务

为了消除 挂起 这两个字,可以在主Server或者Mirror Server 执行以下命令:

代码语言:javascript
复制
Alter database Test_Mirror_0519 Set Partner off

例如 在 Mirror上执行后,切换后的新主Server 、原Mirror DB Server,其状态如下:

原主Server

三.切换时,注意镜像操作模式

操作模式

事务安全

传输模式

见证服务器

故障切换类型

高可用

Full

同步

自动或手动切换

高保护

Full

同步

没有

只能手动切换

高性能

Off

异步

无需配置

只能强制切换

在以下高性能模式下,不能正常FailOver

告警提示如下:

代码语言:javascript
复制
TITLE: Database Properties
------------------------------

Manual failover is possible only when the operating mode is High safety (synchronous).  To failover manually, change the operating mode and then click OK. You can optionally change the operating mode back to High performance (asynchronous) at the new principal server instance when failover is complete.

------------------------------
BUTTONS:

OK
------------------------------

 解决方案

由高性能模式调整为安全模式,执行代码如下:

代码语言:javascript
复制
USE [master]
GO
ALTER DATABASE [Your_DB_Name] SET SAFETY FULL
GO

 调整后如下:

 正常切换后,MirrorDB变成主DB;主DB变成Mirror数据库。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一  主从(Mirror)正常情况故障转移
    • 1.1 通过图形界面转移
      • (主Server DB上执行,不是MirrorDB)
        • Step 1 选择需要故障转移的数据库,进入的镜像窗口
          • Step 2 选中【故障转移】
            • Step 3 点击 【是】
              •  Step 4 检查OK
              • 1.2 通过SQL命令转移
              • 二 主数据库不能连接的时候
              • 三.切换时,注意镜像操作模式
              相关产品与服务
              云数据库 SQL Server
              腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档