首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >中的服务代理问题

中的服务代理问题
EN

Database Administration用户
提问于 2018-08-05 07:23:59
回答 2查看 5.3K关注 0票数 2

我的一个客户端有一个与service一起工作的数据库,上周我们尝试将数据库移动到一个始终处于on环境中,而不知道应用程序使用的是service。在有人抱怨它不起作用之后(排定的会议没有添加到日历中,旧的会议也没有结束(这是一个临床应用程序))之后,我们发现Microsoft对服务代理的引用总是开着,并试图使用它:https://learn.microsoft.com/en-us/sql/database-engine/availability-groups/windows/service-broker-with-always-on-availability-groups-sql-server?view=sql-server-2017

但还是没起作用。一开始我们试过

代码语言:javascript
运行
复制
alter database [databasename] set enable_broker with rollback immediate

alter database [databasename] set new_broker with rollback immediate

我们收到了一个错误

Msg 1468、级别16、状态1、第2行不能对数据库"dbname“执行操作,因为它涉及数据库镜像会话或可用性组。在参与数据库镜像会话或可用性组的数据库上,不允许进行某些操作。Msg 5069,第16级,国家1

我们还尝试了以下命令:

代码语言:javascript
运行
复制
 CREATE ENDPOINT [SSBEndpoint] 

    STATE = STARTED 

    AS TCP  (LISTENER_PORT = 4022, LISTENER_IP = ALL ) 

    FOR SERVICE_BROKER (AUTHENTICATION = WINDOWS)


     GRANT CONNECT ON ENDPOINT::[SSBEndpoint] TO [PUBLIC] 


ALTER ROUTE AutoCreatedLocal

   WITH ADDRESS = 'TCP://[server]:4022'  ;

最后,我们别无选择,我们将其从“始终打开”组中删除,在执行此命令之后,它起了作用:

代码语言:javascript
运行
复制
   ALTER ROUTE AutoCreatedLocal
   WITH ADDRESS = 'LOCAL'  ;

有人知道我们在配置中缺少了什么吗?谢谢。

EN

回答 2

Database Administration用户

回答已采纳

发布于 2019-03-01 15:28:06

为了让Service与可用性组一起工作,您必须在将它添加到可用性组之前为数据库启用Service。

您的问题表明您创建了AG,然后尝试配置Service。

另外,要注意有使用可用性组的服务会话的某些修补程序级别要求

票数 4
EN

Database Administration用户

发布于 2020-12-18 15:14:42

你可以的

  1. 从AO中删除DB
  2. 运行ALTER '‘SET ENABLE_BROKER并立即回滚--在主服务器上
  3. 只将DB添加到AO
  4. 检查它:使用主选择名称,is_broker_enabled从sys.databases顺序由is_broker_enabled desc
票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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