適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Microsoft Fabric の SQL データベース
SQL データベース プロジェクトには、個々の .sql ファイルの内容に加えて、プロジェクトの動作とデータベース レベルの設定を定義するプロパティが含まれています。 これらのプロパティは、 .sqlproj ファイルに格納され、 .sqlproj ファイルを直接編集して設定できます。 Visual Studio や VS Code などの一部の SQL プロジェクト ツールでは、グラフィカル ユーザー インターフェイスのプロジェクト プロパティの一部または多くを編集できます。 この記事では、SQL データベース プロジェクトに設定できるプロパティの概要について説明します。
一般的に使用される SQL プロジェクトのプロパティは次のとおりです。
- ターゲット プラットフォーム (DSP)
- コード分析
- DacApplicationName と DacVersion
- 既定のスキーマ
- TreatTSqlWarningsAsErrors(TSql警告をエラーとして扱う)
データベース オプションの変更を無効にする
SQL プロジェクトの発行時に、データベース オプションに対する変更は、プロジェクトのプロパティで定義されている値と既定のプロジェクト値に基づいてスクリプト化されます。
SqlPackage CLI や Visual Studio などのツールを使用して、発行中にデータベース オプションが変更されないようにするには、発行プロパティを ScriptDatabaseOptions false に設定します。 この設定は、発行プロファイルに組み込むこともできます。
一般的なプロジェクト プロパティ
ターゲット プラットフォーム プロパティは、プロジェクトが対象とする SQL Server のバージョンを指定します。
DSP プロパティは、SQL プロジェクトのターゲット プラットフォームを設定するために使用されます。 ターゲット プラットフォームの詳細については、 ターゲット プラットフォーム に関する記事を参照してください。
コード分析では、開発ライフサイクルの早い段階で潜在的な問題をキャッチすることで、継続的インテグレーションとデプロイ プロセスを大幅に改善できます。 コード分析を有効にし、カスタム 規則を含める方法の詳細については、 SQL コード分析 の記事を参照してください。
データ層アプリケーションのプロパティ
SQL プロジェクトのビルド時に作成されるデータ層アプリケーション (DAC) を定義するには、次のプロパティを使用します。
-
DacApplicationName: データ層アプリケーション
.dacpacの名前。 既定値はプロジェクト名です。 -
DacDescription: データ層アプリケーション
.dacpacの説明 (省略可能)。 -
DacVersion: データ層アプリケーションのバージョン
.dacpac。 既定値は1.0.0.0です。
既定のスキーマ
DefaultSchema プロパティは、SQL プロジェクトの既定のスキーマを設定します。 このプロパティは、1 部構成の名前付きオブジェクトに適用されます。 既定値は dbo です。
T-SQL の警告
SuppressTSqlWarningsプロパティとTreatTSqlWarningsAsErrors プロパティは、プロジェクトのビルド中に T-SQL 警告を処理する方法を制御します。
SuppressTSqlWarnings プロパティは、エラー番号のコンマ区切りリストとして指定された、プロジェクトビルド中の T-SQL 警告を抑制します。
TreatTSqlWarningsAsErrors プロパティは T-SQL 警告をエラーとして扱い、T-SQL 警告がビルドに失敗します。
TreatTSqlWarningsAsErrors の既定値は False です。
プロジェクト プロパティの使用例
次の例は、SQL プロジェクト ファイルで CompatibilityMode、 IsChangeTrackingOn、および TreatTSqlWarningsAsErrors プロパティを設定する方法を示しています。
CompatibilityMode プロパティは 130 に設定され、IsChangeTrackingOn プロパティは True に設定され、TreatTSqlWarningsAsErrors プロパティは True に設定されます。
TreatSqlWarningsAsErrors プロパティは、True ビルド構成でReleaseのみに設定されます。
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build">
<Sdk Name="Microsoft.Build.Sql" Version="1.0.0-rc1" />
<PropertyGroup>
<Name>AdventureWorks</Name>
<DSP>Microsoft.Data.Tools.Schema.Sql.Sql160DatabaseSchemaProvider</DSP>
<ModelCollation>1033, CI</ModelCollation>
<ProjectGuid>{00000000-0000-0000-0000-000000000000}</ProjectGuid>
<RunSqlCodeAnalysis>true</RunSqlCodeAnalysis>
<CompatibilityMode>130</CompatibilityMode>
<IsChangeTrackingOn>True</IsChangeTrackingOn>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'">
<TreatTSqlWarningsAsErrors>True</TreatTSqlWarningsAsErrors>
</PropertyGroup>
</Project>
すべてのプロジェクト属性
一部のプロジェクト プロパティは、SQL Server データベースまたは特定のバージョンの SQL Server にのみ適用されるデータベース オプションに関連付けられています。 プロジェクトにプロジェクト プロパティを含める前に、データベース オプションの関連ドキュメントを確認して、プロパティとデータベースの要件の動作を理解してください。
| Property |
DATABASE SET オプション |
UI ラベル | SQL プロジェクトの既定値 | 使用できる値 |
|---|---|---|---|---|
| スナップショット分離を許可する | ALLOW_SNAPSHOT_ISOLATION |
データベースの設定、操作、スナップショットの分離を許可する | False | {True|False} |
| AnsiNulls | ANSI_NULLS |
データベース設定、SET ANSI_NULLS | True | {True|False} |
| AnsiPadding | ANSI_PADDING |
データベース設定、SET ANSI_PADDING | True | {True|False} |
| AnsiWarnings | ANSI_WARNINGS |
データベース設定: SET ANSI_WARNINGS | True | {True|False} |
| ArithAbort | ARITHABORT |
データベース設定: SET ARITHABORT | True | {True|False} |
| AutoClose | AUTO_CLOSE |
データベースの設定、操作、自動閉じる | False | {True|False} |
| 自動統計作成 | AUTO_CREATE_STATISTICS |
データベースの設定、操作、統計の自動作成 | True | {True|False} |
| AutoCreateStatisticsIncremental (統計の自動作成インクリメンタル) |
AUTO_CREATE_STATISTICS (INCREMENTAL) |
データベース設定, 運用, 自動増分作成 | False | {True|False} |
| 自動縮小 | AUTO_SHRINK |
データベース設定、操作可能、自動圧縮 | False | {True|False} |
| AutoUpdateStatistics | AUTO_UPDATE_STATISTICS |
データベースの設定、操作、自動更新の統計 | True | {True|False} |
| AutoUpdateStatisticsAsynchronously | AUTO_UPDATE_STATISTICS_ASYNC |
データベース設定、操作、統計の自動更新を非同期的に行う | False | {True|False} |
| ChangeTrackingRetentionPeriod | CHANGE_RETENTION |
データベース設定、運用、変更追跡の保有期間 | 2 | {integer} |
| ChangeTrackingRetentionUnit | CHANGE_RETENTION |
データベース設定、運用、変更追跡の保有期間 | MINUTES | {日|時間|分} |
| CloseCursorOnCommitEnabled | CURSOR_CLOSE_ON_COMMIT |
データベース設定、操作可能、コミット時にカーソルを閉じるが有効 | False | {True|False} |
| CompatibilityMode | COMPATIBILITY_LEVEL |
データベース設定、互換性レベル | {100|110|120|130|140|150|160|170}1 | |
| ConcatNullYieldsNull | CONCAT_NULL_YIELDS_NULL |
データベース設定、SET CONCAT_NULL_YIELDS_NULL | True | {True|False} |
| Containment | CONTAINMENT |
データベース設定、コンテインメント | NONE | {なし|一部} |
| Dacアプリケーション名 | データ層アプリケーション (.dacpac) のプロパティ、名前 |
プロジェクト名 | {string} | |
| DacDescription | データ層アプリケーション (.dacpac) のプロパティ、説明 |
{string} | ||
| DacVersion | データ層アプリケーション (.dacpac) のプロパティ、バージョン |
1.0.0.0 | {セマンティック バージョン番号} | |
| DatabaseAccess | db_user_access_option |
データベース設定,データベースアクセス | MULTI_USER | {マルチユーザー|シングルユーザー|制限付きユーザー} |
| データベース連鎖 | DB_CHAINING |
データベース設定、データベースチェーン | False | {True|False} |
| データベースデフォルト全文言語 | DEFAULT_FULLTEXT_LANGUAGE |
データベース設定、既定のフルテキスト言語 | 1033 | {整数 言語 ID} |
| データベース既定言語 | DEFAULT_LANGUAGE |
データベース設定、既定の言語 | 1033 | {整数 言語 ID} |
| DatabaseState | db_state_option |
データベースの設定、データベースの状態 | ONLINE | {オンライン|オフライン} |
| DbScopedConfigLegacyCardinalityEstimation |
LEGACY_CARDINALITY_ESTIMATION
2 |
データベース スコープ構成、レガシ カーディナリティ推定 | Off | {オフ|オン} |
| DbScopedConfigLegacyCardinalitySecondaryEstimation |
LEGACY_CARDINALITY_SECONDARY_ESTIMATION
2 |
データベースのスコープ設定、セカンダリ向けレガシー カーディナリティの推定 | Primary | {Primary|オフ|オン} |
| DbScopedConfigParameterSniffing |
PARAMETER_SNIFFING
2 |
データベース スコープ構成、パラメーター スニッフィング | On | {オン|オフ} |
| DbScopedConfigParameterSniffingSecondary |
PARAMETER_SNIFFING_SECONDARY
2 |
データベース スコープ構成、セカンダリ用のパラメーター スニッフィング | Primary | {Primary|オフ|オン} |
| DbScopedConfigOptimizerHotfixes |
OPTIMIZER_HOTFIXES
2 |
データベース スコープの構成、クエリ オプティマイザーの修正プログラム | Off | {オフ|オン} |
| DbScopedConfigOptimizerHotfixesSecondary |
OPTIMIZER_HOTFIXES_SECONDARY
2 |
データベース スコープの構成、セカンダリのクエリ オプティマイザー修正プログラム | Primary | {Primary|オフ|オン} |
| DbScopedConfigMaxDOP |
MAXDOP
2 |
データベース スコープの構成、並列処理の最大度 | 0 | {integer} |
| DbScopedConfigMaxDOPSecondary |
MAXDOP_SECONDARY
2 |
データベース スコープ構成、セカンダリの並列処理の最大度 | {integer} | |
| DbScopedConfigDWCompatibilityLevel |
DW_COMPATIBILITY_LEVEL
2 |
データベース スコープの構成、DW 互換性レベル | 0 | {0|10|20|30|40|50|9000}3 |
| DefaultCollation(デフォルト照合順序) |
COLLATE
4 |
データベースの設定、データベースの照合順序 | SQL_Latin1_General_CP1_CI_AS | 有効な値については、 SQL Server 照合順序名 を参照してください。 |
| デフォルトカーソル | CURSOR_DEFAULT |
データベース設定、操作、既定のカーソル | Local | {グローバル|ローカル} |
| DefaultFilegroup | データベース設定、操作、既定のファイル グループ | PRIMARY | {string} | |
| DefaultFileStreamFilegroup | データベース設定、運用、既定のフィルストリームファイルグループ | {string} | ||
| デフォルトスキーマ | 一般的なプロジェクト設定、既定のスキーマ | dbo | {string} | |
| 遅延耐久性 (DelayedDurability) | DELAYED_DURABILITY |
データベースの設定、運用、トランザクションの遅延持続性 | DISABLED | {無効|許可|強制} |
| DSP | SQL プロジェクトのターゲット プラットフォーム | 有効な値については 、ターゲット プラットフォーム を参照してください。 | ||
| EnableFullTextSearch | データベース設定、フルテキスト検索を有効にする | True | {True|False} | |
| FileStreamDirectoryName |
FILESTREAM (DIRECTORY_NAME) |
データベース設定、FILESTREAM ディレクトリ名 | {string} | |
| IsBrokerPriorityHonored | HONOR_BROKER_PRIORITY |
データベースの設定、ブローカーの優先度が優先される | False | {True|False} |
| IsChangeTrackingAutoCleanupOn | CHANGE_TRACKING |
データベース設定、操作、変更追跡の自動クリーンアップ | True | {True|False} |
| 変更追跡がオンになっているか | CHANGE_TRACKING |
データベースの設定、操作、変更の追跡 | False | {True|False} |
| IsEncryptionOn | ENCRYPTION |
データベース設定、暗号化が有効 | False | {True|False} |
| IsLedgerOn |
LEDGER
4 |
データベース設定、台帳の有効化 | False | {True|False} |
| IsNestedTriggersOn | NESTED_TRIGGERS |
データベースのセットアップ、ネストされたトリガーが有効です。 | True | {True|False} |
| IsTransformNoiseWordsOn | TRANSFORM_NOISE_WORDS |
データベース設定,ノイズワードの変換 | False | {True|False} |
| MemoryOptimizedElevateToSnapshot | MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT |
データベース設定、操作可能、メモリ最適化のスナップショットへの昇格 | False | {True|False} |
| ModelCollation | プロジェクトの設定、照合順序 | 1033,CI | {整数 言語 ID}、{CI|CS} | |
| NonTransactedFileStreamAccess | NON_TRANSACTED_ACCESS |
データベース設定、FILESTREAM 非トランザクション アクセス | OFF | {オフ|読み取り専用|フル} |
| NumericRoundAbort | NUMERIC_ROUNDABORT |
データベース設定、SET NUMERIC_ROUNDABORT | False | {True|False} |
| OutputPath | ビルド設定、出力パス |
bin\Debug と bin\Release |
{string} | |
| PageVerify | PAGE_VERIFY |
データベース設定、操作、ページ検証 | NONE | {NONE|TORN_PAGE_DETECTION|CHECKSUM} |
| Parameterization | PARAMETERIZATION |
データベース設定、パラメーター化 | SIMPLE | {SIMPLE|FORCED} |
| QueryStoreCaptureMode |
QUERY_STORE (QUERY_CAPTURE_MODE) |
データベース設定、操作、クエリ ストア キャプチャ モード | ALL | {OFF|すべて|自動} |
| QueryStoreDesiredState |
QUERY_STORE (OPERATION_MODE) |
データベース設定、操作、クエリ ストア操作モード | OFF | {オフ|読み書き|読み取り専用} |
| QueryStoreFlushInterval |
QUERY_STORE (DATA_FLUSH_INTERVAL_SECONDS) |
データベース設定、操作、クエリ ストアのデータ フラッシュ間隔 (秒) | 900 | {integer} |
| QueryStoreIntervalLength |
QUERY_STORE (INTERVAL_LENGTH_MINUTES) |
データベース設定、操作、クエリ ストアの間隔の長さ (分) | 60 | {integer} |
| QueryStoreMaxPlansPerQuery(クエリごとの最大プラン数) |
QUERY_STORE (MAX_PLANS_PER_QUERY) |
データベース設定、運用、クエリ ストアのクエリあたりのプランの最大数 | 200 | {integer} |
| QueryStoreMaxStorageSize |
QUERY_STORE (MAX_STORAGE_SIZE_MB) |
データベース設定、操作、クエリ ストアの最大ストレージ サイズ (MB) | 100 | {integer} |
| QueryStoreStaleQueryThreshold |
QUERY_STORE (STALE_QUERY_THRESHOLD_DAYS) |
データベース設定、運用、クエリ ストアでのシャレないクエリのしきい値 (日) | 367 | {integer} |
| QuotedIdentifier | QUOTED_IDENTIFIER |
データベースの設定、SET QUOTED_IDENTIFIER | True | {True|False} |
| ReadCommittedSnapshot | READ_COMMITTED_SNAPSHOT |
データベース設定、操作可能、コミット済みスナップショットの読み取り | False | {True|False} |
| Recovery | RECOVERY |
データベース設定,運用,復旧 | FULL | {FULL|SIMPLE|BULK_LOGGED} |
| RecursiveTriggersEnabled | RECURSIVE_TRIGGERS |
データベース設定、再帰トリガーが有効 | False | {True|False} |
| ServiceBrokerOption | SERVICE_BROKER |
データベース設定、Service Broker オプション | ブローカーを無効にする | {ブローカーを無効にする|ブローカーを有効にする|新しいブローカー|ブローカー会話のエラー} |
| SuppressTSqlWarnings | ビルド設定、T-SQL 警告の抑制 (T-SQL 警告コードのコンマ区切りリスト) | {string} | ||
| 目標復旧時間期間 | データベース設定、操作可能、目標復旧時間 (秒) | 間接的なチェックポイントの生成頻度をデータベースごとに指定します。 | 60 | {integer} |
| TargetRecoveryTimeUnit | データベース設定、運用、目標復旧時間 | SECONDS | {分|秒} | |
| TreatTSqlWarningsAsErrors | ビルド設定、T-SQL 警告をエラーとして扱う | False | {True|False} | |
| Trustworthy | TRUSTWORTHY |
データベース設定、信頼できる | False | {True|False} |
| TwoDigitYearCutoff(2桁の年のカットオフ基準) | TWO_DIGIT_YEAR_CUTOFF |
データベースの設定、2 桁の年の切り捨て | 2049 | {integer} |
| UpdateOptions | db_update_option |
データベース設定、更新オプション | READ_WRITE | {読み書き|読み取り専用} |
| 識別子の大文字小文字を検証する | 一般的なプロジェクト設定、識別子の大文字と小文字の区別を検証する | True | {True|False} |
- 既定値は、エンジンのエディションとサーバーの設定によって異なります。
- データベース スコープの構成 オプション。
- AUTO は 0 の値で設定されます。
-
CREATE DATABASEオプションとしてのみ適用されます。