Ms Sql Server 简明教程
MS SQL Server - HA Technologies
高可用性 (HA) 是在计划内或计划外中断下使应用程序/数据库 24x7 可用的解决方案/进程/技术。
主要有五种在 MS SQL Server 中实现/设置数据库高可用性解决方案的选项。
AlwaysON Availability Groups
源数据将通过网络事务基础复制到辅助服务器。数据库级别技术组。需要设置 Windows 群集而不用共享存储。
Terminology
-
主副本是源服务器。
-
辅助副本是目标服务器。
以下是配置 HA 技术(镜像和日志传送)的步骤,不包括群集、AlwaysON 可用性组和复制。
Step 1 − 对源数据库进行一次完全备份和一次事务日志备份。
Example
要在作为主数据库的 “TESTINSTANCE” 中的数据库 “TestDB” 和作为辅助 SQL 服务器的 “DEVINSTANCE” 中配置数据库的镜像/日志配送,请编写以下查询以在源 (TESTINSTANCE) 服务器上进行完全备份和 T 形日志备份。
连接到 “TESTINSTANCE” SQL 服务器,打开新的查询并编写以下代码,然后执行,如下面的屏幕截图所示。
Backup database TestDB to disk = 'D:\testdb_full.bak'
GO
Backup log TestDB to disk = 'D:\testdb_log.trn'
Step 2 − 将备份文件复制到目标服务器。
在本例中,我们仅安装了一个物理服务器和两个 SQL 服务器实例,因此无需复制,但如果两个 SQL 服务器实例位于不同的物理服务器上,我们需要将以下两个文件复制到辅助服务器所在位置的任何位置,那里安装了 “DEVINSTANCE” 实例。
Step 3 − 使用 “norecovery” 选项在目标服务器中使用备份文件恢复数据库。
Example
连接到 “DEVINSTANCE” SQL 服务器并打开新的查询。编写以下代码以恢复名为 “TestDB” 的数据库,该名称与主数据库(“TestDB”)的名称相同,以进行数据库镜像。但是,我们可以为日志传送配置提供不同的名称。在本例中,我们使用 “TestDB” 数据库名称。对两个(完全备份和事务日志备份)的恢复使用 “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”,还原状态如下图所示。
Step 4 − 根据需要配置 HA(日志传送、镜像),如下面的屏幕截图所示。