SQL Server 可用性组自动种子设定失败问题

目录标题

SQL Server 可用性组自动种子设定失败问题笔记

一、问题背景

在 SQL Server 的可用性组(Always On Availability Groups)中,尝试对可用性数据库 [脱敏数据库名] 进行自动种子设定时出现失败,日志中频繁出现错误信息。

二、错误日志分析

错误信息

plaintext 复制代码
2025-03-29 11:46:25.04 spid64s     Database "[脱敏数据库名]" is not in a recovering state which is required for a mirror database or secondary database. The remote database must be restored using WITH NORECOVERY.
2025-03-29 11:46:25.04 spid64s     Automatic seeding of availability database '[脱敏数据库名]' in availability group 'ha_group' failed with an unrecoverable error. Correct the problem, then issue an ALTER AVAILABILITY GROUP command to set SEEDING_MODE = AUTOMATIC on the replica to restart seeding.

错误代码与分析

  • 错误代码:1464
  • 严重级别:16(一般错误,通常由用户操作或应用程序问题导致)
  • 错误状态:102
  • 错误原因 :数据库 [脱敏数据库名] 未处于恢复状态,而镜像数据库或辅助数据库需要处于恢复状态。远程数据库恢复时必须使用 WITH NORECOVERY 选项。

三、自动种子设定概述(同上,无需修改)

四、解决步骤

1. 备份主数据库

在主副本上,对主数据库 [脱敏数据库名] 进行完整备份与事务日志备份。

sql 复制代码
-- 完整备份
BACKUP DATABASE [脱敏数据库名]
TO DISK = 'C:\Backup\[脱敏数据库名]_full.bak';

-- 事务日志备份
BACKUP LOG [脱敏数据库名]
TO DISK = 'C:\Backup\[脱敏数据库名]_log.trn';

2. 在辅助副本上恢复数据库

在辅助副本上,使用 WITH NORECOVERY 选项恢复完整备份与事务日志备份。

sql 复制代码
-- 恢复完整备份
RESTORE DATABASE [脱敏数据库名]
FROM DISK = 'C:\Backup\[脱敏数据库名]_full.bak'
WITH NORECOVERY;

-- 恢复事务日志备份
RESTORE LOG [脱敏数据库名]
FROM DISK = 'C:\Backup\[脱敏数据库名]_log.trn'
WITH NORECOVERY;

3. 重新启动自动种子设定

在主副本上,执行以下命令重新设定自动种子设定。

sql 复制代码
ALTER AVAILABILITY GROUP ha_group
MODIFY REPLICA ON 'SecondaryReplicaName'
WITH (SEEDING_MODE = AUTOMATIC);

其中,SecondaryReplicaName 需替换为实际的辅助副本名称。

相关推荐
计算机毕设VX:Fegn08956 小时前
计算机毕业设计|基于springboot + vue医院设备管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
Mr__Miss6 小时前
保持redis和数据库一致性(双写一致性)
数据库·redis·spring
Knight_AL7 小时前
Spring 事务传播行为 + 事务失效原因 + 传播行为为什么不用其他模式
数据库·sql·spring
倔强的石头_7 小时前
时序数据时代的“存储与分析困局”解析及金仓解决方案
数据库
计算机毕设VX:Fegn08957 小时前
计算机毕业设计|基于springboot + vue小型房屋租赁系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
倔强的石头_8 小时前
场景化落地指南——金仓时序数据库在关键行业的应用实践
数据库
SelectDB8 小时前
驾驭 CPU 与编译器:Apache Doris 实现极致性能的底层逻辑
运维·数据库·apache
zbguolei9 小时前
MySQL根据身份证号码计算出生日期和年龄
数据库·mysql
马克学长9 小时前
SSM校园图书借阅服务系统jd2z8(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·图书管理系统·ssm 框架·ssm 校园图书借阅系统
软件派9 小时前
高斯数据库使用心得——从性能优化到行业实践的深度解析
数据库·oracle