--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 状态时),数据库所有者可以启动到镜像服务器的手动故障转移。 手动故障转移只能从主体服务器启动。
手动故障转移数据库镜像会话
  1. 连接到主体服务器。
  2. 将数据库上下文设置为 master 数据库:
USE master;
  1. 在主体服务器上执行下列语句:
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

删除数据库镜像
  1. 在数据库镜像会话期间,连接到主体服务器实例,然后在对象资源管理器中,单击服务器名称以展开服务器树。
  2. 展开“数据库”并选择数据库。
  3. 右键单击数据库,选择“任务”,再单击“镜像”。 这样便可打开“数据库属性”对话框的“镜像”页。
  4. “选择页”窗格中,单击“镜像”
  5. 若要删除镜像,请单击“删除镜像”。 此时,将显示一个提示,要求您进行确认。 如果单击“是”,会话将停止,并从数据库中删除镜像。
 [返回页首]
使用 Transact-SQL

若要删除数据库镜像,请使用“数据库属性”, 即使用“数据库属性”对话框的“镜像”页。
删除数据库镜像
  1. 为任一镜像伙伴连接到数据库引擎。
  2. 在标准菜单栏上,单击“新建查询”
  3. 发出以下 Transact-SQL 语句:
  4. 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镜像切换的更多相关文章

  1. 第三篇——第二部分——第五文 配置SQL Server镜像——域环境SQL Server镜像日常维护

    本文接上面两篇搭建镜像的文章: 第三篇--第二部分--第三文 配置SQL Server镜像--域环境:http://blog.csdn.net/dba_huangzj/article/details/ ...

  2. 三——第二部分——第二篇论文 计划建设SQL Server镜像

    本文接着前面的章节:SQL Server镜像简单介绍 本文出处:http://blog.csdn.net/dba_huangzj/article/details/27203053 俗话说:工欲善其事必 ...

  3. 第三篇——第二部分——第三文 配置SQL Server镜像——域环境

    原文:第三篇--第二部分--第三文 配置SQL Server镜像--域环境 原文出处:http://blog.csdn.net/dba_huangzj/article/details/28904503 ...

  4. 第三篇——第二部分——第四文 配置SQL Server镜像——非域环境

    原文:第三篇--第二部分--第四文 配置SQL Server镜像--非域环境 本文为非域环境搭建镜像演示,对于域环境搭建,可参照上文:http://blog.csdn.net/dba_huangzj/ ...

  5. 第三篇——第二部分——第一文 SQL Server镜像简介

    原文:第三篇--第二部分--第一文 SQL Server镜像简介 原文出处:http://blog.csdn.net/dba_huangzj/article/details/26951563 镜像是什 ...

  6. 第三篇——第二部分——第二文 计划搭建SQL Server镜像

    原文:第三篇--第二部分--第二文 计划搭建SQL Server镜像 本文紧跟上一章:SQL Server镜像简介 本文出处:http://blog.csdn.net/dba_huangzj/arti ...

  7. 第三篇——第二部分——第一文 SQL Server镜像简单介绍

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/DBA_Huangzj/article/details/26951563 原文出处:http://bl ...

  8. SQL Server镜像自动生成脚本

    SQL Server镜像自动生成脚本 镜像的搭建非常繁琐,花了一点时间写了这个脚本,方便大家搭建镜像 执行完这个镜像脚本之后,最好在每台机器都绑定一下hosts文件,不然的话,镜像可能会不work 1 ...

  9. 第三篇——第二部分——第六文 监控SQL Server镜像

    原文:第三篇--第二部分--第六文 监控SQL Server镜像 原文出处:http://blog.csdn.net/dba_huangzj/article/details/26846203 要优化, ...

随机推荐

  1. spring auto-config

    spring security auto-config auto-config配置 <http auto-config="true"> </http> 自动 ...

  2. 超好用的memcache管理及可视化监控工具,真方便!

    memcache做为主流的缓存数据库之一,广泛在各互联网平台使用,但是大家使用中都知道memcache目前没有一个比较好用的可视化客户端工具,每次都要输入命令进行操作,十分不方便.  而另一款主流缓存 ...

  3. 算法——蛮力法之选择排序和冒泡排序c++实现

    这次实现的是蛮力法中的两个例子,选择排序法和冒泡排序法,使用的编译环境是vs2013,下面对这两个算法做一个简单介绍,然后是两个算法的c++实现代码. 选择排序法比较的范围是整个列表,每次扫描结束找出 ...

  4. (转载)提高系统OOP抽象以应对复杂的需求

    提高系统OOP抽象以应对复杂的需求, 转自:http://www.nowamagic.net/librarys/veda/detail/1373 有人问我如何构建一个比较好的类阶层次,如何使用面向对象 ...

  5. 关于Net开发中一些SQLServer性能优化的建议

    一. ExecuteNonQuery和ExecuteScalar 对数据的更新不需要返回结果集,建议使用ExecuteNonQuery.由于不返回结果集可省掉网络数据传输.它仅仅返回受影响的行数.如果 ...

  6. CSS使用心得小结

    CSS心得 最近对CSS的使用有一些小心得,在此写下来给大家分享分享 .最后附上选择器的实例代码. ------DanlV CSS是什么 层叠样式表(英文全称:Cascading Style Shee ...

  7. ReactiveCocoa源码解析(六) SignalProtocol的take(first)与collect()延展实现

    上篇博客我们聊了observe().map().filter()延展函数的具体实现方式以及使用方式.我们在之前的博客中已经聊过,Signal的主要功能是位于SignalProtocol的协议延展中的, ...

  8. 防止js全局变量污染方法总结

    javaScript 可以随意定义保存所有应用资源的全局变量.但全局变量可以削弱程序灵活性,增大了模块之间的耦合性.在多人协作时,如果定义过多的全局变量 有可能造成全局变量冲突,也就是全局变量污染问题 ...

  9. Android反编译odex然后重新打包

    #Android反编译odex然后重新打包 最近不知道怎么回事,突然把我那刷了氧OS的root了,然后就开始好奇起来氢OS所带有的那些本地化的东西,比如通话录音就是典型的一个之一.其中也做了很多的尝试 ...

  10. Python爬虫从入门到放弃(十七)之 Scrapy框架中Download Middleware用法

    这篇文章中写了常用的下载中间件的用法和例子.Downloader Middleware处理的过程主要在调度器发送requests请求的时候以及网页将response结果返回给spiders的时候,所以 ...