次の方法で共有


SQL プロジェクトのプロパティ

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceMicrosoft Fabric プレビューの SQL データベース

SQL データベース プロジェクトには、個々の .sql ファイルの内容に加えて、プロジェクトの動作とデータベース レベルの設定を定義するプロパティが含まれています。 これらのプロパティは、 .sqlproj ファイルに格納され、 .sqlproj ファイルを直接編集して設定できます。 Visual Studio や VS Code などの一部の SQL プロジェクト ツールでは、グラフィカル ユーザー インターフェイスのプロジェクト プロパティの一部または多くを編集できます。 この記事では、SQL データベース プロジェクトに設定できるプロパティの概要について説明します。

一般的に使用される SQL プロジェクトのプロパティは次のとおりです。

データベース オプションの変更を無効にする

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 プロジェクト ファイルで CompatibilityModeIsChangeTrackingOn、および 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\Debugbin\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}
  1. 既定値は、エンジンのエディションとサーバーの設定によって異なります。
  2. データベース スコープの構成 オプション。
  3. AUTO は 0 の値で設定されます。
  4. CREATE DATABASE オプションとしてのみ適用されます。