簡體   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