SQL Server 高可用性技术

  • 高可用性技术

    高可用性(HA)是一种解决方案\流程\技术,可在计划内或计划外中断下使应用程序\数据库24x7全天候可用。
    在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'
    
    步骤-将备份文件复制到目标服务器。
    在这种情况下,我们仅安装了一个物理服务器和两个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”的选项,并按照系统本身的向导步骤完成配置。