- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
sql2008数据库镜像(非域环境)
非域环境下使用证书设置数据库镜像 (Transact-SQL)作者:宋璟涛日期:2010-04-07为了尽快的让侯同学尽快的解决手头的工作,我先把所有用到的代码发上来。有兴趣的朋友可以先试一下,如果有问题请留言,或者到群里提问。温馨提示:为了您顺利的完成实验,请按照顺序一步步的进行。首先简单介绍一下,我的环境根据不同的应用模式见证服务可选。因为本人机子内存不够,所以只做了两台虚机。两台服务器都是windows server 2003 R2,安装有sql server 2005 sp2一台命名为Main IP地址为:192.168.0.2 用于做镜像的数据库名为:db_mirror 并将其恢复模式设置为完整恢复模式。一台命名为Mirror IP地址为:192.168.0.3假设您已经以NORECOVERY的选项备份了Main服务器上的db_mirror,并恢复数据库到Mirror服务器,这是Mirror服务器上的 db_mirror的状态应该是正在还原且不可用。如果您曾经试图做过镜像,那么请先删除您所有服务器上原来的端点(Endpoint),例如:您原来Main服务器上端点的名字为Endpoint_Mirroring,执行以下代码:USE [master]DROP ENDPOINT Endpoint_MirroringGO注:如何确认您原来的端点名称?打开SQL Server Management Studio,在左边的对象资源管理中展开您的sql server实例中的服务器对象-端点-数据库镜像,当然也可在这里点击右键删除。同样在Mirror服务器上删除原来的端点。另外您还要删除服务器之间的伙伴关系,分别在服务器Main和Mirror上执行如下代码:/*关闭可能原来配置失败的伙伴*/ALTER DATABASE db_mirror SET PARTNER OFF现在让我开始吧!!!!第一步:现在Main和Mirror服务器上创建证书和端点,并备份证书到D:\Mirror,在开始以前请确定您的MSSQLUSER对该目录的读写权限。在Main服务器上执行如下代码:USE [master]/*创建数据库主密钥。*/IF EXISTS(SELECT * FROM sys.databases WHERE name=’master’ and is_master_key_encrypted_by_server=1)/*drop master key;*/OPEN MASTER KEY DECRYPTION BY PASSWORD=’123456789′;ELSEcreate MASTER KEY ENCRYPTION BY PASSWORD=’123456789′;GOSELECT * FROM sys.key_encryptions;go/*向数据库中添加证书。*/IF EXISTS(select * from sys.database_mirroring_endpoints WHERE name=’Endpoint_Mirroring’)DROP ENDPOINT Endpoint_MirroringGOIF EXISTS(select * from sys.certificates WHERE name=’HOST_A_cert’)DROP CERTIFICATE HOST_A_cert;GO/*注意证书开始的日期*/CREATE CERTIFICATE HOST_A_cert WITH SUBJECT = ‘HOST_A certificate’,START_DATE = ‘2010-02-28′;GOSELECT * FROM sys.certificates;GO/*创建数据库端点*/IF EXISTS(SELECT * FROM sys.database_mirroring_endpoints WHERE name=’Endpoint_Mirroring’)DROP ENDPOINT Endpoint_Mirroring;GOCREATE ENDPOINT Endpoint_Mirroring STATE=STARTEDAS TCP ( LISTENER_PORT=5022 ,LISTENER_IP = ALL )FOR DATABASE_MIRRORING( AUTHENTICATION = CERTIFICATE HOST_A_cert ,ENCRYPTION = REQUIRED ALGORITHM RC4 ,ROLE = PARTNER );GOSELECT * FROM sys.database_mirroring_endpoints;GO/*备份Main服务器证书*/BACKUP CERTIFICATE HOST_
文档评论(0)