SQL Server误区:即时文件初始化特性可以在SQL Server中开启和关闭

2022-11-12 09:47:02
内容摘要
这篇文章主要为大家详细介绍了SQL Server误区:即时文件初始化特性可以在SQL Server中开启和关闭,具有一定的参考价值,可以用来参考一下。 对此感兴趣的朋友,看看idc笔记做的技
文章正文

这篇文章主要为大家详细介绍了SQL Server误区:即时文件初始化特性可以在SQL Server中开启和关闭,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

本系列文章是我在sqlskill.com的PAUL的博客看到的,很多误区都比较具有典型性和代表性,原文来自T-SQL Tuesday #11: Misconceptions about.... EVERYTHING!!,经过我们团队的翻译和整理发布在AgileSharp和博客园上。希望对大家有所帮助。

误区 #3: 即时文件初始化特性可以在SQL Server中 a)开启 和 b)关闭

a)是不允许的 b)是允许的

即时文件初始化是一个在SQL Server 2005以及之上的版本鲜为人知的特性。这个特性允许数据文件(仅仅是数据文件,不包括日志文件)初始化的过程跳过填0初始化过程。这种方式是在发生灾难时大大减少Downtime的好办法---在恢复数据库时由于免去了填0初始化的过程而直接开始恢复过程。

我之前已经写过关于即时文件初始化误区的文章了(见Misconceptions around instant initialization),但这并没有谈到这方面误区。

你并不能在SQL Server中开启这个特性。在SQL Server启动时会检查启动SQL Server的账户是否拥有适当的Windows权限(也就是“执行卷维护任务”这个权限),当启动SQL Server实例的账户拥有这个权限后,这个特性就会针对这个实例开启,见图1.Kimberly有一篇关于讲述如何开启这个特性细节的文章Instant Initialization - What, Why, and How。

【图片暂缺】

图1.开启执行卷维护任务(Perform Volume Maintenance Tasks )

你可以在SQL Server中查看即时文件初始化特性是否开始,通过追踪标志3004(3605可以强制输出错误信息)创建一个数据库,在日志中查看是否有填0操作,如果即时文件初始化有填0初始化操作,则这个特性在SQL Server中并没有开启。

你可以在SQL Server中通过追踪标志1806设置为ON来暂时停止即时文件初始化特性。如果你想永久的禁止这个特性,请把启动SQL Server账户中”执行卷维护任务”这个权限删除。

这两个追踪标志是在SQL Server Premier Field Engineer Blog和How and Why to Enable Instant File Initialization这两篇博文中首次被提到的。

如果可以的话,尽量打开这个特性。

注:关于SQL Server误区:即时文件初始化特性可以在SQL Server中开启和关闭的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!