SQL Server AlwaysOn 可用性组自动播种

Sae*_*aei 3 sql-server high-availability availability-groups sql-server-2019

我在 SQL Server 2019 中创建了一个 AlwaysOn 并选择了自动播种,但它不会在辅助节点中创建我的数据库,另一方面,如果我手动创建我的数据库,我会给出您的数据库已经存在的错误!解决办法是什么?

Jos*_*ell 7

通过查看创建 AG 时间段内的 SQL Server 错误日志(在主副本和辅助副本上),您应该能够了解自动种子设定未完成的原因。

此失败的一个常见原因是可用性组在辅助节点上没有“CREATE ANY DATABASE”权限。要更正此问题,您需要转到每个辅助副本并运行以下命令:

ALTER AVAILABILITY GROUP yourAgName
GRANT CREATE ANY DATABASE
Run Code Online (Sandbox Code Playgroud)

另一个值得关注的地方是自动播种 DMV。此查询来自 MS Docs

SELECT start_time, 
    completion_time
    is_source,
    current_state,
    failure_state,
    failure_state_desc
FROM sys.dm_hadr_automatic_seeding
Run Code Online (Sandbox Code Playgroud)

查看失败原因以了解自动播种为何不起作用的线索。


纠正您发现的任何问题后,您可以通过在主服务器上运行以下代码来重试自动播种:

ALTER AVAILABILITY GROUP yourAgName
MODIFY REPLICA ON 'SecondaryReplicaName' 
WITH (SEEDING_MODE = AUTOMATIC);
Run Code Online (Sandbox Code Playgroud)