2008镜像服务器的搭建.doc
文本预览下载声明
SQL Server2008数据库镜像实施笔记
?2009-04-10 15:37 ?深山老林 ?博客园 ?我要评论(0)
摘要:这是一篇实施笔记,讲述了本文作者在公司的一个项目中,如何实际操作SQL Server2008数据库镜像,以及虚拟机环境下部署的情况。
标签:SQL Server2008?镜像实施
最初在为公司设计SQL Server数据库镜像的时候,首先考虑的是高可用性(三台计算机,一台见证服务器,一台做主数据库,一台做镜像)
在虚拟机环境下部署成功,一切都是那么的完美。 故障转移3秒之内就可以顺利完成。
1.高可用性的实施代码:
主体数据库
/********************************************************此脚本在主体服务器执行********************************************************/--镜像只支持完全恢复模式,在备份数据库之前检查恢复的模式--对要镜像的数据库进行完整备份后,复制到镜像数据库以NORECOVERNY选项进行恢复USE master;--DROP MASTER KEYCREATE MASTER KEY ENCRYPTION BY PASSWORD = password;GO--为此服务器实例制作一个证书。--DROP CERTIFICATE HOST_A_certCREATE CERTIFICATE HOST_A_cert WITH SUBJECT = HOST_A certificate,START_DATE? = 01/01/2009;GO --使用该证书为服务器实例创建一个镜像端点。--DROP ENDPOINT Endpoint_MirroringCREATE ENDPOINT Endpoint_MirroringSTATE = STARTEDAS TCP (LISTENER_PORT=5022, LISTENER_IP = ALL) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE HOST_A_cert, ENCRYPTION = REQUIRED ALGORITHM AES, ROLE = PARTNER);GO
--备份 HOST_A 证书,并将其复制到其他机器,将 C:\HOST_A_cert.cer 复制到 HOST_B\HOST_C。BACKUP CERTIFICATE HOST_A_cert TO FILE = e:\HOST_A_cert.cer;GO--为入站连接配置 Host_A--在 HOST_A 上为 HOST_B 创建一个登录名。 USE master;--DROP LOGIN HOST_B_loginCREATE LOGIN HOST_B_login WITH PASSWORD = password;GO
--创建一个使用该登录名的用户。--DROP USER HOST_B_userCREATE USER HOST_B_user FOR LOGIN HOST_B_login;GO--使证书与该用户关联。--DROP CERTIFICATE HOST_B_certCREATE CERTIFICATE HOST_B_certAUTHORIZATION HOST_B_userFROM FILE = e:\HOST_B_cert.cerGO
--授予对远程镜像端点的登录名的 CONNECT 权限。GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_login];GO--在 HOST_A 上为 HOST_C 创建一个登录名。 USE master;--DROP LOGIN HOST_C_loginCREATE LOGIN HOST_C_login WITH PASSWORD = password;GO
--创建一个使用该登录名的用户。--DROP USER HOST_C_userCREATE USER HOST_C_user FOR LOGIN HOST_C_login;GO--使证书与该用户关联。--DROP CERTIFICATE HOST_C_certCREATE CERTIFICATE HOST_C_certAUTHORIZATION HOST_C_userFROM FILE = e:\HOST_C_cert.cerGO
--授予对远程镜像端点的登录名的 CONNECT 权限。GRANT CONNECT ON END
显示全部