SQL Server Management Studio 的高级故障排除 (SSMS)

适用于: SQL Server Azure SQL 数据库 Azure Synapse Analytics 不支持。 Analytics 平台系统(PDW)

在某些情况下,尝试为 SSMS 捕获 内存转储 不会生成预期的输出,并且需要高级故障排除。

以下步骤要求安装 Visual Studio(Community Edition 或更高版本)。

若要使用 Visual Studio 捕获诊断信息来排查故障或无响应 SSMS 问题,请使用以下步骤:

  1. 打开 Visual Studio。
  2. 选择 “继续”而不使用代码 打开空窗口。
  3. 启动 SSMS(如果尚未打开)。
  4. 选择 调试 > 附加到进程...
  5. “附加到进程”对话框中的“筛选进程” 框中,输入 SSMS。
  6. 在进程列表中选择 SSMS.exe,然后 附加
  7. 此时会显示“输出”窗口,其中 “调试” 被选中用于 显示输出:
  8. 在 SSMS 中重新创建有问题的行为。
  9. SSMS 关闭后,在 Visual Studio 中选择 “调试”>“将转储另存为...”,并将 .dmp 文件保存到文件夹中。
  10. 压缩文件夹。
  11. 在关闭 Visual Studio 之前停止调试。

共享信息

  1. 若要与 SSMS 团队共享信息,请在 SSMS 用户反馈站点上记录问题。

  2. 然后将收集到的内存转储文件共享到 OneDrive(或等效),使该文件可以被访问或下载。

    重要

    内存转储文件可能包含敏感信息。

启用详细日志记录

从 SSMS 中记录的信息并不总是提供足够的详细信息以便我们进行故障排除。可以启用详细日志记录来收集更详细的信息。

  1. 确定 SSMS 可执行文件(ssms.exe)的位置。 SSMS 20 的默认位置为 C:\Program Files (x86)\Microsoft SQL Server Management Studio 20\Common7\IDE,但计算机上可能有所不同。

  2. 打开命令提示符并运行以下命令,使用上一步中第二行的 ssms.exe 位置。

    SET VsLogActivity=1
    "C:\Program Files (x86)\Microsoft SQL Server Management Studio 20\Common7\IDE\ssms.exe"
    
  3. SSMS 启动。

  4. 打开 Windows 资源管理器并导航到 %USERPROFILE%\AppData\Roaming\Microsoft\AppEnv\15.0。

  5. 关闭 SSMS 以停止详细日志记录。

  6. 检查 ActivityLog.xml 文件,该文件现在包含可帮助进行故障排除的更多详细信息。

清除 SSMS 缓存文件

存储在缓存文件中的数据可能会意外干扰 SSMS 行为。 若要排除此问题,可以手动清除文件。

  1. 关闭 SSMS 的所有实例。

  2. 删除以下文件夹中的所有文件(如果要在 已注册的服务器中保留 本地服务器 组下的任何条目,建议复制 RegSrvr*.xml 文件的副本)。

    • “%USERPROFILE%\AppData\Local\Microsoft\SQL Server Management Studio”
    • “%USERPROFILE%\AppData\Roaming\Microsoft\SQL Server Management Studio”
  3. 启动 SSMS 并观察是否删除缓存文件解决了该问题。

SQL Server Management Studio