model 資料庫
model 資料庫可作為 SQL Server 執行個體上建立之所有資料庫的範本。因為每次 SQL Server 啟動時,都會建立 tempdb,所以 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 Management Studio)>或<sys.databases (Transact-SQL)>。
如需這些資料庫選項的描述,請參閱<ALTER DATABASE (Transact-SQL)>。
限制
下列作業無法在 model 資料庫上執行:
加入檔案或檔案群組。
變更定序。預設定序是伺服器定序。
變更資料庫擁有者。model 由 dbo 所擁有。
卸除資料庫。
從資料庫卸除 guest 使用者。
啟用異動資料擷取。
參與資料庫鏡像。
移除主要檔案群組、主要資料檔或記錄檔。
重新命名資料庫或主要檔案群組。
將資料庫設定為 OFFLINE。
將資料庫或主要檔案群組設定為 READ_ONLY。
使用 WITH ENCRYPTION 選項來建立程序、檢視表或觸發程序。此加密金鑰會繫結至在其中建立物件的資料庫。在 model 資料庫中建立的加密物件只能用於 model。