SQL server 启用 IFI 功能 - 心得分享

DBA Bootcamp

今天早上 Data warehouse 部门的人告诉我平常的 Data loading时间还算正常,但是昨天晚上的 loading 时间比一般平常的时间长很多,是不是资料库有什么问题?

我仔细检查了一下资料库,发现昨天的资料档案 MDF file 已经满了,资料库自动加了 10GB 来增大这一个资料档案。我又跟着进一步检查 IFI 的设定,发现这个设定没有被启用。几乎可以肯定这个就是问题的所在.

什么是 IFI 呢?IFI 就是 Instant file initialization. 当资料库要取得磁碟空间来扩增资料档案的时候,系统会把取得的磁碟空间一个一个的用 数字 0 把它填满,称为 “zero out the disk”. 如果是小小的 1MB,可能不痛不痒。但如果是10 GB 或是更大的磁碟空间,那就要花一段时间来等待系统用数字 0 填满磁碟. 如果资料库启用 IFI 的话,SQL server 就会省略这个 zero out 的过程。相对的,资料库就不用静置在那里等待这个过程的完成.所以一般来讲,在设定资料库的时候,尤其是资料仓储,都会启用 IFI 的功能。

但是启用这个功能都没有什么缺点吗?答案是有的,会有资料安全考量的问题。因为省略了 zero out disk 的动作,所以新取得的磁碟空间不会被完全删除乾净。有心人士是可以透过特别的方法来读取那些原本该被删除的资料。所以有 security 的考量。但很多事情都有优缺点,还是需要衡量利与弊的比重,来做最佳的设定选择。


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章