### SQL Server 2008 数据库镜像部署详解
#### 一、基础知识与概念
**数据库镜像**是SQL Server 2008提供的一个高级功能,它能够提高数据库的可用性和容错能力。相较于日志传送,数据库镜像在故障转移、数据同步以及性能方面提供了更高级别的支持。
##### 工作原理
数据库镜像的基本工作原理是将生产服务器(主体服务器)的数据实时复制到另一台服务器(镜像服务器),通过事务日志传输来保持数据的一致性。这种方式比日志传送更加高效,因为生产服务器发送事务到镜像服务器的频率更高,这意味着数据更新更快。
##### 故障转移
尽管数据库镜像提供了手动故障转移的功能,但可以通过添加一个**见证服务器**来实现自动化的故障转移。见证服务器作为第三方参与方,监测主体服务器和镜像服务器的状态,并在主体服务器出现故障时自动触发故障转移过程。
#### 二、部署步骤详解
##### (一)数据库准备
**目标**:利用SQL Server 2008 Enterprise X64版本,构建一个异步(高性能)镜像数据库,并通过见证服务器实现自动故障转移。
**前提条件、限制和建议**:
1. **软件一致性**:主体服务器、镜像服务器和见证服务器必须使用相同版本的SQL Server。
2. **见证服务器兼容性**:如果使用见证服务器,则需确保其操作系统上安装了SQL Server 2005或更高版本。
3. **数据库命名一致性**:在镜像服务器上创建镜像数据库时,需确保使用相同的数据库名称,并使用`WITH NORECOVERY`选项还原主体数据库备份。
4. **事务限制**:跨数据库事务和分布式事务均不支持数据库镜像。
5. **网络稳定性**:建议配置高效稳定的网络环境,尤其是当主体服务器的CPU利用率超过50%时,避免配置自动故障转移。
**设置概述**:
1. **用户权限**:确保所有数据库用户在镜像服务器上都有相应的登录名。
2. **环境准备**:在向另一个服务器实例提供数据库之前,需要在该服务器实例上建立数据库所需的新环境。
3. **数据库备份与还原**:使用`NORECOVERY`选项还原最近的主体数据库完整备份,以创建镜像数据库。确保执行备份时主体数据库处于完整恢复模式。
4. **安全性和会话启动**:设置安全性并启动数据库镜像会话,可以使用Transact-SQL或数据库镜像向导来完成。
5. **见证服务器集成**(可选):将见证服务器添加到会话中,以实现自动化的故障转移功能。
##### (二)Windows Server 2008 R2上的SQL Server 2008 Enterprise X64安装
1. **环境准备**:SQL Server 2008需要.NET Framework 3.5的支持,因此在安装SQL Server之前,需要先安装.NET Framework 3.5。
2. **安装过程**:
- 选择全新SQL Server独立安装。
- 指定安装功能组件,注意安装目录与其他节点保持一致。
- 使用默认实例名称,或与其它节点相同。
- 设置服务启动账户,建议所有服务均使用域管理启动。
- 设置混合身份验证模式,并指定SQL Server管理员。
##### (三)配置数据库镜像前的数据库准备
1. **确认恢复模式**:确保数据库使用的是完整恢复模式。
2. **备份与还原**:
- 备份主体数据库为完整备份。
- 将备份文件复制到镜像节点,并在镜像服务器上使用`WITH NORECOVERY`选项还原。
- 进行完整的事务日志备份,并在镜像数据库上使用`WITH NORECOVERY`选项还原。
##### (四)配置镜像连接
1. **安全性设置与会话启动**:
- 配置主体服务器和镜像服务器的安全性,并启动数据库镜像会话。
- 可选地,添加见证服务器以实现自动化故障转移。
- 设置运行模式为高性能模式。
- 开始镜像会话,并等待同步完成。
通过以上步骤,我们可以有效地完成SQL Server 2008 数据库镜像的部署,从而显著提升数据库系统的可用性和容错能力。