升级的 6.5 SQL Server 从 INF: 性能注意事项

文章翻译 文章翻译
文章编号: 297864 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

SQL Server 已完全重写版本 6.5 和 7.0 版之间。方法存储和检索数据和统计信息是在较新的版本比 SQL Server 6.5 大大不同。因此,该"最佳做法"编码和架构设计的不一样的 SQL Server 较新版本。

本文为您提供简要概述的一些进行编码和架构两个版本之间的设计需要考虑的问题。本文未涵盖每个潜在的性能问题,而不会指出一些更常见的问题。有关详细的信息,请参阅 SQL Server 联机丛书、"内部 Microsoft SQL Server 7.0",或"内部 Microsoft SQL Server 2000"MSPress,或 Microsoft Knowledge Base 文章的列表为这篇文章"引用"一节中所示。

更多信息

比较基准

当使用任何测试,您执行,请确保您有一个有效的比较基准进行比较。例如:
  • 验证硬件、 操作系统、 磁盘布局、 RAID 级别、 网络和其他因素完全相同。不能假定可忽略细微差别,因为它们可能会有意外的副作用。

  • 从其他服务器、 客户端或网络上运行的应用程序或从服务器或客户端计算机上启动的服务的响应时间,请考虑潜在的影响。

  • 检查 SQL Server 和 Microsoft Windows 事件查看器日志中 (应用程序、 系统,和安全) 运行的计算机的任何错误消息或您可能需要地址的警告。

  • 使用 SQL Server 事件探查器来查找特定的查询,看起来有问题,并集中精力优化这些查询。

索引

通常需要一组不同的索引进行从 SQL Server 6.5 升级后的最佳性能。有时,SQL Server 6.5 中存在的索引提供了可接受的性能 SQL Server 7.0 或 SQL Server 2000 中,但是,即使在这些情况下可能您可以进一步提高性能如果您更改索引策略,以利用较新版本的 SQL Server 的工作的方式。
  • 索引优化向导可以为您提供一个非常不错的起点,有关添加、 修改,或删除的索引。有关索引优化向导的详细信息,请参阅:

    联机 SQL Server 简介册

    Index Tuning Wizard for Microsoft SQL Server 7.0

    Index Tuning Wizard for Microsoft SQL Server 2000

    Troubleshooting the Index Tuning Wizard

    Designing an Index
  • 除了索引优化向导的建议,在大多数情况下最好使用每个表上的聚集索引开始。有这不是最佳,但它是非常罕见存在一个聚集索引的影响性能,它通常有助于偶尔的实例。 有关更多的信息请单击下面文章编号,以查看 Microsoft 知识库中相应的文章:
    297861INF: 一个堆中的低性能
  • 为存储所做的更改方式索引有一个副作用可能会看到较新版本中的非聚集索引大小的增加。如果这导致更多的页面要在扫描索引搜索这可能,一些情况削弱性能。这不是您应该很担心,但您可能要检查它,如果您有其他原因已排除。
有关更多的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
311826INF: 索引优化向导的最佳做法

统计信息

它是一个不错的主意运行版本升级后立即更新统计信息语句。在您可能需要手动安排定期更新统计信息的情况下。您需要执行该更新统计信息语句的频率是依赖于数据、 数据通讯组、 频率,和等在您的特定环境中的修改活动的类型的数量。需要注意一些事项有:
  • 即使已启用,自动更新统计信息,它只是在特定阈值触发。任何时间对金额或您的数据的分发进行重大更改 Microsoft 建议您手动执行更新统计信息语句。 有关更多的信息请单击下面文章编号,以查看 Microsoft 知识库中相应的文章:
    195565INF: SQL Server 7.0 和 2000 SQL Server Autostats 工作原理
  • 自动更新统计信息始终使用采样 ; 它永远不会使用 WITH FULLSCAN 选项。使用带 FULLSCAN 选项不会要求您分配额外的时间执行该更新统计信息语句 ; 但是,可能会导致您的数据不均匀分布的更准确的统计信息。

配置

大多数配置选项将自行调整和您对其进行更改时通常 counter-productive。有的环境的严格的测试证明某些设置将更改将改善,但不是在大多数情况下这种情况。因此,您应只之后更改设置的默认严格的测试的更改将如何影响您的环境。
  • 几乎所有环境中应设置 优先级提升 选项关闭,应关闭设置 (也称为纤程模式) 上的 轻量池 选项。

  • 最大工作线程 选项设置为大于 255 的默认值也可能极降低系统性能和稳定性。

有关这些设置的详细信息,请参阅"设置配置选项"和"sp_dboption"SQL Server 联机丛书中的主题。您还可以引用下面 Microsoft 知识库中相应的文章:
166967INF: 正确 SQL Server 6.5 配置设置
319942如何: 确定正确的 SQL Server 配置设置

其他提示

  • 删除所有查询提示 (索引、 联接、 联合,等) 添加到在 SQL Server 6.5 中使用的代码。由于 SQL Server 7.0 中这些全面优化程序更改为不可能在 SQL Server 7.0 或 SQL Server 2000 帮助改进 SQL Server 6.5 中的性能的提示。SQL Server 联机丛书中的"OPTION 子句"主题中所述:
    由于查询优化器通常选择最佳的执行计划,查询的因此,建议该 <join_hint>,<query_hint>,和 <table_hint> 由经验丰富的数据库管理员仅作为最后的手段。
  • 所有者限定在所有查询和存储的过程中的所有对象名称。 有关更多的信息请单击下面文章编号,以查看 Microsoft 知识库中相应的文章:
    243586故障排除存储的过程重新编译
  • 使用最新的 SQL Server 服务包。 有关更多的信息请单击下面文章编号,以查看 Microsoft 知识库中相应的文章:
    290211INF: 如何获取最新的 SQL Server 2000 Service Pack
    274799INF: 如何获得有关 Microsoft SQL Server 7.0 的 Service Pack 3
  • 避免动态游标 (使用"最小"可能的游标)。 有关更多的信息请单击下面文章编号,以查看 Microsoft 知识库中相应的文章:
    280406动态游标无限循环时一个非-唯一的聚集索引键为相等或更大的值更新 PRB:
  • 请确保您的磁盘驱动器的未压缩。存储压缩驱动器上的数据或日志文件不受支持 SQL Server 联机丛书中的文件"物理数据库文件和组"主题中所述。 有关压缩的驱动器支持的其他信息,请单击下面文章编号,以查看 Microsoft 知识库中相应的文章:
    231347不支持压缩的卷上的 INF: SQL Server 数据库
  • 避免使用 自动收缩 选项,因为它可能导致碎片以及性能开销。

  • 如果配置了您的数据库增长自动 (通过使用 自动增长 选项) 设置增长增量为一个足够大的值,以便它不常扩展。
  • 在客户端计算机上使用最新 MDAC 驱动程序。功能或不是以前版本中存在的优化,可能需要较新的驱动程序。"DLL 帮助数据库"以确定您需要升级的驱动程序,请参阅:

    DLL Help Database

  • sp_dbcmptlevel 选项设置为适当的版本。 有关更多的信息请单击下面文章编号,以查看 Microsoft 知识库中相应的文章:
    285165INF: 附加或还原到 SQL Server 2000 不更改兼容性模式的 SQL Server 7.0 数据库

引用

有关更多的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
315512INF: 自动增长和自动收缩配置注意事项

有关更多的信息请单击下面文章编号,以查看 Microsoft 知识库中相应的文章:
243589INF: 疑难解答慢速运行查询上 SQL Server 7.0 版或更高
243586INF: 疑难解答存储的过程重新编译
224587如何: 诊断 SQL Server 与应用程序性能
243588如何: 疑难解答特殊查询的性能
224453INF: 解决 SQL Server 7.0 版或 2000年阻止问题
251004INF: 如何监视 SQL Server 7.0 阻止
271509INF: 如何监视 SQL Server 2000 阻止

属性

文章编号: 297864 - 最后修改: 2005年1月12日 - 修订: 4.5
这篇文章中的信息适用于:
  • Microsoft SQL Server 2000 标准版
  • Microsoft SQL Server 6.5 标准版
  • Microsoft SQL Server 7.0 标准版
关键字:?
kbmt kbinfo KB297864 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 297864
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com