当前位置:Gxlcms > 数据库问题 > SQLServer数据库镜像高性能模式下维护

SQLServer数据库镜像高性能模式下维护

时间:2021-07-01 10:21:17 帮助过:27人阅读

严格讲来,强制服务是一种灾难恢复方法。 强制服务可能会导致一些数据丢失。

因此,只有在为了立即恢复数据库服务而不惜丢失某些数据时,才可强制执行服务。

如果强制服务面临丢失重要数据的风险,则建议您停止镜像并手动重新同步数据库。

 

强制服务会挂起会话并启动新的恢复分叉。 强制服务的结果相当于删除镜像并恢复以前的主体数据库。

但是,强制服务便于在恢复镜像时重新同步数据库(可能造成数据丢失)。

 

在数据库镜像会话中强制执行服务

  1. 连接到镜像服务器。

  2. 发出以下语句:

    ALTER DATABASE <数据库名称> SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS

    其中,<数据库名称> 为镜像数据库。

    镜像服务器将立即转换为主体服务器,并且镜像挂起。

技术图片

 

4、(高性能模式)镜像服务器和见证服务器关闭,查看主库服务器数据库是否能访问

经过测试现在主库显示如下状态,如果镜像服务器和见证服务器同时宕机,主库服务器是没法使用的,除非去掉见证库!

或者拆除镜像的情况下才能访问数据,迅速恢复!

USE [master]
GO
--拆除镜像
--当镜像库显示正在恢复想变为正在还原模式执行下面
ALTER DATABASE 数据库名称 SET PARTNER OFF
GO
--将数据库从还原状态转化成正常模式
ALTER DATABASE 数据库名称 WITH RECOVERY
GO

技术图片

镜像拆除后的状态是可以访问数据的

技术图片

 

5、(高性能模式)主库服务器和见证服务器关闭,查看镜像服务器数据库是否能访问

主库服务器和见证服务器都关闭显示如下状态

技术图片

如果主库和见证服务器宕机一时半会没法恢复,但是急需恢复业务

可以执行拆除镜像来快速恢复使用

但是有可能在镜像服务器有些数据没有及时同步主库的,所以可以有数据丢失的情况!(除非能接收数据可丢失的情况,不然别轻易操作)

USE [master]
GO
--拆除镜像
--当镜像库显示正在恢复想变为正在还原模式执行下面
ALTER DATABASE 数据库名称 SET PARTNER OFF
GO
--将数据库从还原状态转化成正常模式
ALTER DATABASE 数据库名称 WITH RECOVERY
GO

技术图片

 

 6、(高性能模式)去除见证服务器,镜像服务器关闭,查看主库服务器状态

查看到主库的状态是断开镜像连接,但是能正常访问到表数据,不受影响!

技术图片

 

7、(高性能模式)去除见证服务器,主库服务器关闭,查看镜像服务器状态

镜像服务器的状态是(镜像,已断开连接/正在恢复)

 技术图片

强制服务把镜像库变为主库,但是这样可能会造成数据丢失

--在高性能下手动转移镜像(在从服务器上),此时主服务器已停止
--同样适用高安全
--FORCE_SERVICE_ALLOW_DATA_LOSS=强制服务允许数据丢失
USE [master]
GO
ALTER DATABASE 数据库名称 SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS
GO

也可以把镜像拆除,但是这种情况也会跟主库数据不一致的情况,因为高性能模式是主库数据传输到镜像库

当主库突然宕机,有些数据没来得及传输到镜像库就宕机了,这种情况就好镜像库的数据跟主库对比有所丢失!

USE [master]
GO
--拆除镜像
--当镜像库显示正在恢复想变为正在还原模式执行下面
ALTER DATABASE 数据库名称 SET PARTNER OFF
GO
--将数据库从还原状态转化成正常模式
ALTER DATABASE 数据库名称 WITH RECOVERY
GO

 

8、总结:

经过测试高性能模式得出如下结论:

技术图片

SQLServer数据库镜像高性能模式下维护

标签:同步数据   图片   for   mamicode   alt   数据不一致   使用   pre   重要   

人气教程排行