SQL SERVER镜像切换
--SQL SERVER镜像切换
------------------------------2013/11/30
切换条件
|
|
高性能 |
没有见证服务器的高安全性模式 |
具有见证服务器的高安全性模式 |
自动故障转移 |
否 |
否 |
是 |
手动故障转移 |
否 |
是 |
是 |
强制服务 |
是 |
是 |
否 |
手动切换条件
手动故障转移
这要求使用高安全性模式。 伙伴双方必须互相连接,并且数据库必须已同步。
打开事务安全
连接到主体服务器。
发出以下 Transact-SQL 语句:
ALTER DATABASE <database> SET PARTNER SAFETY FULL
其中,<database> 为镜像数据库的名称。
关闭事务安全
连接到主体服务器。
发出以下语句:
ALTER DATABASE <database> SET PARTNER SAFETY OFF
其中,<database> 是镜像数据库。
手动故障转移数据库镜像会话 (Transact-SQL)
同步镜像数据库时(即数据库处于 SYNCHRONIZED 状态时),数据库所有者可以启动到镜像服务器的手动故障转移。 手动故障转移只能从主体服务器启动。
手动故障转移数据库镜像会话
连接到主体服务器。
将数据库上下文设置为 master 数据库:
USE master;
在主体服务器上执行下列语句:
ALTER DATABASE database_name SET PARTNER FAILOVER,其中 database_name 是镜像数据库。
此语句将立即启动从镜像服务器到主体角色的转换。
在数据库镜像会话中强制服务 (Transact-SQL)
强制服务(可能造成数据丢失)
数据库镜像提供强制服务(可能造成数据丢失)作为灾难恢复方法,以允许将镜像服务器用作温备用服务器。 仅当主体服务器在镜像会话中与镜像服务器断开连接时,才能强制服务运行。 因为强制服务运行存在数据丢失的风险,所以应该谨慎使用。
是否支持强制服务取决于会话的运行模式和状态,如下所示:
通常,当主体服务器断开连接时,高性能模式支持强制服务。 但是,高性能模式会话可能存在见证服务器(虽然并非必需)。 在这种情况下,强制服务要求镜像服务器和见证服务器相互连接。
当主体服务器断开连接时,不带自动故障转移功能的高安全性模式支持强制服务。
当镜像服务器和见证服务器相互连接并且它们都未连接到主体服务器时,具有自动故障转移功能的高安全性模式支持强制服务(只要当镜像服务器上次连接到主体服务器时,不回滚镜像数据库)。
建议仅当您必须立即还原数据库服务并愿意承担数据丢失的风险时,才能强制服务运行。 强制服务的结果相当于删除镜像,但强制服务在恢复镜像时便于重新同步数据库,并且可能存在数据丢失的风险。 强制服务将把主体角色平滑转换给镜像数据库。 镜像服务器将担当主体服务器角色并立即向客户端提供数据库的副本。 新的主体数据库在没有镜像的情况下运行(即公开运行)。
在高性能模式和不带自动故障转移功能的高安全性模式下,如果主体服务器失败而镜像服务器可用,则数据库所有者可以强制将服务故障转移到镜像数据库(可能造成数据丢失),从而使数据库可用。 此选项仅在以下情况中可用:
1. 主体服务器已关闭。
2. WITNESS 设置为 OFF 或连接到镜像服务器。
ALTER DATABASE <database_name> SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS
删除数据库镜像 (SQL Server)
本主题说明如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 2012 中从数据库删除数据库镜像。 数据库所有者可以随时通过从数据库中删除镜像来手动停止数据库镜像会话。
本主题内容
开始之前:
安全性
删除数据库镜像,使用:
SQL Server Management Studio
Transact-SQL
后续操作: 在删除数据库镜像之后
相关任务
开始之前
安全性
权限
需要对数据库具有 ALTER 权限。
[返回页首]
使用 SQL Server Management Studio
删除数据库镜像
在数据库镜像会话期间,连接到主体服务器实例,然后在对象资源管理器中,单击服务器名称以展开服务器树。
展开“数据库”并选择数据库。
右键单击数据库,选择“任务”,再单击“镜像”。 这样便可打开“数据库属性”对话框的“镜像”页。
在“选择页”窗格中,单击“镜像”。
若要删除镜像,请单击“删除镜像”。 此时,将显示一个提示,要求您进行确认。 如果单击“是”,会话将停止,并从数据库中删除镜像。
[返回页首]
使用 Transact-SQL
若要删除数据库镜像,请使用“数据库属性”, 即使用“数据库属性”对话框的“镜像”页。
删除数据库镜像
为任一镜像伙伴连接到数据库引擎。
在标准菜单栏上,单击“新建查询”。
发出以下 Transact-SQL 语句:
ALTER DATABASE database_name SET PARTNER OFF
其中,database_name 是要删除其会话的镜像数据库。
以下示例从 AdventureWorks2012 示例数据库删除数据库镜像。
ALTER DATABASE AdventureWorks2012 SET PARTNER OFF;
后续操作:在删除数据库镜像之后
注意 |
有关删除镜像会产生什么影响的信息,请参阅删除数据库镜像 (SQL Server)。 |
如果您打算在数据库上重新启动镜像
重新启动镜像之前,必须将在删除镜像后对主体数据库执行的日志备份全部应用到镜像数据库中。
如果不打算重新启动镜像
或者,可以恢复以前的镜像数据库。 在作为镜像服务器的服务器实例上,可以使用以下 Transact-SQL 语句:
RESTORE DATABASE database_name WITH RECOVERY;
重要提示 |
如果恢复该数据库,则两个同名的不同数据库处于联机状态。 因此,需要确保客户端仅可访问其中一个数据库,通常为最新的主体数据库。 |
[返回页首]
参考:http://msdn.microsoft.com/zh-cn/library/ms190471.aspx
http://msdn.microsoft.com/zh-cn/library/ms175082.aspx
http://msdn.microsoft.com/zh-cn/library/ms189850.aspx
http://msdn.microsoft.com/zh-cn/library/ms189852.aspx
SQL SERVER镜像切换的更多相关文章
- 第三篇——第二部分——第五文 配置SQL Server镜像——域环境SQL Server镜像日常维护
本文接上面两篇搭建镜像的文章: 第三篇--第二部分--第三文 配置SQL Server镜像--域环境:http://blog.csdn.net/dba_huangzj/article/details/ ...
- 三——第二部分——第二篇论文 计划建设SQL Server镜像
本文接着前面的章节:SQL Server镜像简单介绍 本文出处:http://blog.csdn.net/dba_huangzj/article/details/27203053 俗话说:工欲善其事必 ...
- 第三篇——第二部分——第三文 配置SQL Server镜像——域环境
原文:第三篇--第二部分--第三文 配置SQL Server镜像--域环境 原文出处:http://blog.csdn.net/dba_huangzj/article/details/28904503 ...
- 第三篇——第二部分——第四文 配置SQL Server镜像——非域环境
原文:第三篇--第二部分--第四文 配置SQL Server镜像--非域环境 本文为非域环境搭建镜像演示,对于域环境搭建,可参照上文:http://blog.csdn.net/dba_huangzj/ ...
- 第三篇——第二部分——第一文 SQL Server镜像简介
原文:第三篇--第二部分--第一文 SQL Server镜像简介 原文出处:http://blog.csdn.net/dba_huangzj/article/details/26951563 镜像是什 ...
- 第三篇——第二部分——第二文 计划搭建SQL Server镜像
原文:第三篇--第二部分--第二文 计划搭建SQL Server镜像 本文紧跟上一章:SQL Server镜像简介 本文出处:http://blog.csdn.net/dba_huangzj/arti ...
- 第三篇——第二部分——第一文 SQL Server镜像简单介绍
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/DBA_Huangzj/article/details/26951563 原文出处:http://bl ...
- SQL Server镜像自动生成脚本
SQL Server镜像自动生成脚本 镜像的搭建非常繁琐,花了一点时间写了这个脚本,方便大家搭建镜像 执行完这个镜像脚本之后,最好在每台机器都绑定一下hosts文件,不然的话,镜像可能会不work 1 ...
- 第三篇——第二部分——第六文 监控SQL Server镜像
原文:第三篇--第二部分--第六文 监控SQL Server镜像 原文出处:http://blog.csdn.net/dba_huangzj/article/details/26846203 要优化, ...
随机推荐
- 进程间通信之AIDL
一.引言 AIDL是android内部进程通信接口的描述语言,是实现跨进程方法调用的一大利器,其中Binder和Messenger的实现机制都是AIDL. 二.使用下面结合示例说明其使用过程: 本次示 ...
- Error creating document instance
Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 52; columnNumbe ...
- VB6之截图
今天先把主要逻辑写出来,如果有时间就实现一个真正的截图工具. Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC ...
- acm->stl
容器 queue 队列 定义 queue的定义需要两个参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque类型 基本方法 push(x) 入队,将x接到队列的末端 ...
- 关于SQL经典题
最近刚刚练过的一道sql分享给大家, 先上题目: -- 部门表 CREATE TABLE DEPT( DEPTNO INT PRIMARY KEY, -- 部门编号 DNAME VARCHAR(14) ...
- iOS tableView刷新
下面是我对AFN刷新一个简单的封装我们只需要传过去一个tableView就好了 简化了一些代码 #import <Foundation/Foundation.h> typedef NS_E ...
- 使用Dubbo、JSF等RPC框架时,对于异常的处理
无论是Dubbo还是JSF等RPC框架,一般都会把接口分为2部分: 1,服务端(provider) 2,客户端(consumer) 由于,客户端与服务端可能不在同一个应用中,所以客户端一般在调用服务端 ...
- HDOJ2000-ASCII码排序
Problem Description 输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符. Input 输入数据有多组,每组占一行,有三个字符组成,之间无空格. Output ...
- web项目-easyui-datagrid使用汇总
一,引言 工作的需要,做了3年的wpf--,又因为项目的需求,回归到web的开发. ■ 3 years ago,vue是我三年前没用过的玩意儿. ■ 3 years ago,bootstrap组件 ...
- vue2 和 webpack 配置环境使用
http://blog.csdn.net/fungleo/article/details/53171052