適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Microsoft Fabric プレビューの SQL データベース
SQL データベース プロジェクトには、個々の .sql
ファイルの内容に加えて、プロジェクトの動作とデータベース レベルの設定を定義するプロパティが含まれています。 これらのプロパティは、 .sqlproj
ファイルに格納され、 .sqlproj
ファイルを直接編集して設定できます。 Visual Studio や VS Code などの一部の SQL プロジェクト ツールでは、グラフィカル ユーザー インターフェイスのプロジェクト プロパティの一部または多くを編集できます。 この記事では、SQL データベース プロジェクトに設定できるプロパティの概要について説明します。
一般的に使用される SQL プロジェクトのプロパティは次のとおりです。
- ターゲット プラットフォーム (DSP)
- Code analysis
- DacApplicationName と DacVersion
- Default schema
- TreatTSqlWarningsAsErrors
データベース オプションの変更を無効にする
SQL プロジェクトの発行時に、データベース オプションに対する変更は、プロジェクトのプロパティで定義されている値と既定のプロジェクト値に基づいてスクリプト化されます。
SqlPackage CLI や Visual Studio などのツールを使用して、発行中にデータベース オプションが変更されないようにするには、発行プロパティを ScriptDatabaseOptions
false に設定します。 この設定は、発行プロファイルに組み込むこともできます。
一般的なプロジェクト プロパティ
ターゲット プラットフォーム プロパティは、プロジェクトが対象とする SQL Server のバージョンを指定します。
DSP
プロパティは、SQL プロジェクトのターゲット プラットフォームを設定するために使用されます。 ターゲット プラットフォームの詳細については、 ターゲット プラットフォーム に関する記事を参照してください。
コード分析では、開発ライフサイクルの早い段階で潜在的な問題をキャッチすることで、継続的インテグレーションとデプロイ プロセスを大幅に改善できます。 コード分析を有効にし、カスタム 規則を含める方法の詳細については、 SQL コード分析 の記事を参照してください。
データ層アプリケーションのプロパティ
SQL プロジェクトのビルド時に作成されるデータ層アプリケーション (DAC) を定義するには、次のプロパティを使用します。
-
DacApplicationName: データ層アプリケーション
.dacpac
の名前。 既定値はプロジェクト名です。 -
DacDescription: データ層アプリケーション
.dacpac
の説明 (省略可能)。 -
DacVersion: データ層アプリケーションのバージョン
.dacpac
。 既定値は1.0.0.0
です。
Default schema
DefaultSchema
プロパティは、SQL プロジェクトの既定のスキーマを設定します。 このプロパティは、1 部構成の名前付きオブジェクトに適用されます。 既定値は dbo
です。
T-SQL warnings
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
プロパティは、Release
ビルド構成でTrue
のみに設定されます。
<?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 label | SQL プロジェクトの既定値 | Allowed values |
---|---|---|---|---|
AllowSnapshotIsolation | 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} |
AutoCreateStatistics | AUTO_CREATE_STATISTICS |
データベースの設定、操作、統計の自動作成 | True | {True|False} |
AutoCreateStatisticsIncremental |
AUTO_CREATE_STATISTICS (INCREMENTAL ) |
データベース設定, 操作, 自動作成増分 | False | {True|False} |
AutoShrink | 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 | {DAYS|HOURS|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 | {NONE|PARTIAL} |
DacApplicationName | データ層アプリケーション (.dacpac ) のプロパティ、名前 |
プロジェクト名 | {string} | |
DacDescription | データ層アプリケーション (.dacpac ) のプロパティ、説明 |
{string} | ||
DacVersion | データ層アプリケーション (.dacpac ) のプロパティ、バージョン |
1.0.0.0 | {セマンティック バージョン番号} | |
DatabaseAccess | db_user_access_option |
データベース設定,データベースアクセス | MULTI_USER | {MULTI_USER|SINGLE_USER|RESTRICTED_USER} |
DatabaseChaining | DB_CHAINING |
データベース設定、データベースチェーン | False | {True|False} |
DatabaseDefaultFulltextLanguage | DEFAULT_FULLTEXT_LANGUAGE |
データベース設定、既定のフルテキスト言語 | 1033 | {整数 言語 ID} |
DatabaseDefaultLanguage | DEFAULT_LANGUAGE |
データベース設定、既定の言語 | 1033 | {整数 言語 ID} |
DatabaseState | db_state_option |
データベースの設定、データベースの状態 | ONLINE | {ONLINE|OFFLINE} |
DbScopedConfigLegacyCardinalityEstimation |
LEGACY_CARDINALITY_ESTIMATION
2 |
データベース スコープ構成、レガシ カーディナリティ推定 | Off | {Off|On} |
DbScopedConfigLegacyCardinalitySecondaryEstimation |
LEGACY_CARDINALITY_SECONDARY_ESTIMATION
2 |
データベース スコープ構成、セカンダリのレガシ カーディナリティ推定 | Primary | {Primary|Off|On} |
DbScopedConfigParameterSniffing |
PARAMETER_SNIFFING
2 |
データベース スコープ構成、パラメーター スニッフィング | On | {On|Off} |
DbScopedConfigParameterSniffingSecondary |
PARAMETER_SNIFFING_SECONDARY
2 |
データベース スコープの構成、セカンダリのパラメーター スニッフィング | Primary | {Primary|Off|On} |
DbScopedConfigOptimizerHotfixes |
OPTIMIZER_HOTFIXES
2 |
データベース スコープの構成、クエリ オプティマイザーの修正プログラム | Off | {Off|On} |
DbScopedConfigOptimizerHotfixesSecondary |
OPTIMIZER_HOTFIXES_SECONDARY
2 |
データベース スコープの構成、セカンダリのクエリ オプティマイザー修正プログラム | Primary | {Primary|Off|On} |
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 照合順序名 を参照してください。 |
DefaultCursor | CURSOR_DEFAULT |
データベース設定、操作、既定のカーソル | Local | {Global|Local} |
DefaultFilegroup | データベース設定、操作、既定のファイル グループ | PRIMARY | {string} | |
DefaultFileStreamFilegroup | データベース設定、操作、既定の filestream ファイル グループ | {string} | ||
DefaultSchema | 一般的なプロジェクト設定、既定のスキーマ | dbo | {string} | |
DelayedDurability | DELAYED_DURABILITY |
データベースの設定、運用、トランザクションの遅延持続性 | DISABLED | {DISABLED|ALLOWED|FORCED} |
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} |
IsChangeTrackingOn | 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 | {OFF|READ_ONLY|FULL} |
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|ALL|AUTO} |
QueryStoreDesiredState |
QUERY_STORE (OPERATION_MODE ) |
データベース設定、操作、クエリ ストア操作モード | OFF | {OFF|READ_WRITE|READ_ONLY} |
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 オプション | DisableBroker | {DisableBroker|EnableBroker|NewBroker|ErrorBrokerConversations} |
SuppressTSqlWarnings | ビルド設定、T-SQL 警告の抑制 (T-SQL 警告コードのコンマ区切りリスト) | {string} | ||
TargetRecoveryTimePeriod | データベース設定、操作可能、目標復旧時間 (秒) | 間接的なチェックポイントの生成頻度をデータベースごとに指定します。 | 60 | {integer} |
TargetRecoveryTimeUnit | データベース設定、運用、目標復旧時間 | SECONDS | {MINUTES|SECONDS} | |
TreatTSqlWarningsAsErrors | ビルド設定、T-SQL 警告をエラーとして扱う | False | {True|False} | |
Trustworthy | TRUSTWORTHY |
データベース設定、信頼できる | False | {True|False} |
TwoDigitYearCutoff | TWO_DIGIT_YEAR_CUTOFF |
データベースの設定、2 桁の年のカットオフ | 2049 | {integer} |
UpdateOptions | db_update_option |
データベース設定、更新オプション | READ_WRITE | {READ_WRITE|READ_ONLY} |
ValidateCasingOnIdentifiers | 一般的なプロジェクト設定、識別子の大文字と小文字の区別を検証する | True | {True|False} |
- 既定値は、エンジンのエディションとサーバーの設定によって異なります。
- データベース スコープの構成 オプション。
- AUTO は 0 の値で設定されます。
-
CREATE DATABASE
オプションとしてのみ適用されます。