MS SQL Server – HA 技术
MS SQL Server – HA 技术
高可用性 (HA) 是使应用程序\数据库在计划内或计划外中断情况下 24×7 可用的解决方案\过程\技术。
MS SQL Server 中主要有五个选项来实现\设置数据库的高可用性解决方案。
复制
源数据将通过复制代理(作业)复制到目的地。对象级技术。
术语
- 发布者是源服务器。
- Distributor 是可选的,它为订阅者存储复制的数据。
- 订阅者是目标服务器。
日志传送
源数据将通过事务日志备份作业复制到目标。数据库级技术。
术语
- 主服务器是源服务器。
- 辅助服务器是目标服务器。
- 监控服务器是可选的,将通过日志传送状态进行监控。
镜像
在镜像端点和端口号的帮助下,主数据将通过网络事务复制到次要数据。数据库级技术。
术语
- 主体服务器是源服务器。
- 镜像服务器是目标服务器。
- 见证服务器是可选的,用于进行自动故障转移。
聚类
数据将存储在共享位置,主服务器和辅助服务器都根据服务器的可用性使用该共享位置。实例级技术。共享存储需要 Windows 集群设置。
术语
- 主动节点是运行 SQL 服务的地方。
- 被动节点是 SQL 服务未运行的地方。
AlwaysON 可用性组
一级数据将通过网络交易基础复制到二级。组数据库级技术。不需要共享存储就需要 Windows 集群设置。
术语
- 主副本是源服务器。
- 次要副本是目标服务器。
以下是配置 HA 技术(镜像和日志传送)的步骤,集群、AlwaysON 可用性组和复制除外。
步骤 1 – 对源数据库进行一次完整备份和一份 T 日志备份。
例子
要将“TESTINSTANCE”中的数据库“TestDB”的镜像\日志传送配置为主SQL Server,将“DEVINSTANCE”配置为辅助SQL Server,请编写以下查询以在源(TESTINSTANCE) 服务器上进行完整备份和T 日志备份。
连接到“TESTINSTANCE”SQL Server 并打开新查询并编写以下代码并执行,如下面的屏幕截图所示。
Backup database TestDB to disk = 'D:\testdb_full.bak' GO Backup log TestDB to disk = 'D:\testdb_log.trn'
步骤 2 – 将备份文件复制到目标服务器。
在这种情况下,我们只安装了一台物理服务器和两个 SQL Server 实例,因此不需要复制,但是如果两个 SQL Server 实例在不同的物理服务器上,我们需要将以下两个文件复制到安装了“DEVINSTANCE”实例的辅助服务器。
步骤 3 – 使用“norecovery”选项在目标服务器中使用备份文件恢复数据库。
例子
连接到“DEVINSTANCE”SQL Server 并打开“新建查询”。编写以下代码以恢复名为“TestDB”的数据库,该数据库与用于数据库镜像的主数据库(“TestDB”)相同。但是,我们可以为日志传送配置提供不同的名称。在这种情况下,让我们使用“TestDB”数据库名称。对两个(完整和 t-log 备份文件)恢复使用“norecovery”选项。
Restore database TestDB from disk = 'D:\TestDB_full.bak' with move 'TestDB' to 'D:\DATA\TestDB_DR.mdf', move 'TestDB_log' to 'D:\DATA\TestDB_log_DR.ldf', norecovery GO Restore database TestDB from disk = 'D:\TestDB_log.trn' with norecovery
刷新“DEVINSTANCE”服务器中的数据库文件夹以查看还原状态的还原数据库“TestDB”,如下面的快照所示。
步骤 4 – 根据您的要求配置 HA(日志传送、镜像),如下面的快照所示。
例子
右键单击主要的“TESTINSTANCE”SQL Server 的“TestDB”数据库,然后单击“属性”。将出现以下屏幕。
步骤 5 – 根据您的要求选择名为“镜像”或“事务日志传送”的选项,它们位于红色框中,如上图所示,并按照系统本身引导的向导步骤完成配置。