详细介绍优化SQL Server 2000的设置

SQL Server已经为了优化自己的性能而进行了良好的配置,比今天市场其他的关系型数据库都要好得多。然而,你仍然有几项设置需要进行修改,以便你的数据库每分钟可以处理更多的事务(TPM)。本篇文章的目的就是讨论这些设置。我们忽略那些可以通过硬件配置或者表或者索引设计提高的性能,因为这些内容在本篇文章范围之外。

破碎页面检测

在我们开始讨论服务器配置开关之前,让我们快速浏览一下你的模型数据库——或者说用作构建新的数据库的基础的模板。默认情况下,你可以在数据库中创建存储过程、函数等类似的东西,随后他们将会被加入新创建的数据库中。

要优化性能,你也许想要关闭模型数据库中的破碎页面检测。当一个页面被成功写入磁盘的时候,破碎页面检测进行识别。如果激活了的话,你可以看到每个写操作对性能产生的每个细小的影响。大多数现代的磁盘阵列都有板上电池,使得阵列可以在突然断电的情况下完成所有的写操作——引起破碎页面的最频繁原因。

以下的步骤可以接受如何关闭破碎页面检测:

exec sp_dboption 'model', 'torn page detection', 'false'

这篇基础知识资源可以为你提供更多有关这个设置的信息。

服务器配置

大多数的配置是通过系统存储过程sp_configure完成的。要显示服务器的全部设置列表以便定制,你可以输入如下命令:

sp_configure 'show advanced options', 1

GO

RECONFIGURE WITH OVERRIDE

你可以配置的选项的数量根据你的SQL Server的版本、服务包,以及位数版本(64位的SQL Server比32位的选项要多)而定。我将直接讨论最能影响SQL Server性能优化的选项。

Affinity mask: Affinity mask让你可以控制SQL Server使用哪个处理器。对于大多数情况,你不应该接触这个设置,让操作系统控制处理器关系。然而,你也许想要用这个选项来将某个处理器专门用于另一个进程(例如,MSSearch 或者 SQL Server磁盘 IO ,以及 SQL Server的平衡)。参考基础知识资源获取更多有关这个设置的信息。

Awe enabled: Awe的启动可以让SQL Server Enterprise版本运行在Windows 2000以及以上高级服务器上,或者Windows 2003 Enterprise以及以上的版本使用超过4GB的内存。如果你的服务器符合这些条件的话,就激活这个设置吧。

并行成本极限:当查询需要进行并行处理的时候,并行的成本极限就定下来了。默认情况是五秒钟。将这个数值改为稍低的数值,俄可以让更多个查询获得并行处理,但是这也会引起CPU瓶颈。这个设置只有在多个处理器的机器上才会起作用。

填充因子:填充因子设置了在创建聚簇索引的时候用来自动填充的因子。在频繁插入的表中,将数值从默认的90%设置为较低的数值,你会获得收益。

轻量级缓冲池:这个设置启动了光纤模式。使用这个选项在CPU利用率很高的8路及其以上的服务器上。这可以让光纤同时为每个线程提供服务,同时在默认情况下运行在每个处理器上。某些任务可以从这些光纤中获得优势。

并行的最大程度:当服务器可以使用并行或者不能使用并行,或者是当某个数量的处理器可以用于并行操作的时候,这个设置就确定了。并行就是多个处理器上发生多个处理。例如,查询的并行操作可以在不同的处理器上同时处理。

服务器最大内存(MB):如果你在SQL Server上运行了其他的处理,并且有足够的内存,那么你有可能想要留出512MB的内存给操作系统和这些进程。例如,你可以在MSSearch或者在本地运行大量的代理的情况下将其设置为512。

最大工作线程:最大工作线程设置与ADO.net中的连接池有些类似。通过这个设置,任何超过限制(255个用户)的用户连接都可以在线程池中等待,直到为某个连接服务的线程得到释放,就好像是ADO.net中的连接与连接池共享。如果你有很大量的连接,并且大量的内存,那么你就可以提高这个数值。

网络包尺寸(B):这个设置控制了网络中传输到你的客户端的包的尺寸。在有损耗的网络中(例如电话线),你可能想要将这个参数设置为比较低的数值,墨人数值是4096。在连接良好的网络中,你可以提高这个设置,特别是涉及BLOB的大型批处理操作。

优先推进:这个设置为SQL Server提供了处理器的推动。在任务管理器中,点击进程标签,定位SQL Server的位置,然后右击它。选择“设置优先级别”。注意,SQL Server应该运行在正常的优先级别上。输入如下命令:

Sp_configure 'priority boost', 1

Reconfigure with override

然后重新启动你的SQL Server。在任务管理器中察看SQL Server现在运行在什么优先级别上。它应该是在高优先级上。SQL Server应该比其他的用户进程运行优先级别要高。在专用于SQL Server的服务器上使用这个设置。

总结

本篇讨论了最常见的SQL Server优化设置。在做出改变之前和之后分别在测试环境中进行基线确定是非常重要的,可以据此来评估在典型的负载下,改变对你的系统的影响。

时间: 2024-08-31 20:45:48

详细介绍优化SQL Server 2000的设置的相关文章

在SQL Server 2000里设置和使用数据库复制

2005-08 余枫                                        在SQL Server 2000里设置和使用数据库复制之前,应先检查相关的几台SQL Server服务器下面几点是否满足:        1.MSSQLserver和Sqlserveragent服务是否是以域用户身份启动并运行的(.\administrator用户也是可以的)            如果登录用的是本地系统帐户local,将不具备网络功能,会产生以下错误:              

SQL Server 2000企业版安装教程

server|教程 SQL Server 2000是微软公司最新版的大型数据库服务器,其性能指标在各方面都有赶超Oracle数据库的趋势.在经历了SQL Server 6.5和7.0两个版本的尝试后,微软公司终于开始向大规模的业务领域进发了.记得在以前各种关于SQL Server的文章,都会将其定位成中小型应用方面,这种感觉被大家自然的延续到了2000版之中.其实这是一种误解.在过去的很长一段时间中,微软公司凭请了世界上最优秀的数据库专家以及专门搭建了信息量可谓空前的地理信息系统,励精图治,就是

SQL Server 2000中生成XML的小技巧

本文介绍一个SQL Server 2000中生成XML的小技巧. 以前在介绍SQL2k的时候已经提到了SQL2k对XML的支持,使用for XML语句就可以很容易的把执行的结果转化为一个XML,这样可以在很大程度上提高系统运行效率和开发速度,详细的内容请参见Books Online. 但是在使用ADO(Required ADO 2.6)访问返回的XML的方式和原来的Recordset是有所不同的.如果你还是使用Recordset访问的话,只能得到一个Unicode格式的XML Schema,而无

SQL SERVER 2000 9003错误的解决方法(只适用于SQL2000)_MsSql

关于SQLSERVER 9003错误解决方法 只适用于SQL2000: "无法打开新数据库 'POS'.CREATE DATABASE 中止. (Microsoft SQL Server,错误: 9003)" 看是9003错误,就想到可能是由于日志文件的原因,再看数据库文件可能损坏,于是想到dbcc checkdb指令. 方法如下: 1.我们使用默认方式建立一个供恢复使用的数据库(如pos).可以在SQL Server Enterprise Manager里面建立. 2.停掉数据库服务

SQL SERVER 2000 9003错误的解决方法(只适用于SQL2000)

关于SQLSERVER 9003错误解决方法 只适用于SQL2000: "无法打开新数据库 'POS'.CREATE DATABASE 中止. (Microsoft SQL Server,错误: 9003)" 看是9003错误,就想到可能是由于日志文件的原因,再看数据库文件可能损坏,于是想到dbcc checkdb指令. 方法如下: 1.我们使用默认方式建立一个供恢复使用的数据库(如pos).可以在SQL Server Enterprise Manager里面建立. 2.停掉数据库服务

UDF—SQL Server 2000的新特性

本文将介绍Microsoft SQL Server 2000的新增特性-用户自定义函数User-Defined Function(UDF),并演示几个常用的实例. UDF的功能类似SQL Server中内建的系统函数,如CONVERT.SUBSTRING. DATAADD. GETDATA.ISNULL等等.一个UDF可以没有参数,或者带有一个或多个参数,函数运行后将会返回一个函数值.定义UDF的语法如下: CREATE FUNCTION [ owner_name.] function_name

Sql Server 2000清除日志方法介绍

手动清除日志的具体方法 一.现在我们详细描述一下如何用企业管理器清理SQL 2000的日志: 1.打开企业管理器,右击要处理的数据库-->属性-->选项-->故障还原,选"简单"-->确定.如图: 2.右击要处理的数据库-->所有任务-->收缩数据库-->什么也不动,默认第一个是0%,其它两个未选中,点确定-->如果您以前数据库日志文件大于1M那么现在再看看,是不是只有1M了呢. 3.操作完后-->按第一步,把"故障还原&

微软SQL Server 2000 Reporting Services介绍(四)

server|services|微软 微软SQL Server 2000 Reporting Services介绍(四) [摘要 ] 本文对Reporting Services的一些不太常见的功能进行了分析,最后根据使用情况列举了Reporting Services的一些不足的地方,估计这些不足都会在正式版中解决. [关键字] Reporting Services,.NET Framework. DrillThrough,rdl文件,rds文件 n rdl文件元素 在上一篇文章里简单的分析了rd

SQL Server 2000优化SELECT语句方法

本文是SQL Server SQL语句优化系列文章的第一篇.该系列文章描述了在Micosoft's SQLServer2000关系数据库管理系统中优化SELECT语句的基本技巧,我们讨论的技巧可在Microsoft's SQL Enterprise Manager或 Microsoft SQL Query Analyzer(查询分析器)提供的Microsoft图形用户界面使用. 除调优方法外,我们给你展示了最佳实践,你可应用到你的SQL语句中以提高性能(所有的例子和语法都已在Microsoft