SQL Server Always On 重新添加从库步骤

SQL Server Always On 重新添加从库步骤

环境说明

  • 主库:235
  • 从库:209
  • 可用性组:AG_235_209
  • 数据库:Test

第一步:主库 235 --- 备份数据库

确认数据库为完整恢复模式(Always On 要求),然后分别做完整备份和日志备份。

sql 复制代码
-- 确认完整恢复模式
ALTER DATABASE [Test] SET RECOVERY FULL;

-- 完整备份
BACKUP DATABASE [Test]
TO DISK = 'C:\Backup\Test_full.bak'
WITH COMPRESSION, INIT, STATS = 10;

-- 日志备份
BACKUP LOG [Test]
TO DISK = 'C:\Backup\Test_log.bak'
WITH STATS = 10;

第二步:复制备份文件到从库 209

将以下两个文件手动拷贝到从库 209 的备份目录(如 C:\Backup\):

  • Test_full.bak
  • Test_log.bak

第三步:从库 209 --- 还原数据库

⚠️ 注意:还原时必须使用 WITH NORECOVERY,不能使用 WITH RECOVERY,否则数据库会上线并脱离 Always On 同步链。

sql 复制代码
-- 还原完整备份
RESTORE DATABASE [Test]
FROM DISK = 'C:\Backup\Test_full.bak'
WITH NORECOVERY, STATS = 10;

-- 还原日志备份
RESTORE LOG [Test]
FROM DISK = 'C:\Backup\Test_log.bak'
WITH NORECOVERY;

还原完成后,SSMS 中数据库会显示 "正在还原",这是正确状态,无需处理。


第四步:主库 235 --- 将数据库加入可用性组

⚠️ 注意:必须等第三步从库还原完全完成后,再执行此步骤。

sql 复制代码
ALTER AVAILABILITY GROUP [AG_235_209] ADD DATABASE [Test];

第五步:从库 209 --- 加入可用性组

sql 复制代码
ALTER DATABASE [Test]
SET HADR AVAILABILITY GROUP = [AG_235_209];

执行后,从库数据库状态会从 "正在还原" 变为 "正在还原 / 同步中",稍等片刻即可同步完成。


验证同步状态

在主库 235 上执行以下查询,确认同步结果:

sql 复制代码
SELECT
    db.database_name               AS 数据库,
    rs.synchronization_state_desc  AS 同步状态,
    rs.synchronization_health_desc AS 健康状态
FROM sys.availability_groups ag
JOIN sys.availability_databases_cluster db ON ag.group_id = db.group_id
JOIN sys.dm_hadr_database_replica_states rs ON db.group_database_id = rs.group_database_id
WHERE ag.name = 'AG_235_209'
  AND rs.is_local = 0;

预期结果:

数据库 同步状态 健康状态
Test SYNCHRONIZED HEALTHY

显示 SYNCHRONIZED + HEALTHY 即表示从库配置成功。


操作顺序总览

复制代码
主库235: ALTER DATABASE SET RECOVERY FULL
主库235: BACKUP DATABASE
主库235: BACKUP LOG
         ↓ 将 .bak 文件复制到从库 209
从库209: RESTORE DATABASE WITH NORECOVERY  ← 等待完成
从库209: RESTORE LOG WITH NORECOVERY       ← 等待完成
         ↓ 确认从库显示"正在还原"
主库235: ALTER AVAILABILITY GROUP ADD DATABASE
从库209: ALTER DATABASE SET HADR AVAILABILITY GROUP
主库235: 查询验证同步状态
相关推荐
Nontee8 小时前
MySQL 插入冲突了怎么办?两种处理方式入门笔记
数据库·笔记·mysql
ltl8 小时前
Parquet 文件格式:row group、编码与谓词下推索引
数据库
ltl8 小时前
PostgreSQL Join 路径:优化器如何选中 Nested Loop
数据库
ltl9 小时前
RocksDB 生产嵌入:Flink、TiKV 与 Kafka Streams 怎么用
数据库
devilnumber10 小时前
MySQL 性能优化・诗意化记忆
数据库·mysql·性能优化
瀚高PG实验室10 小时前
PostgreSQL pg_basebackup 和 pg_rewind 可覆盖源端超级用户选择的无关文件HGVE-2026-E010
数据库·postgresql·瀚高数据库
OceanBase数据库官方博客13 小时前
亮相“十五五”公积金高质量发展大会“AI 数据库”助力智慧公积金升级
数据库·人工智能
龙虾PRO13 小时前
高并发场景数据库调优实操:目标定位、监控方法与优化维度全解析
数据库·oracle
达梦产品与服务13 小时前
SQLark 实战 | 高频 SQL 脚本的导入、管理与复用
数据库·sql·数据库开发·数据库运维·脚本管理·sqlark百灵连接·sql脚本
InfinitePlus14 小时前
redis数据持久化
数据库·redis·缓存