[SQL Server]调整SQL Server选项优化数据库性能(转)

时间:2021-11-27 00:00:28

管理SQL Server 2005数据库并不是一件容易的事情,通过一些相关的选项可以调整数据库引擎的性能,也许有些情况很少出现,不过了解这些方法可能会给你带来意想不到的帮助。 

服务器配置 

有两种方法可以查看数据库服务器的配置选项:sys.configurations系统查看和sp_configure系统存储过程。sys.configurations系统查看是一种查看系统配置的简便方法,但是我更喜欢使用sp_configure系统存储过程因为它提供了开启与禁止不同选项的功能。在这篇文章中,我使用的都是sp_configure系统存储过程方法来进行讲解。 

sp_configure 

在没有附带参数的情况下,sp_configure会返回可供调整的系统配置列表;您可能会用到一些高级系统选项,可以使用sp_configure存储过程的参数来开启高级选项: 

EXECUTE sp_configure 'show advanced options', 1

reconfigure with override 

如果要查看所有的服务器选项,您可以在此运行sp_configure存储过程 

EXECUTE sp_configure 

下面我们来介绍三个比较有用的服务器选项。(注意:您可以通过将值设定为1来开启这些选项,而设定为0会关闭这些选项) 

allow updates

实际上,SQL Server 2005版本中已经没有这一选项了,但是在SQL Server 2000中这个选项还是很有用的。用户可以使用allow updates来修改系统表格。一旦您开启了这个选项,您可以修改系统表结构、系统过程等等,尽管在大部分时候我们不推荐进行这样的操作。 

c2 audit mode

这是一个高级审计选项,他会记录所有的数据库指令和对象,无论是成功的操作还是失败的操作。这一选项对于确认系统安全策略有非常大的帮助,而且还可以用于侦测潜在的系统漏洞。开启这一选项会在Windows事件日志中记录大量的信息,所以在实际的企业应用环境中只有在绝对必须的情况下才可以开启这个选项。 

clr enabled

在可管理的.NET代码中写入数据库存储过程、函数、触发器等等是SQL Server 2005的新功能。这一类功能也被称作通用语言运行时(Common Language Runtime)。如果要使用可管理的代码,必须开启数据库中的这一选项。 

数据库邮件 

数据库邮件(Database Mail)SQL Server 2005中的一项新功能,通过数据库邮件,您可以使用数据库引擎发送电子邮件信息和警告信息。数据库邮件的优势在于它使用了SMTP服务器来发送信息,而SQL邮件则需要安装MAPI客户端才能使用。 

xp_cmdshell

这是SQL Server系统的一个存储过程,它会开启一个Windows命令行窗口,并执行传递给该存储过程的字符串语句。这一服务器选项是SQL Server 2005版本中新增加的功能,通过xp_cmdshell,您可以开启或关闭这类存储过程的执行。在默认状态下,出于安全的考虑,这个选项是关闭的,因为通过命令行方式运行存储过程带有一定的潜在安全风险。 

默认跟踪记录文件

在后台运行的跟踪记录也是SQL Server 2005中的一项新功能,在默认状态下,这一选项是开启的,它可以帮助您确定出现错误的位置。 

默认的跟踪记录文件通常存储在服务器上,您有两种方法可以查看跟踪记录文件中所记载的信息。如果您知道该文件的位置,那么可以使用fn_trace_gettable()表格函数,将文件路径作为参数,您可以在SQL Server内部查看记录文件中所记载的信息,这对于数据库查询是非常有帮助的;另外的选项是浏览到跟踪记录文件的位置,然后使用SQL Profiler打开,SQL Profiler在诊断数据库性能问题上是非常有效的工具。


嵌套触发器

SQL Server允许使用嵌套触发器,这意味着一个触发器可以在修改数据时触发另外一个触发器,然后第三个触发器,等等。嵌套的层次限制是32层,在32层之后,会出现错误。如果您遇到了层次限制的错误,那么最好坐下来重新思考您的设计,最好不要过于依赖使用触发器。 

最大服务器内存

顾名思义,这个选项可以设定SQL Server数据库引擎缓冲区可供使用的最大内存限制。设定这个限制可以防止SQL Server占用过多的内存资源,释放的内存可以用于服务器上其他的应用程序。 

最小服务器内存

这个选项可以设定SQL Server数据库引擎缓冲区可供使用的最小内存限制。设定这个参数可以确保SQL Server数据库引擎拥有维持正常工作所需的最低内存需求。对于运行了多个服务的服务器而言,这个选项至关重要,可以确保其他的应用程序不会耗尽系统资源,导致SQL Server无法正常运行。 

用户连接数

这个选项允许您设定同时发生的SQL Server连接数量(SQL Server允许的最大值是32767)。您需要根据实际状况调整这一参数,而且对于测试环境,设定用户连接数也会辅助测试项目的实现。

责任编辑:德东 

查看本文国际来源

原文地址:http://www.builder.com.cn/2007/0831/480619.shtml