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'

HA技术

步骤 2 – 将备份文件复制到目标服务器。

在这种情况下,我们只安装了一台物理服务器和两个 SQL Server 实例,因此不需要复制,但是如果两个 SQL Server 实例在不同的物理服务器上,我们需要将以下两个文件复制到安装了“DEVINSTANCE”实例的辅助服务器。

HA技术

步骤 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

HA技术

刷新“DEVINSTANCE”服务器中的数据库文件夹以查看还原状态的还原数据库“TestDB”,如下面的快照所示。

HA技术

步骤 4 – 根据您的要求配置 HA(日志传送、镜像),如下面的快照所示。

例子

右键单击主要的“TESTINSTANCE”SQL Server 的“TestDB”数据库,然后单击“属性”。将出现以下屏幕。

HA技术

步骤 5 – 根据您的要求选择名为“镜像”或“事务日志传送”的选项,它们位于红色框中,如上图所示,并按照系统本身引导的向导步骤完成配置。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁