📜  MS SQL Server-HA技术

📅  最后修改于: 2020-11-20 05:04:48             🧑  作者: Mango


高可用性(HA)是一种解决方案\流程\技术,可在计划内或计划外中断下使应用程序\数据库24×7全天候可用。

在MS SQL Server中,主要有五个选项可以实现\设置数据库的高可用性解决方案。

复写

源数据将通过复制代理(作业)复制到目标。对象级技术。

术语

  • 发布者是源服务器。
  • 分发服务器是可选的,用于存储订阅服务器的复制数据。
  • 订阅服务器是目标服务器。

日志传送

源数据将通过事务日志备份作业复制到目标。数据库级技术。

术语

  • 主服务器是源服务器。
  • 辅助服务器是目标服务器。
  • Monitor Server是可选的,将通过日志传送状态进行监视。

镜射

借助镜像端点和端口号,主要数据将通过网络事务复制到辅助数据。数据库级技术。

术语

  • 主体服务器是源服务器。
  • 镜像服务器是目标服务器。
  • 见证服务器是可选的,用于进行自动故障转移。

聚类

数据将存储在共享位置,该位置将根据服务器的可用性由主服务器和辅助服务器使用。实例级技术。共享存储需要Windows群集设置。

术语

  • 活动节点是运行SQL Services的地方。
  • 被动节点是SQL Services不在其中运行的地方。

AlwaysON可用性组

主要数据将通过网络事务复制到辅助数据。数据库级技术组。 Windows群集安装程序是必需的,没有共享存储。

术语

  • 主副本是源服务器。
  • 辅助副本是目标服务器。

除了群集,AlwaysON可用性组和复制外,以下是配置HA技术(镜像和日志传送)的步骤。

步骤1-对源数据库进行一个完整备份和一个T-log备份。

要将“ TESTINSTANCE”中的数据库“ TestDB”配置为主服务器,将“ 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-根据您的要求,选择名为“ Mirroring”或“ Transaction Log Shipping”的选项,该选项位于上图所示的红色框中,并按照系统本身的向导步骤完成配置。