SQL Server数据库服务器高性能设置
数据库服务器主要用于存储、查询、检索企业内部的信息,因此需要搭配专用的数据库系统,对服务器的兼容性、可靠性和稳定性等方面都有很高的要求。
下面是进行笼统的技术点说明,为的是让大家有一个整体的概念,如果想深入可以逐个击破;
希望大家能一起补充完善。
<!--[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]-->这里的调优细节很多,大家可以慢慢深入了解;
版权:本文版权归作者和博客园共有,欢迎转载。 Blog: