模型資料庫

模型資料庫會作為在 SQL Server 實例上建立之所有資料庫的範本。 因為每次啟動 SQL Server 時都會建立 tempdb因此模型 資料庫必須一律存在於 SQL Server 系統上。 模型資料庫的整個內容,包括資料庫選項,會複製到新的資料庫。 模型的某些設定也用於在啟動期間建立新的tempdb,因此模型資料庫必須一律存在於SQL Server系統上。

新建立的用戶資料庫會使用與模型資料庫相同的 恢復模式 。 預設值為用戶可設定。 若要瞭解模型的目前恢復模式,請參閱檢視或變更資料庫恢復模式(SQL Server)。

這很重要

如果您使用使用者特定的範本資訊來修改 模型 資料庫,建議您備份 模型。 如需詳細資訊,請參閱系統資料庫的備份與還原 (SQL Server)

模型的使用方法

當 CREATE DATABASE 語句被發出時,資料庫的第一部分會透過複製 模型資料庫的內容 來建立。 然後,新資料庫的其餘部分會用空白頁面填充。

如果您修改 模型 資料庫,之後建立的所有資料庫都會繼承這些變更。 例如,您可以設定許可權或資料庫選項,或加入數據表、函式或預存程序等物件。 模型資料庫的檔案屬性是例外狀況,除了數據檔的初始大小之外,會忽略。

模型的實體屬性

下表列出 模型 數據和記錄檔的初始組態值。 這些檔案的大小可能會因不同版本的 SQL Server 而稍有不同。

檔案 邏輯名稱 實體名稱 檔案成長
主要資料 modeldev model.mdf 自動成長 10%, 直到磁碟已滿為止。
日誌 modellog modellog.ldf 自動成長百分之 10 到最多 2 TB。

若要移動 模型 資料庫或記錄檔,請參閱 移動系統資料庫

資料庫選項

下表列出 模型 資料庫中每個資料庫選項的預設值,以及是否可以修改該選項。 若要檢視這些選項目前的設定,請參閱 sys.databases 目錄檢視。

資料庫選項 預設值 可以修改
ALLOW_SNAPSHOT_ISOLATION (允許快照隔離) 關閉 是的
ANSI_NULL_DEFAULT(預設空值設置) 關閉 是的
ANSI_NULLS 關閉 是的
ANSI_PADDING 關閉 是的
ANSI_WARNINGS 關閉 是的
ARITHABORT 關閉 是的
自動關閉 關閉 是的
AUTO_CREATE_STATISTICS 開啟 是的
自動縮小 關閉 是的
自動更新統計資訊 開啟 是的
AUTO_UPDATE_STATISTICS_ASYNC 關閉 是的
變更追蹤 關閉
CONCAT_NULL_YIELDS_NULL 關閉 是的
CURSOR_CLOSE_ON_COMMIT 關閉 是的
CURSOR_DEFAULT(游標_預設) 全球 是的
資料庫可用性選項 在線

多用戶

讀寫


是的

是的
日期關聯最佳化 關閉 是的
DB_CHAINING(資料庫連鎖) 關閉
加密 關閉
NUMERIC_ROUNDABORT 關閉 是的
頁面驗證 校驗和 是的
參數化 簡單 是的
QUOTED_IDENTIFIER 關閉 是的
READ_COMMITTED_SNAPSHOT 關閉 是的
恢復 相依於 SQL Server第 1 版 是的
遞迴觸發器 關閉 是的
Service Broker 選項 禁用代理
可信賴 關閉

1 若要確認資料庫的目前恢復模式,請參閱檢視或變更資料庫 (SQL Server)sys.databases 的恢復模式 (Transact-SQL)。

關於這些資料庫選項的說明,請參見 ALTER DATABASE (Transact-SQL)

限制

無法在 模型 資料庫上執行下列作業:

  • 新增檔案或檔案群組。

  • 變更排序規則。 預設定序是伺服器定序。

  • 變更資料庫擁有者。 model 是由 sa 所擁有。

  • 卸除資料庫。

  • 從資料庫卸除 guest 使用者。

  • 啟用異動數據擷取。

  • 參與資料庫鏡像。

  • 移除主要檔案群組、主要資料檔案或記錄檔。

  • 重新命名資料庫或主要檔案群組。

  • 將資料庫設定為 OFFLINE。

  • 將主要檔案群組設定為 READ_ONLY。

  • 使用 WITH ENCRYPTION 選項創建程序、視圖或觸發器。 加密金鑰會系結至建立物件的資料庫。 在 模型 資料庫中建立的加密物件只能在 模型中使用。

系統資料庫

sys.databases (Transact-SQL)

sys.master_files (Transact-SQL)

移動資料庫檔案