数据库实验助手概述

注意

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

数据库实验助手 (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 身份验证连接到目标数据库服务器。
  • 为 Distributed Replay 控制器上的传入请求打开 TCP 端口。 DEA 使用 COM 接口与 Distributed Replay 控制器通信。

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

分析配置要求

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

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

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

设置遥测

DEA 具有可联网的功能,可将遥测信息发送到 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),以便根据应用场景的需要进行处理:
    • 若要停止收集事件类型,请将 event 值(例如 TraceEvent)设置为 false。 若要再次开始收集事件,请将值设置为 true
    • 若要停止保存事件的本地副本,请将 TraceLoggerEnabled 的值设置为 false。 若要再次开始保存本地副本,请将值设置为 true
    • 若要停止向 Microsoft 发送事件,请将 AppInsightsLoggerEnabled 的值设置为 false。 若要再次开始向 Microsoft 发送事件,请将值设置为 true

DEA 受 Microsoft 隐私声明的约束。

另请参阅