繁体   English   中英

在SQL Server 2008中创建新数据库时,是否应从模型数据库继承FILEGROWTH设置?

[英]When creating a new database in SQL Server 2008, should FILEGROWTH settings be inherited from the model database?

在SQL Server中,“模型”数据库显然在创建新数据库时充当一种模板。 似乎该数据库的某些属性被新数据库继承。 但是,我观察到FILEGROWTH属性未被新数据库继承。

这篇(有些旧)的帖子建议应该继承此内容:

要更改将来数据库的默认设置,请在模型数据库上进行更改。

http://weblogs.sqlteam.com/tarad/archive/2008/09/11/File-Growth-Settings-for-SQL-Server-Databases.aspx

但是,在这篇文章中,实际上有人在问类似的问题: http : //www.sqlservercentral.com/Forums/Topic1065073-391-1.aspx

所以我的问题是,模型数据库的FILEGROWTH属性应如何影响新数据库? 并在不同版本的SQL Server之间更改了此行为?

CREATE DATABASE的文档中有关于SIZE参数的说法:

如果没有为主文件提供大小,则数据库引擎将使用模型数据库中主文件的大小。 如果指定了辅助数据文件或日志文件,但未为文件指定大小,则数据库引擎会将文件设为1 MB。 为主文件指定的大小必须至少与模型数据库的主文件一样大。

而对于FILEGROWTH参数,它表示:

如果未指定FILEGROWTH,则数据文件的默认值为1 MB,日志文件的默认值为10%,最小值为64 KB。


SQL Server 2000的CREATE DATABASE的文档也与非model一致:

如果未指定FILEGROWTH,则默认值为10%,最小值为64 KB


原始答案:

通过阅读模型数据库上的MSDN页面,您可以推断出答案是否定的,这不是继承的。 首先,我们有:

发出CREATE DATABASE语句时,通过复制模型数据库的内容来创建数据库的第一部分。 然后,新数据库的其余部分将填充空白页。

这意味着使用模型之前,新数据库的数据库文件已经存在。 也:

无法在模型数据库上执行以下操作:

  • 添加文件或文件组。

如果通过完全复制磁盘上的文件结构,然后在master数据库中克隆sys.database_files行来创建新数据库,则不需要此限制。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM