共用方式為


Model 資料庫

模型資料庫可用作在 SQL Server 執行個體上建立之所有資料庫的範本。 因為每次 SQL Server 啟動時都會建立 tempdb,所以模型資料庫一定要存在於 SQL Server 系統中。 model 資料庫的完整內容 (包括資料庫選項) 都會複製到新的資料庫。 在啟動期間,模型的某些設定也會用於建立新的 tempdb,所以模型資料庫必須一直存在於 SQL Server 系統上。

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

重要

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

model 使用方式

發出 CREATE DATABASE 陳述式時,會複製 model 資料庫的內容,來建立資料庫的第一個部分。 新資料庫的剩餘部份則填入空白頁。

如果您修改 model 資料庫,則此後建立的所有資料庫都會繼承那些變更。 例如,您可以設定權限或資料庫選項,或是加入資料表、函數、預存程序之類的物件。 model 資料庫的檔案屬性是例外狀況,且已加以忽略 (資料檔案的初始大小除外)。

model 的實體屬性

下表列出 model 資料檔和記錄檔的初始組態值。 這些檔案的大小可能會因不同版本的SQL Server而略有不同。

檔案 邏輯名稱 實體名稱 檔案成長
主要資料 modeldev model.mdf 以 10% 的比例自動成長,直到磁碟已滿。
Log 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 開啟
AUTO_SHRINK OFF
AUTO_UPDATE_STATISTICS 開啟
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 簡單
QUOTED_IDENTIFIER OFF
READ_COMMITTED_SNAPSHOT OFF
RECOVERY 取決於第1版SQL Server
RECURSIVE_TRIGGERS OFF
Service Broker 選項 DISABLE_BROKER
TRUSTWORTHY OFF

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

如需這些資料庫選項的描述,請參閱 ALTER DATABASE (Transact-SQL)

限制

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

  • 加入檔案或檔案群組。

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

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

  • 卸除資料庫。

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

  • 啟用異動資料擷取。

  • 參與資料庫鏡像。

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

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

  • 將資料庫設定為 OFFLINE。

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

  • 使用 WITH ENCRYPTION 選項來建立程序、檢視表或觸發程序。 此加密金鑰會繫結至在其中建立物件的資料庫。 在 model 資料庫中建立的加密物件只能用於 model

系統資料庫

sys.databases (Transact-SQL)

sys.master_files (Transact-SQL)

移動資料庫檔案