无法在SQL Server 2017 Standard Edition的Read Scale Availability Group中访问Replica数据库

问题描述 投票:1回答:1

我正在研究将数据库从本地环境复制到Azure的方法,我发现的一个选择是建立一个Read-Scale可用性组。

之所以使用Read-Scale,而不是Always On可用性组,是因为出于成本原因,我不会使用SQL Server Enterprise版本。

我遵循了Microsoft(MS TUTORIAL)的教程进行了全部设置,最后,我认为它可以在数据库出现在Azure环境中时正常工作。

但是,问题是我的副本始终保持在Synchronizing状态-这可能是由于我使用AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT命令选择了异步复制的事实-但更糟糕的是,我无法访问数据库本身。每次我尝试对其发起查询时,它都会返回一个Object is not accessible异常。

经过一番阅读之后,我发现造成这种情况的原因可能是因为我的副本没有次要角色。尝试通过... SECONDARY_ROLE({ALLOW_CONNECTIONS = ALL})...命令进行设置,明确指出此功能在SQL Server的标准版本中不可用。

我的全部困惑来自以下事实:在Microsoft文档(MS DOCS)上说With availability groups, one or more secondary replicas can be configured to support read-only access to secondary databases.正是我没有成功的地方。

有人遇到相同的问题,或者知道如何在SQL Server Standard上配置Read-Scale可用性组,以便我的第二个副本也可以访问并且可读吗?

P.S。我确实查看了带有事务复制的实际SQL复制,但是那里有很多移动的部分,因此在做出决定之前,我正在研究所有选项。

high-availability sql-server-2017
1个回答
0
投票

基于推特对话,我发现您需要在辅助副本中创建数据库的快照才能从那里读取。

请阅读此高音扬声器thread

我还在feedback频道中添加了一个建议来修复文档。

© www.soinside.com 2019 - 2024. All rights reserved.