データベース プロジェクト設定の概要
データベース プロジェクト設定を使用して、データベースの特性およびビルド構成を制御します。これらの設定は、以下のカテゴリに分けられます。
プロジェクト設定
ビルド イベント
参照
ビルド
配置
プロジェクト設定、ビルド イベント、および配置プロパティはデータベース プロジェクトに格納され、バージョン管理を介して共有されます。
メモ : |
---|
ユーザー固有の設定は .dbproj.user ファイルに保存されます。 プロジェクト固有の設定は .dbproj ファイルに保存されます。 |
プロジェクト設定
次の表に示す設定は、このデータベース プロジェクトのすべての構成に適用されます。
フィールド |
既定値 |
説明 |
---|---|---|
製品バージョン |
データベース プロジェクトの作成時に指定した SQL Server のバージョン |
このデータベース プロジェクトのターゲットとなる SQL Server のバージョンを指定します。 |
既定のスキーマ |
dbo |
オブジェクトを作成する既定のスキーマを指定します。 1 つ以上のオブジェクト定義を変更すると、この設定をオーバーライドできます。 |
スキーマ名をファイル名に含める |
はい |
ファイル名をプレフィックスとしてスキーマに含めるかどうかを指定します (例 : dbo.Products.table.sql)。 このチェック ボックスをオフにすると、オブジェクトのファイル名は、ObjectName.ObjectType.sql の形になります。 |
カタログ プロパティ ファイル |
Properties\CatalogProperties.catalogproperties |
ターゲット データベースのプロパティの詳細設定を格納します。 すべてのプロパティは、SQL Server データベースのプロパティと一致します。 詳細については、Microsoft の Web サイト ([データベースのプロパティ] ([オプション] ページ)) を参照してください。 |
フルテキスト検索を有効にする |
いいえ |
このデータベース プロジェクトでフルテキスト検索を有効にするかどうかを指定します。
重要 :
このチェック ボックスをオンにしている場合、配置時にデータベースをシングル ユーザー モードにするチェック ボックスを設定できません。
|
モデルの照合順序 |
SQL_Latin1_General_ CS_AS |
データベースのモデルが格納される SQL Server Compact Edition データベースのデータを並べ替えたり比較したりするときに使用する既定の規則を指定します。 この設定には、できるだけターゲット データベースの照合順序に近い値を設定します。 必要に応じて別の値を設定できます。 たとえば、モデルの場合は大文字と小文字を区別しない照合順序、データベースの場合は大文字と小文字を区別する照合順序を設定できます。 オブジェクト定義内の既定の照合順序をオーバーライドできます。
メモ :
既定の照合順序はすべてのプラットフォームで同じです。 既定値は現在のロケールに合わせて変更されません。 既定の照合順序をロケールに適した照合順序に手動で設定する必要があります。
|
ビルド イベントの設定
以下の設定を使用すると、ビルド操作を開始する前に実行するコマンド ラインおよびビルド操作が完了した後で実行するコマンド ラインを指定できます。
フィールド |
既定値 |
説明 |
---|---|---|
ビルド前イベントのコマンド ライン |
None |
プロジェクトをビルドする前に実行するコマンド ラインを指定します。 コマンド ラインを変更するには、[ビルド前の編集] をクリックします。 |
ビルド後イベントのコマンド ライン |
None |
プロジェクトをビルドした後で実行するコマンド ラインを指定します。 コマンド ラインを変更するには、[ビルド後の編集] をクリックします。 |
ビルド後のコマンド ラインの実行条件 |
ビルドが成功したとき |
ビルド後のコマンド ラインを、常に実行するか、ビルドが成功したときにだけ実行するか、または、ビルドすることによってプロジェクト出力 (ビルド スクリプト) が更新されたときにだけ実行するかを指定します。 |
詳細については、「方法 : ビルド前またはビルド後に実行するカスタム動作を指定する」および「[ビルド前に実行するコマンド ライン] / [ビルド後に実行するコマンド ライン] ダイアログ ボックス (Database Edition)」を参照してください。
参照
このページを使用すると、データベース間参照に関連付けられたサーバー変数およびデータベース変数を定義できます。 また、これらの変数の値を指定できます。 詳細については、「データベース プロジェクトでの参照の使用」を参照してください。
ビルド設定
以下の設定を使用すると、ビルド スクリプトおよびターゲット データベースに関する操作を指定できます。 これらの設定は、指定する構成およびプラットフォームに固有であるため、通常はユーザーごとに異なります。
フィールド |
既定値 |
説明 |
ビルド出力パス |
.\sql\ |
データベース プロジェクトをビルドまたは配置するときに、ビルド スクリプトを生成する場所を指定します。 相対パスを指定する場合は、データベース プロジェクトからの相対パスとして指定する必要があります。 パスが存在しない場合は、作成されます。 |
出力ファイル名の作成 |
DatabaseProjectName.sql |
データベース プロジェクトをビルドするときに生成されるスクリプトの名前を指定します。 [ビルド出力のファイル名を自動生成する] チェック ボックスをオンにしていると、このフィールドに指定した値は、自動生成されるファイル名によって上書きされます。 |
警告をエラーとして扱う |
いいえ |
警告が発生したときにビルドと配置を中止するかどうかを指定します。 このチェック ボックスがオフの場合、警告が発生してもビルドと配置は続行されます。 これはユーザーではなくプロジェクトに固有の設定で、.dbproj ファイルに格納されます。 |
警告の表示なし |
空白 |
非表示にする一連の警告番号をコンマまたはセミコロンで区切って指定します。 非表示として設定された警告は、[エラー一覧] ウィンドウには表示されません。また、[警告をエラーとして扱う] チェック ボックスがオンになっていたとしても、ビルドの成否には影響しません。
メモ :
警告の非表示は、データベース プロジェクト全体ではなく、特定のファイルに対する警告だけを対象にすることもできます。 詳細については、「方法 : 特定の種類の警告を非表示にする」を参照してください。
|
配置
次の設定を使用すると、データベース プロジェクトの配置を制御できます。
フィールド |
既定値 |
説明 |
配置動作 |
配置スクリプト (.sql) を作成してデータベースに配置します |
作成した .sql スクリプトをターゲット サーバーに配置するか、配置なしでスクリプトを作成するかを指定します。 |
配置設定の構成 |
プロジェクト設定 |
他の開発者と共有しているプロジェクトの配置設定を変更するか、分離開発環境の設定を変更するかを指定します。 |
配置スクリプト名 |
ProjectName.sql |
配置スクリプトで使用する名前を指定します。 |
ターゲット接続 |
空白 |
指定したビルド構成のターゲットにするデータベース サーバーの接続情報を指定します。 |
ターゲット データベース名 |
DatabaseProjectName |
"ターゲット接続" フィールドに指定した接続で作成または更新するデータベースの名前を指定します。 |
配置構成ファイル
配置構成ファイルには、次の表に示す各配置ターゲット固有の設定の詳細が含まれます。
フィールド |
既定値 |
説明 |
配置照合順序の既定値 |
空白 |
ターゲット データベースの照合順序がデータベース プロジェクトの照合順序と一致しない場合、配置時に使用する照合順序を指定します。 [サーバーの照合順序を使用] をクリックすると、ターゲット データベースと一致するようにデータベース プロジェクトが変更されます。 [データベース プロジェクトの照合順序を使用] をクリックすると、データベース プロジェクトと一致するようにターゲット データベースが変更されます。 [照合順序のスクリプトを作成しない] をクリックすると、いずれの照合順序も変更されませんが、配置に失敗することがあります。 |
データベース プロパティを配置する |
はい |
データベース プロジェクトの配置時に、CatalogProperties.catalogproperties 設定が配置されるかどうかを指定します。 |
データベースを常に再作成 |
いいえ |
増分配置を実行する代わりにデータベースを削除して再作成するかどうかを指定します。 たとえば、データベースの新規の配置に対してデータベース単体テストを実行する場合、このチェック ボックスをオンにします。 このチェック ボックスがオフの場合、削除と再作成を行う代わりに、既存のデータベースが更新されます。 |
データ損失が発生する場合に増分配置をブロック |
はい |
更新するとデータが損失する場合に配置を中止するかどうかを指定します。 このチェック ボックスをオンにすると、変更によってデータの損失が発生する場合は、データ損失を防ぐために配置が中止され、エラーが発生します。 たとえば varchar(50) 列が varchar(30) が変更された場合、配置は中止されます。
メモ :
配置がブロックされるのは、データ損失が発生する可能性のあるテーブルにデータが含まれる場合のみです。 データ損失が発生しなければ、配置は続行されます。
|
配置前にデータベースをバックアップする |
いいえ |
配置を実行する前にデータベースをバックアップするかどうかを指定します。 このチェック ボックスがオフの場合、自動的なバックアップは実行されません。 チェック ボックスがオンの場合は、データベースをバックアップするステートメントが配置前スクリプトに追加されます。 バックアップ操作には、時間がかかることがあります。 分離開発環境でビルドと配置を行う場合は、ビルドと配置を行う前にデータベースをバックアップしないように指定できます。
重要 :
運用サーバーに配置する前は、常にデータベースをバックアップしてください。 ビルドおよび配置処理の一環としてデータベースの自動的なバックアップを行わない場合、変更を配置する前に手動でデータベースをバックアップしてください。
|
シングル ユーザー モードで展開スクリプトを実行する |
いいえ |
配置の実行時に、データベースをシングル ユーザー モードにするかどうかを指定します。 共有データベース サーバーに配置する場合は、データベースの変更を配置するときにデータベースをシングル ユーザー モードにします。 この手順により、プロジェクトの配置中の他のユーザーによる変更が禁止されます。 このオプションは、データベース プロジェクトのプロパティの [プロジェクトの設定] タブでフルテキスト検索を有効にしている場合は使用できません。
重要 :
データベースをシングル ユーザー モードにすると、データベースに対する変更が配置されるとすぐに、そのデータベースに対する他の既存の接続がすべて切断されます。 ROLLBACK IMMEDIATE 句では、データベースがシングル ユーザー モードになったときに、保留中のトランザクションを直ちに終了することを指定します。
|
ターゲット データベースにあってデータベース プロジェクトにないオブジェクトに対して DROP ステートメントを生成する |
いいえ |
ターゲット データベースにあってデータベース プロジェクトにないオブジェクトを配置スクリプトから削除するかどうかを指定します。 ビルド スクリプトからプロジェクト内の一部のファイルを一時的に除外できます。 ただし、これらのオブジェクトの既存のバージョンをターゲット データベース内に残すことができます。 [データベースを常に再作成する] チェック ボックスがオンに設定されているとデータベースが削除されるため、このチェック ボックスの設定は無効になります。 |
CLR 型の更新に ALTER ASSEMBLY ステートメントを使用しない |
いいえ |
ALTER ASSEMBLY ステートメントを使用して共通言語ランタイム (CLR) 型を更新するか、代わりに変更の配置時に、CLR 型をインスタンス化するオブジェクトを削除して再作成するかを指定します。 |
参照
処理手順
方法 : データベース プロジェクトおよびサーバー プロジェクトのビルド設定を構成する
方法 : データベース プロジェクトおよびサーバー プロジェクトの配置設定を構成する
チュートリアル : バージョン管理されたデータベースの新規作成と配置
チュートリアル: 既存のバージョン管理されたデータベースへの変更の配置