SQL Server数据库服务器高性能设置

数据库技术    2010-11-18 18:53  

  数据库服务器主要用于存储、查询、检索企业内部的信息,因此需要搭配专用的数据库系统,对服务器的兼容性、可靠性和稳定性等方面都有很高的要求。

  下面是进行笼统的技术点说明,为的是让大家有一个整体的概念,如果想深入可以逐个击破;    

  希望大家能一起补充完善。

  <!--[if !supportLists]-->一、<!--[endif]-->服务器规划:

  <!--[if !supportLists]-->1.      <!--[endif]-->使用64位的操作系统,最好是2008的;(Windows Server 2008 64位)

  <!--[if !supportLists]-->2.      <!--[endif]-->使用64位的数据库程序,最好是2008的;(SQL Server 2008 64位)

  <!--[if !supportLists]-->3.      <!--[endif]-->使用千兆网卡;

  <!--[if !supportLists]-->4.      <!--[endif]-->使用硬RAID5;

  <!--[if !supportLists]-->5.      <!--[endif]-->使用64K的簇大小;

  <!--[if !supportLists]-->6.      <!--[endif]-->LUN0用作系统盘,LUN1用作程序(主要是数据库程序)安装盘,LUN2用作数据库文件盘,动态盘;

  <!--[if !supportLists]-->二、<!--[endif]-->系统设置:

  如果服务器使用的配置是:Windows Server 2003 x86 + SQL Server 2005 x86 + 12G内存

  <!--[if !supportLists]-->1.      <!--[endif]-->使用Windows Server 2003 Enterprise Edition,如果有可能的话也可以使用Windows 2003 Datacenter Edition;

  <!--[if !supportLists]-->2.      <!--[endif]-->在boot.ini中启用pae;

  <!--[if !supportLists]-->3.      <!--[endif]-->使用gpedit.msc设置【内存中锁定页】;

  <!--[if !supportLists]-->4.      <!--[endif]-->设置虚拟内存到系统盘之外的物理磁盘中,如果是同一块物理磁盘,分到其它逻辑分区也可以;设置大小看情况而定;

  <!--[if !supportLists]-->5.      <!--[endif]-->去掉【最大化文件共享数据吞吐量】,选择【最大化网络应用程序数据吞吐量】

  <!--[if !supportLists]-->三、<!--[endif]-->数据库设置:

  <!--[if !supportLists]-->1.      <!--[endif]-->设置数据库的AWE,如果是16G的内存,一般是分配80%内存给数据库程序使用;

  <!--[if !supportLists]-->2.      <!--[endif]-->设置数据库实例的增长为10%,具体需要设置多少需要看你的业务需要,其目的就是尽量减少磁盘空间的分配次数还有较少磁盘碎片的产生;

  <!--[if !supportLists]-->3.      <!--[endif]-->设置数据库实例的恢复模式为简单模式,如果在可以的情况下;

  <!--[if !supportLists]-->4.      <!--[endif]-->设置TempDB的大小,一般来说可以给到4G以上,看具体需要和环境;

  <!--[if !supportLists]-->5.      <!--[endif]-->把除了SQL Server和SQL Server Browser 的其它数据库服务都停止掉,除非你有使用到这些服务的需要;

  <!--[if !supportLists]-->四、<!--[endif]-->数据库设计:

  <!--[if !supportLists]-->1.      <!--[endif]-->表分区;(单台数据库服务器)

  <!--[if !supportLists]-->2.      <!--[endif]-->事件复制读写分离;(两台数据库服务器)

  <!--[if !supportLists]-->3.      <!--[endif]-->对等事务复制;(多台数据库服务器)

  <!--[if !supportLists]-->五、<!--[endif]-->SQL优化:

  <!--[if !supportLists]-->1.      <!--[endif]-->创建合适的索引;

  <!--[if !supportLists]-->2.      <!--[endif]-->减少游标的使用;

  <!--[if !supportLists]-->3.      <!--[endif]-->可以考虑CLR编程,比如一些频繁查询并且变动很小的表;

  <!--[if !supportLists]-->4.      <!--[endif]-->使用批量操作,减少频繁而小的操作;

  <!--[if !supportLists]-->5.      <!--[endif]-->这里的调优细节很多,大家可以慢慢深入了解;

  版权:本文版权归作者和博客园共有,欢迎转载。

在线留言

我要留言