适用于: SQL Server
Azure SQL 数据库
Azure Synapse Analytics
Analytics 平台系统(PDW)
在某些情况下,尝试为 SSMS 捕获 内存转储 不会生成预期的输出,并且需要高级故障排除。
以下步骤要求安装 Visual Studio(Community Edition 或更高版本)。
若要使用 Visual Studio 捕获诊断信息来排查故障或无响应 SSMS 问题,请使用以下步骤:
- 打开 Visual Studio。
- 选择 “继续”而不使用代码 打开空窗口。
- 启动 SSMS(如果尚未打开)。
- 选择 调试 > 附加到进程...。
- 在 “附加到进程”对话框中的“筛选进程” 框中,输入 SSMS。
- 在进程列表中选择 SSMS.exe,然后 附加。
- 此时会显示“输出”窗口,其中 “调试” 被选中用于 显示输出:。
- 在 SSMS 中重新创建有问题的行为。
- SSMS 关闭后,在 Visual Studio 中选择 “调试”>“将转储另存为...”,并将 .dmp 文件保存到文件夹中。
- 压缩文件夹。
- 在关闭 Visual Studio 之前停止调试。
共享信息
若要与 SSMS 团队共享信息,请在 SSMS 用户反馈站点上记录问题。
然后将收集到的内存转储文件共享到 OneDrive(或等效),使该文件可以被访问或下载。
重要
内存转储文件可能包含敏感信息。
启用详细日志记录
从 SSMS 中记录的信息并不总是提供足够的详细信息以便我们进行故障排除。可以启用详细日志记录来收集更详细的信息。
确定 SSMS 可执行文件(ssms.exe)的位置。 SSMS 20 的默认位置为 C:\Program Files (x86)\Microsoft SQL Server Management Studio 20\Common7\IDE,但计算机上可能有所不同。
打开命令提示符并运行以下命令,使用上一步中第二行的 ssms.exe 位置。
SET VsLogActivity=1 "C:\Program Files (x86)\Microsoft SQL Server Management Studio 20\Common7\IDE\ssms.exe"
SSMS 启动。
打开 Windows 资源管理器并导航到 %USERPROFILE%\AppData\Roaming\Microsoft\AppEnv\15.0。
关闭 SSMS 以停止详细日志记录。
检查 ActivityLog.xml 文件,该文件现在包含可帮助进行故障排除的更多详细信息。
清除 SSMS 缓存文件
存储在缓存文件中的数据可能会意外干扰 SSMS 行为。 若要排除此问题,可以手动清除文件。
关闭 SSMS 的所有实例。
删除以下文件夹中的所有文件(如果要在 已注册的服务器中保留 本地服务器 组下的任何条目,建议复制 RegSrvr*.xml 文件的副本)。
- “%USERPROFILE%\AppData\Local\Microsoft\SQL Server Management Studio”
- “%USERPROFILE%\AppData\Roaming\Microsoft\SQL Server Management Studio”
启动 SSMS 并观察是否删除缓存文件解决了该问题。