1.如何调整Windows参数提高数据库服务器性能?
全国计算机等级考试(等考)指定教材 全国计算机等级考试学习视频 全国计算机等级考试网上辅导招生 全国计算机等级考试时间及科目预告 考试大教育全国计算机等级考试在线测试平台 全国计算机等级考试资料下载 全国计算机等级考试论坛 计算机等级考试四级应用题解析汇总 2009年下半年全国计算机三级考试报名时间从6月1日起已经开始报名。
详情点击:2009年下半年全国计算机等级考试各地报名点汇总。2009年下半年全国计算机三级考试时间是2009年9月19日至23日。
更多优质资料尽在考试大论坛 考试大在线题库。 第1页:提高数据库服务器性能 数据库SQL Server跟Windows操作系统是同一个父母生的,他们在一些技术上具有共通性。
这在很多方面都有体现。如在日常工作中,我们可以通过调整Windows操作系统的一些参数来提高SQLServer数据库服务器的性能。
一、提高虚拟内存来提高数据库服务器性能。 虚拟内存简单的来说就是内盘中的一块空间。
当物理内存不够时,操作系统会自动把某些驻留在内存中暂时不用的内容移植到这个在硬盘上的虚拟内存中,以释放更多的空间给新的应用程序使用。 也就是说,当物理内存使用完时操作系统会拿出一部分硬盘空间来充当内存使用,以缓解内存的压力。
为此从某种程度来说,这个虚拟内存的设置也会影响到数据库服务器的性能。那么这个虚拟内存到底该设置多少为好呢?这没有一个固定的标准。
这需要数据库管理员根据部署的应用来确定。 如数据库没有一些高级的应用,如数据仓库、全文索引或者不适多个应用服务一身的话,笔者认为只要把虚拟内存设置为物理内存的1。
5倍即可。但是,如果在数据库服务器上配置了数据仓库或者全文索引的话,则这个1。
5倍的虚拟内存往往是不够的。此时笔者建议需要把虚拟内存配置为物理内存的3倍到四倍。
同时,需要调整数据库中的最大服务器内存选项,将其设置为物理内存的1。5倍。
也就是说,其在使用内存的时候,可以使用虚拟内存大小的一半。注意这个设置时必须的,否则的话,调整数据库虚拟内存很难起到应有的效果。
而且当以后内存升级了,则也需要同时更改这个两个参数。 最后需要说明的一点就是,虚拟内存并不是越大越好。
如果设置为10倍、20倍,那么这是浪费。以往内存中没有这么多的内容可以往虚拟内存中存放。
所以,针对SQL Server数据库与Windows服务器来说,4倍于物理内存的虚拟内存已经足够了。设置的再大的话,就没有多少的实际意义了。
二、调整本地客户端的任务优先级。 在数据库初始化的过程中,有大部分的任务需要在本地客户端上完成。
即时在后续维护中,出于某种原因仍然要在本地客户端上操作。那么什么是本地客户端呢?其实本地客户端就是跟数据库服务器部署在同一台计算机上的客户端。
如我们在导入期初数据的时候,为了方便会在本地客户端上直接进行操作。因为这可以节省数据在网络上传输的时间。
不过在本地客户端上进行操作的时候,往往分为前台运行与后台运行。操作系统这么设计的本意是为了提高远程客户端的执行效率。
如在远程客户端生成物料需求计划的时候,由于运算量比较大,其花费的时间可能比较久,如可能需要20分钟。 为了提高工作效率,对于类似的作业,应用程序可以把这个运算放置在后台运行。
不过需要注意的是,把某个作业放置在后台运行,并不能够节省其运行的时间,而往往由于放置在后台的作业其优先级比较低,往往实际花费的时间还会延长,如会延长到23分钟等等。之所以要把这个长时间运行的作业放置在后台,主要是为了让用户不用干等,可以先作其他事情。
等到运行完成后,系统会自动把相关的结果返回给用户。这在感觉上是缩短了运行的时间(往往在等待的过程中时间过得特别慢),而实际上其运行的时间根本没有缩短,甚至会更长。
这个处理策略对于远程客户端来说确实有用,至少可以在感觉上缩短用户的等待时间。 而且可以让用户先进行其他的操作。
但是如果在本地客户端上,处理某些作业的时候,可能并不希望如此。如在本地客户度进行物料需求计划测试,数据库管理员希望即时把这个计划放置在后台运行,其也能够与前台应用程序具有相同的优先级,以减少这个处理时间。
所以,当数据库管理员遇到类似情况时,就需要调整操作系统的相关设置,让作为在后台运行的应用程序,也能够与前台运行的其他应用程序具有相同的优先级。 通常情况下,安装完干净的SQL Server数据库时,服务器任务调度设置为“务”,即前后台应用程序没有优先级的分别。
也就是说,此时将为前台应用程序与后台应用程序提供相等的处理时间。但是有时候为了兼顾远程客户端,在部署实例的时候,会改变这设置。
如把降低后台应用程序的优先级,让更多的资源能够服务于前台应用程序。在大部分情况下,这个设置是必要的。
不过如果出于某些原因需要在本地客户端执行某些操作的话,则数据库管理员需要暂时调整这个配置,以节省某些作业的运行时间。有时候甚至可以将服务器任务调度设置为最大或者应用程序,这就可以为前台应用程序提高最大的处理器时间。
可见,。
2.怎样使用命名管道来访问SQLServer?
一、意义 SQL Server安装后缺省配置是允许客户端以TCP/IP协议来访问,用户只需要知道SQL Server账号的密码就可以访问,这样很不安全,因为很多WEB程序是直接把连接信息(数据库服务器、连接账号、连接密码)写在程序里面的,破坏者或黑客可以通过某些方法直接查看源代码获取SQL Server账号及密码,他们就可以直接用TCP/IP协议连接到该数据库服务器,对数据或配置进行修改甚至作破坏。
使用命名管道时用户必须得 具有访问SQL Server所在机器的资源以后才有可能访问SQL Server,如果用户没有访问资源的权限,即便他知道SQL Server账号密也连不上。 二、实现 1、服务器配置 打开SQL Server的Server Network Utility:“开始->程序->Microsoft SQL Server 7。
0->Server Network Utility”,在“General”栏中,删除不必要的连接配置,然后按“Add。
”增加一个Named Pipes连接:Network librarys选Named Pipes,Server name为服务器的机器名。
2、客户机配置 打开SQL Server的Client Network Utility:“开始->程序->Microsoft SQL Server 7。0->Client Network Utility”,在“General”栏中,删除不必要的连接配置,然后按“Add。
”增加一个Named Pipes连接:Network librarys选Named Pipes,Server alias为待连接的SQL Server所在服务器的机器名(局域网)或IP地址(广域网) 3、连接方法 可以分为两种情况: A、客户机已经登陆到服务器所在的域,客户机已经具有访问服务器资源的权限,可以直接连接SQL Server B、客户机没有登陆到服务器所在的域,客户机不具备访问服务器资源的权限,可以在“开始->运行”中输入,然后输入NT账号和密码,验证通过后客户机就具有访问服务器资源的权限,此时该客户机就可以连接SQL Server了。
3.巧用SET选项设置SQLServer客户端配置要注意什么?
要实现类似的功能,就需要用到SQL Server数据库中的SET选项。
如要实现上述的需求,数据库管理员可以把SET ANSI_DEFAULTS ON,然后再通过SQL_COPT_SS_PRESERVE_CURSORS来设置客户端的配置。如此的话,就可以实现客户端与服务器配置的不同,提高客户端配置的灵活性。
不过需要注意的是,使用这些SET选项会导致客户端与服务器配置的不同,即一些连接参数、运行环境等等可能会出现混乱。为此在使用SET选项时还必须考虑这个一致性的问题。
也就是说,使用SET选项时要注意如下细节。 一、SET选项的生效时间。
利用SET选项来设置相关的运行参数与环境的时候,要注意其生效时间。 这与服务器默认参数不同。
默认参数其是始终生效的,除非后来数据库管理员改变了其设置。但是使用SET选项来设置相关参数时,其生效时间就尤其特殊性。
一般来说,SET选项可以分为分析时SET选项与执行时SET选项。随着他们的分类不同,这个选项的生效时间也是不同的。
如分析时选项在分析期间分析出文本中的选项时生效,而不管是否受流语句的控制。而执行选型则在指定这些选项的代码执行期间生效。
如在一个批处理程序中,可以设置一个SET选项。如果在执行这个SET语句之前,批处理程序已经因为某些原因执行失败,则这个选项就不会生效,即数据库系统没有设置这个选项。
如果在执行SET语句后执行失败,则这这个选项就已经生效了。 所以说如果SET选项跟一些批处理程序一起使用时,就需要特别注意这个SET选项的位置。
因为这个SET选型是否生效直接跟批处理程序中其他语句的执行情况相关。如现在一个批处理程序中有8条语句,而SET选型就是其中的一条如在第五条。
如果在执行这个批处理程序的时候,在第三条语句的时候卡住了,那么这个第五条的SET选项语句就根本不起作用。为此笔者建议数据库管理员,像这些SET选项语句通常情况下最好放置在批处理程序的前面部分,以初始化批处理程序的相关运行环境。
除非有特别的需要,否则的话不要放置在中间。 二、要注意SET选项的作用范围。
其实SET选项设置的参数与数据库服务器的默认参数就好像是一个局部变量与全局变量的关系。前者设置的参数就是一个局部变量,其只有在一个特定的范围内有效;离开了这个范围的话,就会失效。
而全局变量的话通常情况下都是有效的,除非在某个领域内又对其重新赋值了。 所以说,数据库管理员必须要了解SET选型的作用范围,为后续引用这些参数做好准备。
1、在会话过程中有效。有些SET选项是专门针对客户端连接的。
如笔者刚开始提起过的那个SET选型,其就是专么用来设置客户端的连接参数的。这些参数可能跟服务器的默认参数之间存在着比较大的差异。
那么这些参数的作用范围是多少呢?通常情况下,针对专门会话所这支的SET选项,其在重置或者服务器中用户的会话终止之前有效。也就是说,在客户端连接的初始化过程中SET选项生效。
只要用户的这个会话没有终止,这些选项都是生效的。除非用户终止了当前的会话或者服务器强制重置相关参数,否则的话这个SET选项随着会话启用而生效,随着会话终止而失效。
另外需要注意的是,针对某个用户设置的SET选项,其只对这个用户的会话有效,而不会影响到其他用户跟数据库之间的通信。 2、支持 MARS 的连接维护一组默认的 SET 选项值。
在该连接下执行批处理时,将把默认的 SET 选项值复制到请求的环境。 批处理结束后,该环境将复制回会话的默认设置。
通过这种方法,在同一连接下同时执行的多个批处理将在独立的 SET 选项环境下运行。这是一个官方的说明,他是什么意思呢?也就是说,在同一个连接的过程中,可能会执行多个批处理作业。
如果在这些批处理作业中,没有设置SET选项的话,则其默认会采用服务器的默认设置。 但是如果在第一个批处理程序中采用了SET选项更改这个默认设置,那么在第一个批处理程序运行环境中就会采用这个SET选项的设置。
从而可以根据企业实际的需求,在同一个连接下为每个批处理程序设置相对独立的运行环境。在支持 MARS 的连接下,如果同时执行多个批处理且它们会修改批处理执行环境,则得到的默认连接环境取决于最后执行完的批处理。
也就是说,最后这个连接的参数取决于最后运行的皮处理程序中的SET选项。简单的说,除非当前的连接中断掉或者服务器实现强制重置,否则的话当前连接中的相关参数会被批处理程序中的SET选项改变。
而且这个值会被多次改变。最后的参数是有最后一个批处理程序中的SET选项所决定。
3、在触发器或者过程中也可以使用SET选项。那么跟他们结合使用时,SET选项的寿命又有多少呢?这要分情况来对待。
一是要看触发器或者过程内容有没有多次使用SET选项。如在触发器中,可能一开始就利用SET选项设置了某个参数;然后某个功能执行完毕后又把这个参数恢复了默认值,再继续执行剩下的功能。
在这种情况下,其有效持续时间就是触发器内部这个参数被重置之前。也就是说,在一个触发器或者内部可以先打开某个选项,然后再关闭掉。
那么只有在这个选项。
转载请注明出处windows之家 » win10如何启用sql服务器配置