模型資料庫會作為在 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 選項創建程序、視圖或觸發器。 加密金鑰會系結至建立物件的資料庫。 在 模型 資料庫中建立的加密物件只能在 模型中使用。