3

我们有一个客户端将使用 SQL Server 2012 的 AlwaysOn 可用性功能。他们希望 BizTalk WCF-SQL 端口连接到只读副本。

有关该主题的文档说,必须与 SQL Server 2012 可用性组侦听器建立连接,并且连接必须能够设置“ApplicationIntent”参数。这告诉 SQL 侦听器该连接是只读意图连接,并且应该将其重定向到可读的辅助副本。如果没有这样的工作,将与主数据库建立连接,这不是我们想要的。

如何在 BizTalk WCF-SQL 适配器上配置“ApplicationIntent”参数?

4

3 回答 3

1

无法通过 WCF-SQL 适配器执行此操作。我们不得不使用外部帮助器类来使用连接字符串创建连接并查询数据库。

更新:一位同事写的关于这个问题的博客我可以将 BizTalk WCF-SQL 发送适配器与 SQL 2012 Always on Database 一起使用吗?下面引用的片段。

总之,我认为您的选择是(按优先顺序):

  • 如果您需要连接到启用此功能的 SQL 服务器,请禁用 SQL 服务器上的 AlwaysOn 可用性组/镜像

  • 禁用事务并实现能够处理重复的逻辑。

  • 禁用事务并使用自定义逻辑处理重复或丢失的消息(例如发送两次并比较和实施错误处理)。您需要编写自己的 DTC 来处理这可能非常复杂。

  • 在不处理重复的情况下禁用事务并承受重复或丢失消息的风险。

于 2014-02-18T00:03:37.593 回答
0

我认为您需要使用 WCF-Custom + sqlBinding 来指定连接字符串。

于 2014-01-21T22:04:41.447 回答
-1

在您提供的那个链接中,他们在连接字符串中做到了。查看其中的最后一项:

Server=tcp:AGListener,1433;Database=AdventureWorks;
IntegratedSecurity=SSPI;ApplicationIntent=ReadOnly

看起来很容易...

于 2014-01-14T16:50:29.150 回答