The*_*xon 4 sql-server availability-groups
我们的开发人员需要对可用性组中的数据库进行更改(他们需要启用其中一个数据库中的服务代理),但是当我尝试这样做时,我收到错误消息,说我无法进行更改,因为这数据库是可用性组的成员...。
有没有办法在不将该数据库从可用性组中取出的情况下更改它,或者我必须将其取出(以及如果必须且不必在辅助节点上再次重新安装数据库,该怎么做)。
我看到我们从当前 Live 服务器上复制的源数据库启用了此 Service Broker,但在 Azure 上恢复它的备份后,它为 Enabled Service Broker 功能选择了 False 状态)。
除了将该数据库从 AlwaysON 可用性组中取出、启用服务代理然后再加入它之外,没有其他方法可以启用服务代理。
如果您知道源数据库启用了服务代理,那么在恢复数据库时,请使用RESTORE .. with ENABLE_BROKER
,这样您就不必再遇到这样的麻烦。
如果您尝试为 AG 中涉及的数据库启用服务代理,您将收到以下错误:
消息 1468,级别 16,状态 1,第 3 行 无法对数据库“AdventureWorks2012”执行操作,因为它涉及数据库镜像会话或可用性组。不允许对参与数据库镜像会话或可用性组的数据库执行某些操作。消息 5069,级别 16,状态 1,第 3 行 ALTER DATABASE 语句失败。