SQLServer2008镜像设置手册
### SQL Server 2008 数据库镜像设置详解 #### 一、版本确认 - **版本要求**:为了确保数据库镜像功能可用,需要确认当前安装的是支持该特性的SQL Server版本。根据文档提示,只有SQL Server 2008的企业版、标准版以及开发版才支持数据库镜像功能,而Express版则不支持此项特性,仅可作为见证服务器使用。 - **检查方法**:可以通过执行`SELECT @@VERSION`命令来查看当前SQL Server版本信息。 #### 二、数据库恢复模式确认 - **恢复模式概述**:在启用数据库镜像之前,需确保目标数据库处于完整的恢复模式下,因为这是实现数据库镜像的基本前提条件之一。 - **设置方法**:可以通过执行`ALTER DATABASE testdb SET RECOVERY FULL WITH NO_WAIT`命令来将目标数据库`testdb`设置为完整恢复模式。 #### 三、主备SQL Server实例互通 - **互通方式选择**:文档中提到可通过域名或证书实现主备服务器之间的通信。考虑到实现的简便性,本手册选择了使用证书的方式。 - **证书创建**: - **主机创建证书**:在主机上执行以下T-SQL命令创建证书: ``` USE master; CREATE MASTER KEY ENCRYPTION BY PASSWORD = '12345678'; CREATE CERTIFICATE HOST_A_cert WITH SUBJECT = 'HOST_A certificate', START_DATE = '01/01/2010', EXPIRY_DATE = '01/01/2099'; ``` - **备机创建证书**:在备机上执行以下T-SQL命令创建证书: ``` USE master; CREATE MASTER KEY ENCRYPTION BY PASSWORD = '12345678'; CREATE CERTIFICATE HOST_B_cert WITH SUBJECT = 'HOST_B certificate', START_DATE = '01/01/2010', EXPIRY_DATE = '01/01/2099'; ``` - **创建连接端口**:为了确保主备服务器能够通过TCP/IP协议通信,需要创建TCP端点,并指定监听端口。 - **主机创建连接端口**:在主机上执行以下T-SQL命令创建端点: ``` CREATE ENDPOINT Endpoint_Mirroring STATE = STARTED AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL) FOR DATABASE_MIRRORING (AUTHENTICATION = CERTIFICATE HOST_A_cert, ENCRYPTION = REQUIRED ALGORITHM AES, ROLE = ALL); ``` - **备机创建连接端口**:在备机上执行以下T-SQL命令创建端点: ``` CREATE ENDPOINT Endpoint_Mirroring STATE = STARTED AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL) FOR DATABASE_MIRRORING (AUTHENTICATION = CERTIFICATE HOST_B_cert, ENCRYPTION = REQUIRED ALGORITHM AES, ROLE = ALL); ``` - **备份证书**:为确保镜像过程中证书的安全性,需要在主机与备机上分别备份证书。 - **主机备份证书**: ``` BACKUP CERTIFICATE HOST_A_cert TO FILE = 'D:\SQLbak\HOST_A_cert.cer'; ``` - **备机备份证书**: ``` BACKUP CERTIFICATE HOST_B_cert TO FILE = 'D:\SQLbak\HOST_B_cert.cer'; ``` #### 四、建立镜像关系 - **互换证书**:将主机上的证书`HOST_A_cert.cer`复制到备机,备机上的证书`HOST_B_cert.cer`复制到主机,确保双方均持有对方的有效证书。 - **添加登陆名与用户**:为了确保主备服务器之间能够通过有效的认证进行通信,需要在主机与备机上创建对应的登录名与用户。 - **主机添加登陆名与用户**: ``` CREATE LOGIN HOST_B_login WITH PASSWORD = '12345678'; CREATE USER HOST_B_user FOR LOGIN HOST_B_login; CREATE CERTIFICATE HOST_B_cert AUTHORIZATION HOST_B_user FROM FILE = 'D:\SQLbak\HOST_B_cert.cer'; GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_login]; ``` - **备机添加登陆名与用户**: ``` CREATE LOGIN HOST_A_login WITH PASSWORD = '12345678'; CREATE USER HOST_A_user FOR LOGIN HOST_A_login; CREATE CERTIFICATE HOST_A_cert AUTHORIZATION HOST_A_user FROM FILE = 'D:\SQLbak\HOST_A_cert.cer'; GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_A_login]; ``` #### 五、总结 通过上述步骤,我们可以成功地在SQL Server 2008中搭建数据库镜像环境。需要注意的是,在实际操作过程中,应当仔细检查每一步的操作结果,并确保所有的配置都正确无误,以避免出现不必要的错误。此外,还应定期检查并维护镜像关系,以确保系统的稳定性和可靠性。
剩余9页未读,继续阅读
- 蓝色星辰召唤2013-06-03感谢楼主分享 很全面
- 咖啡-不加糖2013-12-17非常实用的一篇文章
- jector1232013-11-30帮了大忙了,正好要做这么个项目。
- hjpfirefly2013-11-04感谢楼主分享 很全面
- 粉丝: 138
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助