Model 資料庫
model 資料庫可做為 SQL Server 執行個體上建立之所有資料庫的範本。 因為每次啟動 SQL Server 時都會建立 tempdb,所以 model 資料庫一律必須存在於 SQL Server 系統上。model 資料庫的整個內容 (包括資料庫選項) 都會複製至新的資料庫。 在啟動期間,model 的某些設定也會用於建立新的 tempdb,所以 model 資料庫必須一直存在 SQL Server 系統上。
新建立的使用者資料庫會使用與 model 資料庫相同的復原模式。 使用者可以設定預設值。 如需了解此模型目前的復原模式,請參閱<檢視或變更資料庫的復原模式 (SQL Server)>。
重要事項 |
---|
如果您使用使用者特定的範本資訊來修改 model 資料庫,建議您備份 model。 如需詳細資訊,請參閱<系統資料庫的備份與還原 (SQL Server)>。 |
model 使用方式
發出 CREATE DATABASE 陳述式時,會複製 model 資料庫的內容,來建立資料庫的第一個部分。 新資料庫的剩餘部份則填入空白頁。
如果您修改 model 資料庫,則此後建立的所有資料庫都會繼承那些變更。 例如,您可以設定權限或資料庫選項,或是加入資料表、函數、預存程序之類的物件。
model 的實體屬性
下表列出 model 資料檔和記錄檔的初始組態值。 對於不同版本的 SQL Server,這些檔案的大小稍有不同。
檔案 |
邏輯名稱 |
實體名稱 |
檔案成長 |
---|---|---|---|
主要資料 |
modeldev |
model.mdf |
以 10% 的比例自動成長,直到磁碟已滿。 |
記錄 |
modellog |
modellog.ldf |
以 %10 的比例自動成長,最大至 2 TB。 |
若要移動 model 資料庫或記錄檔,請參閱<移動系統資料庫>。
資料庫選項
下表列出 model 資料庫中每一個資料庫選項的預設值,以及是否可以修改選項。 若要檢視這些選項目前的設定,請參閱 sys.databases 目錄檢視。
資料庫選項 |
預設值 |
可以修改 |
---|---|---|
ALLOW_SNAPSHOT_ISOLATION |
OFF |
是 |
ANSI_NULL_DEFAULT |
OFF |
是 |
ANSI_NULLS |
OFF |
是 |
ANSI_PADDING |
OFF |
是 |
ANSI_WARNINGS |
OFF |
是 |
ARITHABORT |
OFF |
是 |
AUTO_CLOSE |
OFF |
是 |
AUTO_CREATE_STATISTICS |
ON |
是 |
AUTO_SHRINK |
OFF |
是 |
AUTO_UPDATE_STATISTICS |
ON |
是 |
AUTO_UPDATE_STATISTICS_ASYNC |
OFF |
是 |
CHANGE_TRACKING |
OFF |
否 |
CONCAT_NULL_YIELDS_NULL |
OFF |
是 |
CURSOR_CLOSE_ON_COMMIT |
OFF |
是 |
CURSOR_DEFAULT |
GLOBAL |
是 |
資料庫可用性選項 |
ONLINE MULTI_USER READ_WRITE |
否 是 是 |
DATE_CORRELATION_OPTIMIZATION |
OFF |
是 |
DB_CHAINING |
OFF |
否 |
ENCRYPTION |
OFF |
否 |
NUMERIC_ROUNDABORT |
OFF |
是 |
PAGE_VERIFY |
CHECKSUM |
是 |
PARAMETERIZATION |
SIMPLE |
是 |
QUOTED_IDENTIFIER |
OFF |
是 |
READ_COMMITTED_SNAPSHOT |
OFF |
是 |
RECOVERY |
取決於 SQL Server 1 版 |
是 |
RECURSIVE_TRIGGERS |
OFF |
是 |
Service Broker 選項 |
DISABLE_BROKER |
否 |
TRUSTWORTHY |
OFF |
否 |
1 若要確認資料庫目前的復原模式,請參閱<檢視或變更資料庫的復原模式 (SQL Server)>或<sys.databases (Transact-SQL)>。
如需這些資料庫選項的描述,請參閱<ALTER DATABASE (Transact-SQL)>。
限制
下列作業無法在 model 資料庫上執行:
加入檔案或檔案群組。
變更定序。 預設定序是伺服器定序。
變更資料庫擁有者。 model 是由 dbo 所擁有。
卸除資料庫。
從資料庫卸除 guest 使用者。
啟用異動資料擷取。
參與資料庫鏡像。
移除主要檔案群組、主要資料檔或記錄檔。
重新命名資料庫或主要檔案群組。
將資料庫設定為 OFFLINE。
將主要檔案群組設為 READ_ONLY。
使用 WITH ENCRYPTION 選項來建立程序、檢視表或觸發程序。 此加密金鑰會繫結至在其中建立物件的資料庫。 在 model 資料庫中建立的加密物件只能用於 model。