应用维护:SQL Server 2008高可用性
博客园 发表于:12年09月05日 10:48 [原创] DOIT.com.cn
监视数据库镜像:从数据库的任务菜单中选择启动数据库镜像监视器命令,打开一个新窗口。默认情况下,您将会进入从中启动工具的数据库的状态页面;不过,也可以通过单击导航树中的数据库镜像监视器链接额外注册的镜像集。在注册页面上,单击利娜姐按钮联接主体或镜像服务器,使用合适的身份验证和联接选项。然后将会看到该实例上被镜像的数据库的列表,选择合适的数据库进行注册,然后单击确定按钮;如果需要在主体和镜像服务器之间使用不同的身份验证平局,可以选中“当单击确定后,显示管理服务器连接对话框”复选框来指定每个服务器链接的选项。单击警告选项卡可以查看或配置当前基于镜像条件生成警报的设置
管理数据库镜像:暂停镜像会话,如果数据库相应中的延迟比较严重,原因可能是由必须维持主体和镜服务器之间不断通信的额外工作造成的,这时候可能需要考虑暂停那些通信。使用SSMS,浏览数据库属性的镜像页面,单击暂停按钮即可。或者使用TSQL的SET PARTNER SUSPEND执行ALTER DATABASE语句
- -- Suspend a mirror
- USE Master;
- ALTER DATABASE AdventureWorksLT2008 SET PARTNER SUSPEND;
- GO
恢复镜像会话,可在SSMS中单击恢复按钮,或者使用SET PARTNER RESUME选项执行ALTER DATABASE语句来恢复
- -- Resume a Mirror
- USE Master;
- ALTER DATABASE AdventureWorksLT2008 SET PARTNER RESUME;
- GO
手动故障转移:不管镜像的操作如何,都可以随时通过SQL Server Management Studio或TSQL手动启动故障转移。在启动故障转移是,任何连接到原主体服务器的客户端都会被立刻断开,而镜像服务器会变成在线。如果原来的主体服务器仍在线,那么它就会变成镜像服务器,并一直处于NO RECOVERY状态,直到再次执行故障转移。要想通过SQL Server Management Studio启动故障转移,在主体数据库的镜像属性页面上单击故障转移按钮即可,SQL 会处理剩下的工作。如果需要将之前的主体数据库还原至主体状态,则必须连接到新的主体数据库,然后单击数据库属性上的故障转移按钮。由于数据库镜像进复制特定数据库的内容,因此在故障转移之前或刚刚发生故障转移时,特定的服务器范围的资源必须在服务器上可用,因此,在使用数据库镜像时,最好创建一个 Integration Services包,它将定期复制额外的对象。要使用TSQL手动故障转移,必须连接到主体服务器,然后执行下列代码
- -- Manual Failover
- USE Master;
- ALTER DATABASE AdventureWorksLT2008 SET PARTNER FAILOVER;
- GO
强制镜像服务器上的服务:当处于高性能或不支持自动故障转移的高安全性模式下,一旦主体服务器发生故障,镜像服务器不是自动可用的,要强制镜像服务器提升自己并响应客户端请求,可以在镜像服务器上发出下列命令:
- -- Manual Failover
- USE Master;
- ALTER DATABASE AdventureWorksLT2008 SET PARTNER FAILOVER;
- GO
取消数据库镜像:一旦不再需要某个数据库镜像的话,就可以中段镜像。中断镜像允许两个参与的服务器维护该数据库的一份副本。主体服务器会保持在线,而镜像服务器将处于恢复模式。中段镜像不会删除、移除或更改端点,这一点非常好,因为他们仍然可以被使用数据库镜像的其他数据库使用。。通过SSMS中断镜像可以单击主体数据库的镜像属性页面上的取消镜像按钮,如果使用TSQL的话,可以使用ALTER DATABASE语句中的SET PARTNER OFF选项:
- -- Remove mirror
- USE Master;
- ALTER DATABASE AdventureWorksLT2008 SET PARTNER OFF;