创建具有较大初始大小的新数据库


8

我想用200GB的数据文件(.mdf)和50GB的日志文件(.ldf)创建一个新数据库。

但这很慢(大约15分钟,但尚未创建)。而且非常耗时。那正常吗?如果是,那需要时间吗?我可以提高其创建速度吗?

我正在使用SQL Server 2008 R2,Windows Server 2008R2、16GB RAM(在ssms中将其限制为12GB)和Core i7 Cpu


2
对于创建大型数据库,磁盘I / O的限制比其他任何事情都要多得多。如果启用了IFI(根据答案),则可以跳过初始化(归零)数据文件的步骤,而不必初始化日志文件。如果您使用的是典型的消费者棘手磁盘,那么仅日志文件可能需要长达半小时的时间。
Simon Righarts 2013年

Answers:


17

除非使用即时文件初始化,否则SQL Server必须将文件的所有扇区清零。这是一个非常耗时的过程,尤其是对于250 GB(数据+日志)而言。为了加快处理速度,请启用此功能,然后SQL Server不会将数据文件的空间清零。

请注意,SQL Server将始终将日志文件归零,因此您仍然会受到限制。日志文件初始化的另一参考


zero out all sectorsSQL为什么总是将日志文件归零时,硬盘上究竟发生了什么?这样做的好处是什么?
2013年

这是擦除磁盘上数据的过程。基本上,即时文件初始化会跳过这一点。但是,由于日志文件在内部是如何工作的,因此SQL Server必须将其完全清零才能使用它。您可以在此处找到更多详细信息。
Mike Fal 2013年

@MehrdadKamelzadeh SQL Server归零文件适用于数据文件。日志文件不能为零初始化。请参阅(sqlskills.com/blogs/paul/…)。另请参阅如何判断您是否启用了即时初始化?(sqlskills.com/blogs/paul/…)。
Kin Shah

1
@Kin-日志文件必须初始化为零,但是使用IFI可以跳过对数据文件进行零初始化的操作。
Simon Righarts

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.