关于“SQL Server误区30日谈 第3天 即时文件初始化特性可以在SQL Server中开启和关闭”的攻略,我给出以下详细的讲解。
什么是即时文件初始化特性?
即时文件初始化特性指的是在SQL Server中创建数据库文件时,是否需要立即分配物理空间。如果开启即时文件初始化特性,那么创建数据库文件时只会为文件分配头部空间,在执行任何事务之前,并没有预先分配文件的物理空间,因此也没有数据文件。只有在插入数据时才会开始分配物理空间以存储数据。反之,如果关闭即时文件初始化特性,创建数据库文件时会立即分配完整的物理空间,并且磁盘上会立即创建一个已经有实际大小的数据文件。
如何开启或关闭即时文件初始化特性?
开启即时文件初始化特性
--开启即时文件初始化特性
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'user instance timeout', 0;
RECONFIGURE;
EXEC sp_configure 'filestream access level', 2;
RECONFIGURE;
GO
关闭即时文件初始化特性
--关闭即时文件初始化特性
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'user instance timeout', 0;
RECONFIGURE;
EXEC sp_configure 'filestream access level', 0;
RECONFIGURE;
GO
需要注意的是,在开启或关闭即时文件初始化特性前,需要先执行“EXEC sp_configure 'show advanced options', 1; RECONFIGURE;”来开启高级选项,之后再执行相应的配置。
即时文件初始化特性的使用误区
误区1:即时文件初始化特性只在数据文件上有影响
事实上,即时文件初始化特性对于日志文件同样适用。因此,在创建和扩展日志文件时,同样也需要考虑是否开启即时文件初始化特性。
误区2:即时文件初始化特性会显著提升插入数据的速度
开启即时文件初始化特性能够在减少文件预分配时的时间消耗上得到一定的优化。但是,一旦开始插入数据,即使开启了即时文件初始化特性,系统也会动态地分配磁盘空间来存储数据,因此,开启即时文件初始化特性并不能显著提升插入数据的速度。反之,如果在插入数据量较大时开启即时文件初始化特性,初始时可能会因为未预先分配磁盘空间而出现停顿的现象。
总结
即时文件初始化特性是SQL Server的一个磁盘管理特性,可以根据实际需求进行开启或关闭。但是,在使用过程中必须要注意实际情况,避免因为误区而带来的不良后果。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SQL Server误区30日谈 第3天 即时文件初始化特性可以在SQL Server中开启和关闭 - Python技术站