说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

你的数据库准备好过冬了吗

HTML文档下载 WORD文档下载 PDF文档下载
数据库也是有使用寿命的,如何在有限的寿命阶段最大限度的发挥数据库的作用?本文主要讲述数据库在一段时间的使用过后如何做一些保养措施,增加它的服务年限。在即将到来的冬天,你有没有让数据库过冬的打算?

文章来自Brent Ozar网站,作者在美国密歇根州长大,他清晰的记得在秋季来临之际人们是如何保养船只的:将船拖上岸晒干,全面清洁、维护,最后给船盖上防水的密封掩蔽物。同样,数据库也需要保养过冬。这样才能延长它的寿命,最大限度的发挥它的效用。(以下是编译内容)


下面一起来看看如何让数据库安全过冬:

1. 利用100%的fill factor重建所有的索引。重建索引需要用到fill factor参数,如果fill factor设置为100%,这意味着每一个索引页都是完全满的,如果fill factor设置为50%意味着每个索引页都是半满的。对于fill factor为100%的,每次新插入或更新一个记录,由于当前页没有空间可用,就可能有分页情况产生。过多的分页会降低SQL服务器的性能。有时我们设置较低的fill factor来防止分页问题的出现,尤其是在较为繁重的并发性期间。但是当一个数据库进入冬眠状态下的时候,对此,我们根本不需要过多的担心。通过将fill factor设置为100%和重建索引这两个步骤,这就像是把即将过冬的船紧紧地包装起来一样。同时这也意味着使数据更加密集化——空闲空间越少,从磁盘上读取的速度越快。

2. 利用fullscan来更新统计数据。即使是不像上面所说的那样去重建索引,仍有可能需要更新我们的统计数据。这里建议使用fullscan是因为我们已经从这些数据里获得了更好的理解,这样我们就不需要在这个冰冷的数据库上再次更新统计数据。

3. 创建一个只读数据库,使用一个Active Directory组登录。通过这一途径,如果你还需要添加其他拥有只读权限的用户到这个数据库的话,你只要简单地将他们添加到Active Directory组就可以了。其实,完成这一任务并不需要在数据库里做些什么,重要的是下一步骤该怎么做。

4. 将数据库设置为只读。首先,要有足够的信心来保证在自己支配/使用下的数据不会发生任何改变,这同样能够让我们在避免被锁定的前提下适当的提升性能。另外,如果一个低效的索引重建脚本正在试图重建索引的话,即使是在数据没有发生变化的情况下,只读数据库的使用也能节省很多时间。


5. 做一个完整的DBCC CHECKDB。做这个完整的DBCC CHECKDB只是想表明:制作者已经获得了一个好的、干净的所有数据库页面的副本。

6. 测试完整的备份材料。将这些完整的备份在某些地方进行还原,还原之后就说明,有一个很好的备份可以被真正还原的。一旦在这方面有把握了,甚至可以考虑不再备份这个数据库——尤其是如果它已经超过了一万亿字节,就可以将它备份在多个地方可供使用。

在数据库的使用寿命上,为数据库“过冬”可以说是大大的减少了对数据库的担心。其实这么做当然是有好处的,而且也有了备份资料,这样的话就可以花更多的时间来处理/关注那些更不稳定的数据库。

文章来源:Brent Ozar                                                                                        (责编/付江)

备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘