数据库试验助手概述

注意

此工具于 2024 年 12 月 15 日 停用。 我们已停止支持此工具解决出现的任何问题,并且不会发出任何 bug 修复或进一步更新。

数据库试验助手(DEA)是 SQL Server 升级的试验解决方案。 DEA 可帮助您评估某一特定工作负荷的 SQL Server 目标版本。 从早期版本的 SQL Server(从 2005 年开始)升级到较新版本的 SQL Server 的客户可以使用该工具提供的分析指标。

DEA 分析指标包括:

  • 出现兼容性错误的查询。
  • 查询及其计划已降级。
  • 其他工作负荷比较数据。

比较数据可能会导致更高的置信度,并帮助确保升级体验成功。

获取 DEA

若要安装 DEA,下载 最新版本的工具。 然后,运行 DatabaseExperimentationAssistant.exe 文件。

用于比较工作负荷的解决方案体系结构

下图显示了工作负荷比较的解决方案体系结构。 工作负荷比较在从 SQL Server 2008 升级到 SQL Server 2016 期间使用 DEA 和 Distributed Replay。

工作负荷比较解决方案体系结构的屏幕截图。

DEA 先决条件

下面是运行 DEA 的一些先决条件:

  • 最低硬件要求:具有 3.5 GB RAM 的单核计算机。
  • 理想的硬件要求:具有 3.5 GB RAM 或更高版本的八核 CPU。 具有 8 个以上的内核的处理器不会改善 DEA 运行时间。
  • 为存储 A、B 和报表分析数据库,需要额外增加 33 个% 的性能跟踪容量。

配置 DEA

在先决条件环境体系结构中,建议在与 Distributed Replay 控制器 相同的计算机上安装 DEA。 这种做法可避免跨计算机调用并简化配置。

使用 DEA 进行工作负荷比较所需的配置

DEA 使用 Windows 身份验证连接到数据库服务器。 确保运行 DEA 的用户可以使用 Windows 身份验证连接到数据库服务器(源、目标和分析)。

捕获配置要求

捕获跟踪要求用户必须运行 DEA:

  • 可以使用 Windows 身份验证连接到源数据库服务器。
  • 在源数据库服务器上具有 sysadmin 权限。

此外,运行源数据库服务器的服务帐户需要对跟踪文件夹路径进行写入访问。

有关详细信息,请参阅 有关跟踪捕获的常见问题。

重播配置要求

要重播跟踪,必须由运行 DEA 的用户执行:

  • 可以使用 Windows 身份验证连接到目标数据库服务器。
  • 在目标数据库服务器上具有 sysadmin 权限。

此外,重播跟踪需要:

  • 运行目标数据库服务器的服务帐户对跟踪文件夹路径具有写入访问权限。
  • 运行 Distributed Replay 客户端的服务帐户可以使用 Windows 身份验证连接到目标数据库服务器。
  • 为分布式重播控制器上的传入请求打开 TCP 端口。 DEA 使用 COM 接口与 Distributed Replay 控制器通信。

有关详细信息,请参阅 有关跟踪重播的常见问题。

分析配置要求

执行分析需要运行 DEA 的用户:

  • 可以使用 Windows 身份验证连接到分析数据库服务器。
  • 在源数据库服务器上具有 sysadmin 权限。

有关详细信息,请参阅 有关分析报告的常见问题。

设置遥测

DEA 具有已启用 Internet 的功能,可将遥测信息发送到Microsoft,以便在增强产品体验时使用。 收集的信息也会保存在计算机上进行本地审核,以便始终可以看到所收集的内容。 所有 DEA 日志文件都保存在 %temp%\DEA 文件夹中。

可以在四种类型的事件上收集遥测数据:

  • TraceEvent:应用程序的使用事件(例如“触发停止捕获”)。
  • 异常:应用程序使用期间引发的异常。
  • DiagnosticEvent:一个事件日志,可帮助诊断问题( 发送到 Microsoft)。
  • FeedbackEvent:通过应用程序提交的用户反馈。

收集和发送遥测数据是可选的。 若要指定收集哪些事件以及收集的事件是否发送到Microsoft,请使用以下步骤:

  1. 转到安装 DEA 的位置(例如 C:\Program Files (x86)\Microsoft Corporation\Database Experimentation Assistant)。
  2. 打开并修改 .config 文件 DEA.exe.config(应用程序使用)和 DEACmd.exe.config(CLI 使用),以便根据具体情况进行调整。
    • 若要停止收集事件类型,请将 事件(例如,TraceEvent)的值设置为 false。 若要再次开始收集事件,请将值设置为 true true
    • 若要停止保存事件的本地副本,请将 traceLoggerEnabled 的值设置为 false。 若要重新开始保存本地副本,请将该值设置为 true
    • 若要停止将事件发送到Microsoft,请将 AppInsightsLoggerEnabled 的值设置为 false。 若要再次开始将事件发送到Microsoft,请将值设置为 true

DEA 受 Microsoft隐私声明的约束。