Ehsan Pourtorab Asked: 2017-10-29 01:30:39 +0800 CST2017-10-29 01:30:39 +0800 CST 2017-10-29 01:30:39 +0800 CST 查找与数据库服务器的直接连接,而不是 SQL Server Always On Listener 772 我们最近创建了一个 SQL Server Always On 可用性组。我已经告诉开发人员将他们应用程序的连接字符串从主服务器更改为侦听器。我想检查哪些应用程序(或服务器)连接到主服务器以及哪些应用程序连接到侦听器。我该怎么做? sql-server availability-groups 2 个回答 Voted Best Answer Sean Gallardy 2017-10-29T14:23:25+08:002017-10-29T14:23:25+08:00 我通过两个主要帖子介绍了这一点。第一个让您了解如何查看当前正在使用的内容。第二个告诉您如何通过利用 SQL Server 可以在多个端口上侦听并且只读路由接受您提供的任何端点 url 直接返回给客户端这一事实来查找哪些连接是只读路由的 - 这意味着您可以仅针对只读路由设置特定项目并对其进行报告。 它更准确,无需经历扩展事件。您专门寻找第二篇文章,但它们是相关的,将它们组合在一起会给您一个更好的画面。 查找应用程序正在使用哪些可用性组侦听器进行连接 查找哪些连接已被只读路由 Brent Ozar 2017-10-29T02:11:40+08:002017-10-29T02:11:40+08:00 使用此处描述的扩展事件技术: 从 DMV 中,您能否判断连接是否使用了 ApplicationIntent=ReadOnly? 不一定是这个问题的精确副本,但将使用相同的技术来产生答案。(我希望它更容易。)
我通过两个主要帖子介绍了这一点。第一个让您了解如何查看当前正在使用的内容。第二个告诉您如何通过利用 SQL Server 可以在多个端口上侦听并且只读路由接受您提供的任何端点 url 直接返回给客户端这一事实来查找哪些连接是只读路由的 - 这意味着您可以仅针对只读路由设置特定项目并对其进行报告。
它更准确,无需经历扩展事件。您专门寻找第二篇文章,但它们是相关的,将它们组合在一起会给您一个更好的画面。
使用此处描述的扩展事件技术:
从 DMV 中,您能否判断连接是否使用了 ApplicationIntent=ReadOnly?
不一定是这个问题的精确副本,但将使用相同的技术来产生答案。(我希望它更容易。)