다음을 통해 공유


SQL 프로젝트 속성

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceMicrosoft Fabric 미리 보기의 SQL 데이터베이스

SQL Database 프로젝트에는 개별 .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

SuppressTSqlWarningsTreatTSqlWarningsAsErrors 속성은 프로젝트 빌드 중에 T-SQL 경고를 처리하는 방법을 제어합니다. SuppressTSqlWarnings 속성은 쉼표로 구분된 오류 번호 목록으로 지정된 프로젝트 빌드 중에 T-SQL 경고를 표시하지 않습니다.

TreatTSqlWarningsAsErrors 속성은 T-SQL 경고를 오류로 처리하여 T-SQL 경고가 빌드에 실패하도록 합니다. TreatTSqlWarningsAsErrors 기본값은 False.

프로젝트 속성의 예제 사용

다음 예제에서는 SQL 프로젝트 파일에서 CompatibilityMode, IsChangeTrackingOnTreatTSqlWarningsAsErrors 속성을 설정하는 방법을 보여 있습니다. 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 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 데이터베이스 설정, 운영, 기본 파일 스트림 파일 그룹 {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 데이터베이스 설정, 서비스 브로커 옵션 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 데이터베이스 설정, 두 자리 연도 구분 2049 {integer}
UpdateOptions db_update_option 데이터베이스 설정, 업데이트 옵션 READ_WRITE {READ_WRITE|READ_ONLY}
ValidateCasingOnIdentifiers 일반 프로젝트 설정 및 식별자 대문자/소문자 유효성 검사 True {True|False}
  1. 기본값은 엔진 버전 및 서버 설정에 따라 다릅니다.
  2. 데이터베이스 범위 구성 옵션입니다.
  3. AUTO는 0 값으로 설정됩니다.
  4. CREATE DATABASE 옵션로만 적용됩니다.