[无法创建SqlServer数据库的问题]最初安装Visual Studio 2008 时还好,不知道什么时候,应该是安装了SQL Server Management Studio Express 以后,Visual Studio 2008 不能连接 SQL Server 2005了。只好重装,可是...+阅读
不久之前,一个在企业中从事网管工作的朋友求助关于SQL Server服务器内存升级后遇到的问题。原来,他们企业准备上一个企业邮箱系统。为了节省开支,他们准备在原来的SQL Server服务器上部署企业的邮箱服务器。为了提高这个服务器的性能,让其能够承担其两种应用服务的重任,所以,他们对内存进行了升级。从原先的1G升级到了2G。
但是,内存升级完以后,邮箱应用服务的性能不但没有改善,而且,还有恶化的趋势。运行一段时间后,这台服务器上运行的邮箱系统就出现了异常情况。时不时的会报出内存分配不足的情况。一开始,他们还以为是邮箱服务器跟SQL Server服务器不兼容。故还请了邮箱服务器的技术人员前来查看。经过他们的检查,发现是SQL Server服务占用的大部分内存所导致的。SQL Server服务所需要的内存,从升级之前的600M左右一下子到了1.5个G。难怪邮箱应用服务要警报说内存不够了。
一、原因分析。
对这种问题已经是见怪不怪了,已经遇到过好几次类似的故障。在SQL Server数据库启动的时候,数据库系统会根据物理内存的大小来动态的增大或者缩小高速缓冲区的容量。这主要是为了提高SQL Server服务器的性能才如此的设计的。
我们知道,一般情况下,高速缓冲区越大,则SQL Server服务器的性能越好。这主要是因为有些用户查询过的数据都可以放在高速缓冲区(即内存的其中一部分)中。如此的话,当用户下次再次需要这些数据的时候,就不用到硬盘中去读取,而直接在内存中读取即可。而从内存中读取数据要比在硬盘中读取速度要快的多。
所以,只要当服务器的可用内存在4MB与10MB之间的话,数据库系统就会把它的高速缓冲区不断的扩大。如此的话,当邮箱服务器突然需要用到比较大的内存,如对邮箱进行备份或者有用户群发邮件的时候,就会报错说“内存分配不足”。
故一般只是内存升级,往往不能够解决SQL Server服务与其他应用服务抢占内存的情况。为了让SQL Server能够与其他应用服务友好的共处,数据库管理员还需要对内存进行合理的分配,限制SQL Server数据库服务内存的占用率。
二、解决方法。
针对他们企业的这种情况,考试.大给出两个建议。一是合理地给SQL Server数据库分配内存。而是不要把SQL Server服务跟其他应用服务放在同一台服务器上,毕竟数据库服务的并发行访问比较多,对服务器的性能要求比较高。
若果企业选择第一种应对措施的话,就需要限制SQL Server服务器的内存使用率。为了使得运行在同一台服务器的SQL Server服务器与邮箱服务能够达到一个合理的性能,能够和平共处,就需要采取一定的措施限制SQL Server数据库服务的内存使用量。在SQL Server服务器中,专门提供了一个工具(数据库引擎),可以用来帮助我们干预SQL Server服务器的内存分配。
具体的说,可以按如下方法进行配置。
第一步:打开SQL Server企业管理器。
在SQL Server数据库中,提供了一个图形化界面的企业管理器。在这个管理平台上可以对SQL Server的大部分服务进行管理与配置。SQL Server数据库服务的内存分配规则当然也不例外,可以在这里进行调整。
第二步:找到我们需要调整的服务器。
有些企业,可能在网络中部署了多个SQL Server服务器。为了管理的方面,会在其中一台服务器上的企业管理器中集中进行管理。不过,这家企业他们只有一个SQL Server服务器。在我们需要调整的服务器上,右键单击,选择“属性”。然后就会弹出一个对话框。在对话框中选择“内存选项卡”。在这里就可以对数据库应用服务的内存分配方法进行设置。
第三步:调整相关的内存参数。
在这张选项卡中,一般有两个参数,分别为最小服务内存与服务内存。在实际工作中,我们往往有两种配置方法。
一是配置一个最小内存。即给SQL Server数据库应用服务设置一个的使用内存。如此的话,在这个的范围之后,数据库系统会根据实际情况,在内存范围之内对内存的分配进行调整。一般情况下,最小内存我们可以不设置,只对内存进行限制即可。这就给数据库一种自主选择的权利。可以提高内存的使用效率。
二是固定内存分配。即把“最小服务内存”与“服务内存”两个参数设置为相同。如此的话,不管数据库服务需要多大的内存,在服务器启动的时候,操作系统都会给其预留这么大的内存。其他的应用程序及时内存再怎么不足,也不会跨越数据库的内存领地。很明显,这种方式虽然保证了数据库服务的内存需求,但是,内存的使用率并不是很高。
针对上面两种方法,考试.大比较倾向与使用第一种配置,即只对数据库应用服务的内存使用率进行限制。只要不超过这个范围,则服务器可以自主的进行调解。那么这个的使用率设置成多少合适呢?这主要要看企业所部属的服务了。由于这家企业,在同一台服务器上运行了邮箱服务器与数据库服务器,可能对硬件的压力比较大。因为这两个应用服务,都涉及到比较多的并发访问。所以,即使把硬件升级成了2G,估计也不能够给数据库服务分配比较多的内存。一般来说,并发性访问越多,则能够给其配置比较多的内存。
配置完成之后,不用重新启动,这个规则就会起效。不过考试.大还是建议把SQL Server服务重新启动一下。在可以的情况下,把服务器重新启动一下。如此的话,操作系统就会根据这个规则,对内存进行重新的调整分配。也可以让SQL Server服务器更好的队内存进行合理的安排。如可以把SQL Serve可用内存固定在一个连续的区域内,以提高数据库的性能。
三、总结。
针对这个内存升级后所产生的烦恼,考试.大有几句话说。
一是硬件升级只是数据库服务器性能提升的一个充分条件,而不是必要条件。也就是说,硬件的升级并不一定会导致服务器性能的提升。在硬件升级的同时,往往也需要调整相关的配置。让硬件升级的优势得到极大的发挥。考试.大认为,有时候服务配置比纯粹的硬件升级更加重要。一些经验不足的网络管理人员只知道升级硬件,而忽视了服务的调整配置。他们这是走进了一个死胡同,效果往往不能够达到他们的预期。
二是一些并发性比较大的应用服务器,不要放在同一个服务器上。现在企业基于服务器、客户端模式的管理软件应用越来越多。这种模式一个显著的特点,就是并发性访问比较频繁,给应用服务器带来了很大的压力。在一些性能要求比较高的企业,它们把数据库与前台的应用程序服务器都分开放置,以求优化服务器的性能。而且,现在服务器价格已经逐渐能够被企业所接受。考试大认为,企业没有必要在这方面省钱。若多个应用服务并发性访问比较多的情况下,则考虑把他们部署在不同的服务器上。以提高各个应用服务的性能。
三是在同一个服务器上部署多个应用服务的话,要考虑应用服务的稳定性。因为像这家企业在同一个服务器上部署数据库与邮箱服务器,考试大并不是很赞同。因为邮箱服务器是一个比较容易遭受到攻击的服务器。垃圾邮件、病毒邮件等等都可能导致服务期运行不正常。把邮箱服务放在SQL Server数据库服务旁边,会降低数据库服务的稳定性。还是能够分开部署
以下为关联文档:
用SqlServer2000的数据库备份来还原SqlServer2005中的数据库现在手中有Sql Server 2000中的数据库备份文件(如果此备份文件没有后缀名*.bak或*.trn,请追加相应的后缀名),欲将此文件还原到Sql Server 2005中,还原时突然报错,为此在网上搜索了...
SQLServersqlplus中host命令出现lsSQL-- 奇怪 sqlplus中 host命令出现lsSQLSQL>hostlsSQL>SQL>SQL>除了lsSQL>提示外,没有什么反应,为什么?当然,退出后重新进入,又可以正常使用HOST命令了.Examda提示产生...
SQLServerweblogic配置连接池问题在配置连接池的时候有时会出现“JDBC driver is not on the CLASSPATH”这是因为我们的创建连接池所需要的驱动相应数据库jar包没有找到比如拿sqlserver2000来举例:创建s...
为SQLServer2005配置Windows即时初始化SQL Server 2005支持数据库即时文件初始化(Instant File Initialization),这种即时文件初始化可以跳过清零数据的页面,这样做可以在执行一些操作,比如创建数据库,增加文件到现有...
浅析SQLServer2008企业级新特性微软SQL Server 2008的开发代号是Katmai,这个名字来源于阿拉斯加半岛东端阿拉斯加州北部阿留申山区的一座活火山,对数据库而言,可能并不是个的比喻(嘿嘿,目前为止,Katmai火山还没...
微软SQLServer2008数据库中的新数据类型对于关系型数据库来说,表现树状的层次结构始终是一个问题。微软在SQL Server 2005中首次尝试了解决这个问题,那就是被称之为通用数据表表达式(mon Table Expressions,CTE)的实...
SQLServerSql内存不足探索sql2005 报告内存不足,我们的服务器 16G 内存,根据以往经验,这个够了,但是为什么还报告这个错误?这台服务器连接的Server 比较多,据推断可能与连接的Server 有关系;网上看到sql内...
SQLServer2000工具的中英文互换SQL Server 2000 扩展了 Microsoft SQL Server 7.0 版的性能、可靠性、质量和易用性,对于中国用户来说,这是Microsoft SQL Server的第一个全汉化产品,尤其是其强大的联机帮助,为...
慢性肾衰竭进行性恶化的主要机制临床执业医师《内科学》辅导:慢性肾衰竭进行性恶化的主要机制 问题:导致慢性肾衰竭进行性恶化的主要机制 A.泌尿系及全身的感染 B.贫血加重 C.大量蛋白尿 D.肾小球毛细血管的...