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 需替换为实际的辅助副本名称。

相关推荐
怕什么真理无穷2 分钟前
mysql server 9.4 windows安装教程(sqlyog 下载)
数据库
Olrookie8 分钟前
MySQL运维常用SQL
运维·数据库·sql·mysql·dba
数据库生产实战18 分钟前
ORACLE 19C ADG环境 如何快速删除1.8TB的分区表?有哪些注意事项?
数据库·oracle
blackorbird35 分钟前
使用 Overpass Turbo 查找监控摄像头
运维·服务器·数据库·windows
IT永勇39 分钟前
SQLite数据库基本操作
数据库·sqlite·嵌入式开发·增删改查·关系型数据库
洋不写bug41 分钟前
数据库的创建,查看,修改,删除,字符集编码和校验操作
android·数据库·adb
想ai抽1 小时前
吃透大数据算法-算法地图(备用)
大数据·数据库·spark
weixin_307779131 小时前
Clickhouse导出库的表、视图、用户和角色定义的SQL语句
开发语言·数据库·算法·clickhouse·自动化
流星白龙1 小时前
【Qt】7.信号和槽_connect函数用法(1)
开发语言·数据库·qt
码界奇点1 小时前
平替MongoDB金仓多模数据库在电子证照国产化中的实践与优势
数据库·mongodb·社交电子·里氏替代原则