首页 > 解决方案 > 如何在 SQL Server Management Studio 中拦截执行

问题描述

我正在尝试查找如何在 SQL Server Management Studio 中拦截查询执行的任何指南。

例如:我想WHERE在“执行”按钮单击后检查子句的查询。
我已经在 VS19 中使用 VSIX 项目创建了插件。
如果查询中有子句,我想停止查询WHERE,仅用于我自己的登录并且仅来自 SQL Server Management Studio。
我应该点击按钮,还是可以通过拦截内部 SSMS 命令来完成?

任何建议将被认真考虑。

标签: c#sql-servervisual-studiossmsvsix

解决方案


您可以使用 SQL Server Profiler 捕获 SQL 跟踪数据和执行的 SQL 语句 - 在 SSMS 中,转到工具 -> SQL Server Profiler。

网络上有很多关于捕捉内容的视频和教程,但一般来说,如果您使用的是标准模板,您应该能够执行以下操作。

  • 准备好您的开发环境,然后到达您将要单击按钮的位置。
  • 启动 Profiler 跟踪。提示:您应该“启用跟踪停止时间”以防应用程序或其他东西锁定您的 UI。
  • 单击执行 SQL 的按钮。
  • 停止追踪。

您要查找的 SQL 应在跟踪中列出。

注意事项:

  • 配置文件跟踪影响 SQL 性能 - 限制跟踪时间,特别是如果它会影响其他人
  • 如果您对不在本地计算机上的 SQL 服务器运行此操作,则可能无法运行跟踪(由于安全设置)
  • 标准模板捕获了很多事件。准备好搜索
  • 掌握窍门后,您可以取消选中不需要的跟踪数据并过滤特定信息

推荐阅读