数据库SQL Server跟Windows操作系统是同一个父母生的,他们在一些技术上具有共通性。这在很多方面都有体现。如在日常工作中,我们可以通过调整Windows操作系统的一些参数来提高SQLServer数据库服务器的性能。 一、 限制系统内存用户文件缓存的大
SQL Server跟Windows操作系统是同一个父母生的,他们在一些技术上具有共通性。这在很多方面都有体现。如在日常工作中,我们可以通过调整Windows操作系统的一些参数来提高SQLServer的性能。
一、 限制系统内存用户文件缓存的大小。
毋庸置疑,数据库服务器的物理内存对于数据库的性能具有至关重要的影响。但是有时候我们会发现一个奇怪的现象,即即时增加了数据库服务器的物理内存,但是仍然没有发现数据库的性能有很大的改善,或则说比原先的还要差一点。这是什么原因呢?如结合SQLServer数据库来说,这主要是内存的分配不是很合理。如大部分的内存被用来存放文件缓存。此时如果增加的内存都被用来存放文件缓存了,那么光靠简单的增加内存并不能够提高数据库的性能。所以,有时候我们数据库管理员需要优化SQL Server服务器的内存使用情况,如需要限制用户文件缓存的内存量。
那么该如何限制呢?这不是SQLServer数据库服务器来完成的,而是需要通过Windows操作下系统的配置来实现。如要限制文件系统缓存,需要确保没有选择“最大化文件共享数据吞吐量”这个选项(其原来是为文件共享所准备的),然后选择“最小化使用对内存”或者“平衡”选项,来制定最小文件系统缓存。
具体来说,可以按如下步骤来调整这个选项,以提高服务器的性能。首先,依次打开控制面板、选择网络连接、单击本地连接。然后打开常规选项卡,选择属性。在本地连接属性对话框中选择常规选项卡,选择微软网络的文件和打印机共享,并单击属性。在弹出来的对话框中,去掉“最大化文件共享数据吞吐量”选择,可以选择“最大化网络应用程序的数据吞吐量”。然后按确定即可。如此操作系统就会自动调整内存的分配,不会给文件缓存保留很大的空间,从而可以提高数据库内部处理的性能。往往这对于事务性的应用系统很有作用,能够在很大程度上提高数据库的性能。
不过在调整这个配置后,如果在站台服务器上还部署有文件服务器的话,那么这个文件服务器的性能就会受到比较大的影响。因为对于文件服务器应用来说,需要比较大的文件缓存量。为此在某种程度上来说,数据库服务器与文件服务器在这方面是相互冲突的。数据库管理员就需要相互权衡,然后确定一个最佳的处理方案。不过一般情况下,不建议将数据库服务器与文件服务器、打印服务器等等部署在同一个服务器上。因为这三种不同的应用,彼此之间的资源争用还是很厉害的。为此会给数据库的性能带来比较大的负面影响。