大内存SQL Server数据库的加速剂(3)_Mssql数据库教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:怎样用压缩技术给SQL Server备份文件瘦身
众所周知,随着数据库体积的日益庞大,其备份文件的大小也水涨船高。虽然说通过差异备份与完全备份配套策略,可以大大的减小SQL Server数据库备份文件的容量。可是,其体积仍然很庞大。所以,在日常工作中,如何给SQL Server的备份文件瘦身,就是很多数据库

三、大内存维护管理几个关键点。

在通常情况下,往往不需要启用4GB以上的内存。但是,若在服务器上,同时启用了其他的应用程序服务。如在一台服务器上同时有数据库应用程序、邮件应用程序、文件服务器等多个应用服务的话,则可能原有的4GB内存无法满足。系统管理员不得不对内存进行升级。但是,对内存升级之后,数据库管理员需要手工对内存的分配进行干预,以免SQLServer应用程序占用比较多的内存空间,而影响其他应用程序的性能。

1、配置max server memory选项。虽然说这个选项并不是必须要修改的,但是笔者仍强烈建议数据库管理员要修改这个选项。特别是数据库应用程序与其他应用程序共享同一台服务器时。因为启动SQLServer对大内存的支持后(将Awe Enabled设置为1),而且可用物理内存大于用户模式进程空间。则当启动数据库服务器时,运行的SQLServer实例将会占用几乎所有的可用内存(不管需不需要使用,数据库服务器程序会先锁定这些内存。这就叫占着茅坑不拉屎)。而这个max server memory选项就是用来配置其最大可以占用的内存数量。数据库管理员需要预先估算出一个合理的数值,然后进行配置。让数据库应用程序与其他应用服务能够共同改善,至少不能够对其他应用程序的性呢产生不良影响。在比较极端的情况下,可以在升级内存之前,先关闭数据库应用程序;然后启用其他应用程序服务。观测一段时间,看看他们所需要用到多少的内存。然后升级内存,并为其他应用程序至少保留以前所需要的内存空间。否则的话,就会对其他应用程序产生不良影响。牺牲其他应用程序的性能来提高数据库的性能,这是拆西墙补东墙的做法,不值得取。

2、多个SQLServer实例内存如何分配。往往在一个SQLServer数据库中,会配置多个数据库实例。一个数据库实例用来负责ERP系统的运行,另外一个则是给CRM系统使用。在同一个数据库系统中,有多个数据库实例,此时该如何在各个实例之间分配可用的内存呢?这基于操作系统的不同,又有所不同。如果数据库操作系统采用的是2000系列的,则需要为每个数据库实例配置max server memory选项。否则的话,其中某一个数据库实例就有可能锁定全部的可用内存。这主要是因为2000系列的服务器系统并不支持动态分配大内存。所以需要为每个数据库实例配置这个选项。但是,若数据库服务器采用的是2003系列的服务器操作系统,则不需要进行手工的配置这些参数。因为操作系统会动态地分配内存。也就是说,操作系统会按照总体系统要求平衡SQLServer各个实例之间内存的使用。不过为了提高数据库整体性能,最好还是为各个实例配置max server memory;而不让操作系统来搞平衡。

分享:如何在SQL 2005中实现循环每一行做一定的操作
如果我们想对一个表的每一行做出比较复杂的操作,大多会想到用游标,本文中,我们将换一种思路,用SQL Server 2005中的新函数ROW_NUMBER()和while循环来对每一行执行操作。详细的示例代码如下: select Department_No as departmentNo,ROW_NUMBER() OVER(ORD

共3页上一页123下一页
来源:模板无忧//所属分类:Mssql数据库教程/更新时间:2009-05-20
相关Mssql数据库教程