对于数据库来说, 服务器的磁盘IO性能是非常重要的, 这决定了DB服务器是否能快速处理很重要的一个方面。但除了硬件之外, 配置也会起一定作用。
即时文件初始化是一个在SQL Server 2005以及之上的版本鲜为人知的特性。这个特性允许数据文件(仅仅是数据文件,不包括日志文件)初始化的过程跳过填0初始化过程。这种方式是在发生灾难时大大减少Downtime的好办法—在恢复数据库时由于免去了填0初始化的过程而直接开始恢复过程。
你并不能在SQL Server中开启这个特性。在SQL Server启动时会检查启动SQL Server的账户是否拥有适当的Windows权限(也就是“执行卷维护任务”这个权限),当启动SQL Server实例的账户拥有这个权限后,这个特性就会针对这个实例开启。
如何开启就不赘述了, 相关的文章: SQL Server 即时文件初始化
即时文件初始化是一个在SQL Server 2005以及之上的版本鲜为人知的特性。这个特性允许数据文件(仅仅是数据文件,不包括日志文件)初始化的过程跳过填0初始化过程。这种方式是在发生灾难时大大减少Downtime的好办法—在恢复数据库时由于免去了填0初始化的过程而直接开始恢复过程。
你并不能在SQL Server中开启这个特性。在SQL Server启动时会检查启动SQL Server的账户是否拥有适当的Windows权限(也就是“执行卷维护任务”这个权限),当启动SQL Server实例的账户拥有这个权限后,这个特性就会针对这个实例开启。
如何开启就不赘述了, 相关的文章: SQL Server 即时文件初始化
这里我只写一下如何快速检测是否开启了。
/*
以全局方式打开跟踪标记 3004 和 3605。
3004:查看SQL Server对日志文件进行填零初始化的过程
3605:要求DBCC的输出放到SQL server ERROR LOG
-1:以全局方式打开指定的跟踪标记。
*/
DBCC TRACEON(3004,3605,-1)
GO
--创建测试库 TestFileZero
CREATE DATABASE TestFileZero
GO
--查看错误日志
EXEC sp_readerrorlog
GO
--删除测试库 TestFileZero
DROP DATABASE TestFileZero
GO