链接复制成功!
主SQL Server故障时切换到备SQL Server
操作场景
业务端提供业务过程中发生故障,比如整体掉电、虚拟机故障、存储故障或网络异常等不能及时恢复时,主SQL Server数据库实例变为不可用。此时,备SQL Server数据库实例状态为只读,不能写入数据,即已建立容灾关系的两个SQL Server数据库不能自动切换来提供业务,需要手动切换,由容灾端提供业务。
需要指出的是,由于业务端和容灾端两个建立容灾关系的SQL Server数据库是通过日志传送方式进行异步复制,数据可能会有丢失,丢失的情况由配置业务端和容灾端容灾关系配置的策略决定。
操作步骤
- 确认容灾端的SQL Server上的数据库实例状态。
以数据库实例“test1”为例,如图1所示,其状态为“test1(Standby/Read-Only)”。
右键单击“test1 (Standby / Read-Only)”,选择“Refresh”,状态仍然为“(Standby / Read-Only)”。
- 运行脚本,升级容灾端上SQL Server的数据库实例为主数据库实例。
右键单击数据库实例“test1 (Standby / Read-Only)”,选择“New Query”,在弹出的输入框中输入脚本,然后选择“master”模式,单击“Execute”执行,如图2所示。
脚本示例如下:
USE [master] GO ALTER DATABASE [test1] SET SINGLE_USER WITH ROLLBACK IMMEDIATE GO restore database test1 with recovery GO ALTER DATABASE [test1] SET MULTI_USER
- 确认升级为主SQL Server成功。
右键单击“test1 (Standby / Read-Only)”,在菜单中选择“Refresh”,“test1(Standby/Read-Only)”变成“test1”,表示升级为主SQL Server成功。
后续操作
用户连接容灾端的SQL Server数据库,就可以提供业务。
父主题: SQL Server的容灾切换