SQL Server 2008 R2 非域环境镜像配置指南

需积分: 9 2 下载量 32 浏览量 更新于2024-09-07 1 收藏 112KB DOCX 举报
"本资源主要介绍了在非域环境中设置SQL Server 2008 R2数据库镜像的详细步骤,包括主机备份数据库和镜像机还原数据库的操作流程。" SQL Server 2008 R2数据库镜像是一个高可用性和灾难恢复解决方案,它通过在两个不同的服务器实例之间维护数据库的一个实时副本(镜像数据库)来提高数据安全性。以下是非域环境下进行SQL Server 2008 R2数据库镜像的详细步骤: ### 前期准备 #### 主机备份数据库 1. **完整备份**:在主服务器上执行完整数据库备份,确保数据库的所有数据都得到保存。 2. **事务日志备份**:接着进行事务日志备份,记录自上次备份以来的所有事务,以便在恢复时保持数据一致性。 #### 镜相机还原数据库 1. **完全还原**:在镜像服务器上,首先对完整备份进行还原,这将创建一个与主数据库结构相同的空数据库。 2. **事务日志还原**:然后使用事务日志备份进行还原,使镜像数据库达到与主数据库相同的状态。 ### 主库操作 #### 创建主密钥和证书 1. **创建主密钥**:使用`CREATE MASTER KEY`命令创建主密钥,以加密敏感数据,如证书和私钥。 ```sql USE master; GO CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'copypassword'; ``` 检查`is_master_key_encrypted_by_server`字段确认是否成功(值为1表示成功)。 2. **添加证书**:创建数据库证书,用于数据库镜像的加密通信。 ```sql IF EXISTS (select * from sys.certificates WHERE name = 'HOST_C_CERT') DROP CERTIFICATE HOST_C_CERT; CREATE CERTIFICATE HOST_C_CERT WITH SUBJECT = 'HOST_C_CERTIFICATE', Expiry_Date = '2888-12-12'; ``` 3. **备份证书**:备份证书到文件,以便在镜像服务器上使用。 ```sql backup certificate HOST_C_CERT to file = 'F:\backup\HOST_C_CERT.cer'; ``` 4. **创建数据库端点**:创建数据库镜像端点,用于镜像服务器之间的通信。 ```sql IF EXISTS (select * from sys.database_mirroring_endpoints WHERE name = 'Endpoint_Mirroring') DROP ENDPOINT Endpoint_Mirroring; CREATE ENDPOINT Endpoint_Mirroring STATE = STARTED AS TCP ( LISTENER_PORT = 5022, LISTENER_IP = ALL) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE HOST_C_CERT, ENCRYPTION = REQUIRED ALGORITHM RC4, ROLE = all); ``` 查询`sys.database_mirroring_endpoints`以验证端点创建。 ### 镜像服务器操作 在镜像服务器上,需要完成以下操作: 1. 导入证书:将备份的证书导入镜像服务器。 2. 使用还原的证书设置数据库镜像:配置镜像服务器以与主服务器进行通信。 数据库镜像设置完成后,主服务器和镜像服务器会持续同步数据,当主服务器出现故障时,可以无缝切换到镜像服务器,从而提供高可用性。 总结来说,非域环境下的SQL Server 2008 R2数据库镜像涉及了备份、还原、证书管理以及数据库端点的创建等多个环节,这些步骤确保了主数据库和镜像数据库之间的安全通信和实时数据同步。通过这样的配置,企业可以在不影响服务的情况下,实现高效的数据保护和灾难恢复。