维护建议--文件和文件组
1. 创建数据库时为日志文件设置合理的初始值和增量值
很多DBA都没有在创建数据库时考虑过日志文件的设置,只有当出现性能问题或日志文件过大时,才考虑收缩和重新设置增量值,建议在数据库创建时便设置合理的初始值和增量值,初始值不宜过大宜不宜过小。可以在创建数据库后便手动增长日志文件,以避免后续的日志增长,保证虚拟日志文件数量保持在一个合理的范围内(这个数量仁者见仁智者见智,请别问推荐值)
2. 创建数据库时为数据文件设置合理的增量值和最大值
合理的增量(按MB)保证数据库既不频繁增长又不单次增长过大。控制单个数据文件的最大值(很多DBA建议在100GB左右),以避免在数据库还原以及数据库迁移时服务器单块盘区无法容纳数据文件的情况。推荐方式是当数据文件自动增长到最大值附近时,创建新的数据文件来存放新数据,并对原数据文件禁用自动增长。
3. 对生产服务器上的数据库使用完整恢复模式,并且在第一时间进行完整备份
第一时间完整备份保证数据库运行在“真正”的完整恢复模式下。
4. 将IO平均到各数据文件中
当有多个物理存储时,将同一文件组下多个文件分散到不同的存储上,可以有效利用存储资源来提升性能,在此条件下,建议设置各数据文件大小一致,并设置各数据文件增量相同,将IO压力平均到各数据文件上。
5. 将冷热数据分开
按照数据的访问频率,将冷热数据分开存放,并保证“热”数据使用性能最好的存储。
6. 索引和数据分开
将索引和数据分开存放到不同物理存储上,使用并行IO来提高查询性能。
7. 为tempdb数据库配置合理数量的数据文件
以及CPU数量和压力情况,为tempdb数据库创建合理数量的数据文件,并为每一个数据文件设置相同的文件大小和增量。
8. 为tempdb数据库日志文件配置合理的初始值
由于每次实例重启,都会重新创建tempdb数据库,因此tempdb数据库日志文件不能设置一个过大的初始值,以避免实例重启时间过长。但如果初始值过小,在日志文件增大到足够空间之前,会导致tempdb数据库文件频繁地物理IO写操作。
9. 确认数据库使用CHECKSUM的页验证方式
SQL SERVER 2005及之后版本默认使用CHECKSUM选项,对于从SQL SERVER 2000升级的数据库,应修改页验证为CHECKSUM,在条件允许情况下,还应该使用重建索引方式来将修改已存在的页面的验证方式。
10. 在没有充分测试情况下,不轻易修改数据库选项。
未完待续。。。
--=========================================