model データベース
model データベースは、SQL Server のインスタンスに作成するすべてのデータベースのテンプレートとして使用されるデータベースです。 tempdb は、 SQL Server が起動するたびに作成されるので、 model データベースが常に SQL Server システムに存在する必要があります。 model データベースの内容全体 (データベース オプションを含む) が新しいデータベースにコピーされます。 model の設定の一部は、スタートアップ中に新しい tempdb を作成するためにも使用されます。このため、 model データベースは SQL Server システムに常に存在する必要があります。
新しく作成したユーザー データベースでは、model データベースと同じ 復旧モデル が使用されます。 既定値はユーザー構成可能です。 モデルの現在の復旧モデルについては、「データベースの復旧モデルの表示または変更 (SQL Server)」を参照してください。
重要
model データベースをユーザー固有のテンプレート情報で変更する場合は、model をバックアップしておくことをお勧めします。 詳細については、「システム データベースのバックアップと復元 (SQL Server)」を参照してください。
model データベースの使用方法
CREATE DATABASE ステートメントが発行されると、 model データベースの内容がコピーされて、データベースの最初の部分が作成されます。 その新しいデータベースの残りの部分は空のページで埋められます。
model データベースを変更すると、変更後に作成したすべてのデータベースにその変更が継承されます。 たとえば、権限やデータベース オプションを設定したり、テーブル、関数、ストアド プロシージャなどのオブジェクトを追加できます。 model データベースのファイル プロパティは例外で、データ ファイルの初期サイズを除き、無視されます。
model データベースの物理プロパティ
model データベースのデータ ファイルとログ ファイルの初期構成値を次の表に示します。 これらのファイルのサイズは、SQL Serverのエディションによって若干異なる場合があります。
ファイル | 論理名 | 物理名 | ファイル拡張 |
---|---|---|---|
プライマリ データ | modeldev | model.mdf | ディスクがいっぱいになるまで 10% ずつ自動拡張 |
ログ | modellog | modellog.ldf | 最大 2 TB まで 10% ずつ自動拡張 |
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 は saが所有します。
データベースの削除。
データベースからの guest ユーザーの削除。
変更データ キャプチャの有効化。
データベース ミラーリングへの参加。
プライマリ ファイル グループ、プライマリ データ ファイル、またはログ ファイルの削除。
データベース名またはプライマリ ファイル グループ名の変更。
データベースの OFFLINE への設定。
プライマリ ファイル グループの READ_ONLY への設定。
WITH ENCRYPTION オプションを使用したプロシージャ、ビュー、またはトリガーの作成。 暗号化キーは、オブジェクトが作成されたデータベースに関連付けられています。 model データベースで作成された暗号化オブジェクトは、 modelデータベースのみで使用できます。