首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从二次Windows群集上的分布式AlwaysOn组中删除数据库

无法从二次Windows群集上的分布式AlwaysOn组中删除数据库
EN

Database Administration用户
提问于 2018-03-07 16:28:38
回答 2查看 13.7K关注 0票数 5

我们已经在两个窗口集群上分发了AG。

  • Clus01 -已经设置了一个AG,里面没有DB (AG1)
  • Clus02 -已经设置了一个AG,里面没有DB (AG2)
  • Clus01 -使用AG1 (主)和AG2 (次要)设置DistAG

我们

  • 加入Clus02到DistAG
  • 在AG1 on Clus01上添加了一个数据库
  • 在恢复过程中将此DB还原为AG2
  • 将此DB添加到AG2 on Clus02 (显示为主数据库,但实际上在DistAG中是次要的)

Clus02上的DB现在正在工作,因为Clus01上的DB上的expected...any更新将使用DistAG更新Clus02 DB。

我们经常从现场刷新这个环境(这是预发布的)。因此,我们必须将DB还原到CLus01上。

对于我们的普通AGs,我们只需从CLUS01中删除DB,恢复到CLUS01,备份并恢复到CLUS02,再加入到AG。

对于DistAG,我不能

  1. 从AG2 on CLUS02中删除DB。更改可用性组删除数据库;GO我们得到错误Msg 41190,级别16,状态8,第6行可用性组'AG2‘未能处理删除-数据库命令。本地可用性副本不处于可以处理命令的状态。验证可用性组是联机的,并且本地可用性副本是主副本,然后重试命令。
  2. 从AG1 on CLUS01中删除DB。AG2 on CLUS02上的DB进入非同步状态,我无法删除(与上面相同的错误),因此不能在顶部还原DB。
  3. 通过运行在DistAG上的CLUS01更改可用性组删除N‘AG2’上的副本来删除CLUS01上的副本;我们得到错误Msg 15151、级别16、状态1、第5行不能更改可用性组'AG2',因为它不存在或者您没有权限。

有谁知道我如何使用DistAG刷新环境而不必删除整个DistAG并重新设置它呢?

EN

回答 2

Database Administration用户

回答已采纳

发布于 2018-03-08 15:00:04

有谁知道我如何使用DistAG刷新环境而不必删除整个DistAG并重新设置它呢?

删除和重新创建将是您最好的选择,如果这是用许多数据库.虽然我认为在分布式Availaiblity中需要一个数据库,但它需要每天更新。

唯一的其他选择是在从全局主服务器中删除数据库之后,将分布式可用性组失败,以便转发器成为新的全局主节点。然后,您将能够从(现在的主要)第二个可用性组中删除数据库。由于连接被终止,所以这种方法的吸引力不大,而您已经使用的remove + add方法将保持与当前全局主节点的连接。

您可以使用ALTER DATABASE [name] SET HADR OFF从转发器或转发器侧的辅助设备中始终删除数据库。

票数 3
EN

Database Administration用户

发布于 2018-12-25 08:22:19

您可以使用下面的语句从"DistAG“中删除数据库。

在"DistAG“的主节点上执行以下语句。

代码语言:javascript
复制
ALTER DATABASE Genesis SET HADR OFF;

执行上述语句后,数据库状态将转到还原模式,然后可以删除数据库。

票数 4
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/199615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档