关于工作负荷

更新日期: 2005 年 12 月 5 日

数据库引擎优化顾问需要工作负荷来生成数据库的索引集、索引视图或分区的优化建议。工作负荷由保存在文件或表中的 Transact-SQL 脚本或 SQL Server Profiler跟踪组成。所使用的 SQL Server Profiler跟踪文件或表中,必须包含 Transact-SQL 批处理或远程进程调用 (RPC) 事件类以及 Event ClassText 数据列。有关详细信息,请参阅TSQL 事件类别

数据库引擎优化顾问可处理以下工作负荷类型:

  • 仅联机事务处理 (OLTP) 查询
  • 仅联机分析处理 (OLAP) 查询
  • OLTP 和 OLAP 混合查询
  • 大量查询工作负荷(查询比更新多)
  • 大量更新工作负荷(更新比查询多)

工作负荷必须包含许多代表着对数据库运行的典型工作负荷的可优化事件。

如果没有现有的工作负荷供数据库引擎优化顾问分析,可以使用 SQL Server Profiler 中的优化模板创建一个。优化模板已配置为捕获必要的事件和列,供数据库引擎优化顾问进行优化。有关详细信息,请参阅SQL Server Profiler 模板

当跟踪捕获到正常数据库活动的代表性示例之后,数据库引擎优化顾问将分析工作负荷,然后提出索引、索引视图或分区的优化建议以提高数据库性能。

您也可以将以下内容用作工作负荷:

  • 单位或行业的专用基准。
  • 需长时间运行的问题查询。

使用工作负荷

通过数据库引擎优化顾问使用工作负荷时的注意事项:

  • 使用跟踪表作为工作负荷时,该表必须存在于数据库引擎优化顾问正在优化的同一台服务器上。如果在其他服务器上创建了跟踪表,则将该跟踪表移动到数据库引擎优化顾问正在优化的服务器。
  • 在使用跟踪表作为数据库引擎优化顾问的工作负荷之前,确保跟踪已停止。数据库引擎优化顾问不支持将还在写入跟踪事件的跟踪表作为工作负荷使用。
  • 在将跟踪文件用作工作负荷时,数据库引擎优化顾问会假定它是滚动更新文件。有关滚动更新文件的详细信息,请参阅限制跟踪文件和表的大小
  • 如果工作负荷包含使用 USE PLAN 查询提示(此提示会强制 SQL Server 使用特定的查询计划)的查询,则数据库引擎优化顾问将保留强制计划中包含的所有索引,并且不删除作为优化建议内容的任何索引。
  • 数据库引擎优化顾问在优化过程中提交显示计划请求。当包含 LoginName 数据列的跟踪表或跟踪文件被用作工作负荷时,数据库引擎优化顾问将模拟 LoginName 中指定的用户。如果此用户不具有为跟踪中包含的语句执行并生成显示计划的足够权限,数据库引擎优化顾问将不会优化这些语句。若要解决此问题,请从未优化的那些事件中删除 LoginName 列。有关详细信息,请参阅如何创建工作负荷中的“包含 LoginName 数据列的跟踪文件或跟踪表工作负荷”。

请参阅

其他资源

使用数据库引擎优化顾问
数据库引擎优化顾问功能

帮助和信息

获取 SQL Server 2005 帮助

更改历史记录

版本 历史记录

2005 年 12 月 5 日

新增内容:
  • 在“使用工作负荷”部分中,添加了与使用 USE PLAN 查询提示的工作负荷的相关项。