在Azure Data Studio中使用SQL Profiler监控Synapse专用SQL池遇错求助
问题:Azure Data Studio SQL Profiler连接Synapse专用SQL池失败(MFA认证场景)
尝试监控Power BI对Synapse专用SQL池的Direct Query流量,因使用带MFA的AAD认证,SSMS的SQL Profiler仅支持Windows/SQL认证无法使用,转而采用Azure Data Studio并安装了SQL Profiler扩展(含Admin Pack for SQL Server)。但通过Alt+P启动Profiler并连接指定非默认数据库时,报错:执行Transact-SQL语句或批处理时发生异常。已更新Azure Data Studio至最新版本,尝试所有加密+信任服务器证书的连接设置组合,且参考旧问题方案均无效。
排查与解决思路
- 切换至扩展事件替代SQL Profiler:Synapse专用SQL池对SQL Profiler的支持存在局限性,仅部分事件类可用。Azure Data Studio内置的扩展事件工具完全支持AAD MFA认证,可精准捕获Direct Query的执行流量。操作步骤:连接数据库后,在左侧导航栏找到「扩展事件」,新建会话并勾选
sql_statement_completed、rpc_completed等与查询执行相关的事件。 - 验证账号权限:确保你的AAD账号拥有Synapse专用SQL池的
ALTER ANY EVENT SESSION权限(Profiler和扩展事件均需此权限),同时对目标非默认数据库拥有VIEW DATABASE STATE权限。可执行以下SQL检查权限:
SELECT * FROM sys.database_permissions WHERE grantee_principal_id = USER_ID('你的AAD账号邮箱')
- 调整Profiler启动方式:先连接到Synapse专用SQL池的默认数据库(如
master),启动SQL Profiler后,在Profiler的「连接属性」中切换至目标非默认数据库,避免启动时直接指定非默认库触发上下文切换异常。 - 重置连接配置:删除Azure Data Studio中对应Synapse连接的缓存配置,可通过以下方式操作:
- 打开
%APPDATA%\azuredatastudio\User\settings.json,找到该连接的配置项并删除 - 或在Azure Data Studio中直接删除现有连接,重新创建并精准输入服务器名称、认证方式、数据库名等参数
- 打开
- 检查Synapse防火墙规则:确认Azure Data Studio所在设备的公网IP已加入Synapse专用SQL池的防火墙允许列表,即使日常连接数据库正常,Profiler的流量仍可能因权限或端口规则被拦截,可临时添加当前IP测试。
内容的提问来源于stack exchange,提问作者Vanessa van gelder
相关产品推荐
相关产品推荐

