다음을 통해 공유


SQL 프로젝트 속성

적용 대상: SQL ServerAzure SQL DatabaseAzure 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.

기본 스키마

DefaultSchema 속성은 SQL 프로젝트의 기본 스키마를 설정합니다. 이 속성은 1부로 구성된 명명된 개체에 적용됩니다. 기본값은 dbo.

T-SQL 경고

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

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

프로젝트 속성의 예제 사용

다음 예제에서는 SQL 프로젝트 파일에서 CompatibilityMode, IsChangeTrackingOnTreatTSqlWarningsAsErrors 속성을 설정하는 방법을 보여 있습니다. 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에만 적용되는 데이터베이스 옵션과 연결됩니다. 프로젝트에 프로젝트 속성을 포함하기 전에 데이터베이스 옵션에 대한 관련 설명서를 검토하여 속성 및 데이터베이스 요구 사항의 동작을 이해합니다.

재산 DATABASE SET 옵션 UI 레이블 SQL 프로젝트 기본값 허용되는 값
스냅샷 격리 허용 ALLOW_SNAPSHOT_ISOLATION 데이터베이스 설정, 운영, 스냅샷 격리 허용 거짓 {참|거짓}
AnsiNulls ANSI_NULLS 데이터베이스 설정, SET ANSI_NULLS 진실 {참|거짓}
AnsiPadding ANSI_PADDING 데이터베이스 설정, SET ANSI_PADDING 진실 {참|거짓}
AnsiWarnings ANSI_WARNINGS 데이터베이스 설정, SET ANSI_WARNINGS 진실 {참|거짓}
ArithAbort ARITHABORT 데이터베이스 설정, SET ARITHABORT 진실 {참|거짓}
자동 닫힘 AUTO_CLOSE 데이터베이스 설정, 운영, 자동 닫기 거짓 {참|거짓}
자동 통계 생성 AUTO_CREATE_STATISTICS 데이터베이스 설정, 운영, 통계 자동 만들기 진실 {참|거짓}
자동 축소 AUTO_SHRINK 데이터베이스 설정, 운영, 자동 축소 거짓 {참|거짓}
자동 업데이트 통계 AUTO_UPDATE_STATISTICS 데이터베이스 설정, 운영, 자동 업데이트 통계 진실 {참|거짓}
통계를 비동기적으로 자동 업데이트 AUTO_UPDATE_STATISTICS_ASYNC 데이터베이스 설정, 운영, 통계 자동 업데이트 비동기 거짓 {참|거짓}
변경 추적 유지 기간 CHANGE_RETENTION 데이터베이스 설정, 운영, 변경 내용 추적 보존 기간 2 {integer}
변경 추적 보유 단위 CHANGE_RETENTION 데이터베이스 설정, 운영, 변경 내용 추적 보존 기간 {일|시간|분}
커밋 시 커서 닫기 활성화 CURSOR_CLOSE_ON_COMMIT 데이터베이스 설정, 작동, 커밋을 사용할 때 커서 닫기 거짓 {참|거짓}
호환성 모드 COMPATIBILITY_LEVEL 데이터베이스 설정, 호환성 수준 {100|110|120|130|140|150|160|170}1
ConcatNullYieldsNull CONCAT_NULL_YIELDS_NULL 데이터베이스 설정, SET CONCAT_NULL_YIELDS_NULL {참|거짓}
억제 CONTAINMENT 데이터베이스 설정, 포함 없음 {NONE|PARTIAL}
DacApplicationName 데이터 계층 애플리케이션(.dacpac) 속성, 이름 프로젝트 이름 {string}
DacDescription 데이터 계층 애플리케이션(.dacpac) 속성, 설명 {string}
DacVersion 데이터 계층 애플리케이션(.dacpac) 속성, 버전 1.0.0.0 {의미 체계 버전 번호}
DatabaseAccess db_user_access_option 데이터베이스 설정, 데이터베이스 액세스 다중 사용자 {다중 사용자|단일 사용자|제한된 사용자}
데이터베이스 체이닝 DB_CHAINING 데이터베이스 설정, 데이터베이스 연결 거짓 {참|거짓}
데이터베이스 기본 전체 텍스트 언어 DEFAULT_FULLTEXT_LANGUAGE 데이터베이스 설정, 기본 전체 텍스트 언어 1033 {정수 언어 ID}
데이터베이스 기본 언어 DEFAULT_LANGUAGE 데이터베이스 설정, 기본 언어 1033 {정수 언어 ID}
DatabaseState db_state_option 데이터베이스 설정, 데이터베이스 상태 온라인 {온라인|오프라인}
DbScopedConfigLegacyCardinalityEstimation LEGACY_CARDINALITY_ESTIMATION 2 데이터베이스 범위 구성, 레거시 카디널리티 예측 끄기 {꺼짐|켜짐}
DbScopedConfigLegacyCardinalitySecondaryEstimation (디비 범위 지정 설정-레거시 카디널리티-보조 추정치) LEGACY_CARDINALITY_SECONDARY_ESTIMATION 2 데이터베이스 범위 구성, 보조 데이터베이스에 대한 레거시 카디널리티 예측 본래의 {기본|꺼짐|켜짐}
DbScopedConfigParameterSniffing PARAMETER_SNIFFING 2 데이터베이스 범위 구성, 매개 변수 검색 {켜짐|꺼짐}
DbScopedConfigParameterSniffingSecondary PARAMETER_SNIFFING_SECONDARY 2 데이터베이스 범위 구성, 보조 데이터베이스에 대한 매개 변수 검색 본래의 {기본|끄기|켜기}
DbScopedConfigOptimizerHotfixes (DB 스코프 구성 최적화 핫픽스) OPTIMIZER_HOTFIXES 2 데이터베이스 범위 구성, 쿼리 최적화 패치 끄기 {Off|On}
DbScopedConfigOptimizerHotfixesSecondary OPTIMIZER_HOTFIXES_SECONDARY 2 데이터베이스 범위 구성, 보조 데이터베이스에 대한 쿼리 최적화 도구 핫픽스 본래의 {기본|끄기|켜기}
DbScopedConfigMaxDOP MAXDOP 2 데이터베이스 범위 구성, 최대 병렬 처리 수준 0 {integer}
DbScopedConfigMaxDOPSecondary (데이터베이스 스코프 구성 최대 DOP 보조) MAXDOP_SECONDARY 2 데이터베이스 범위 구성, 보조 데이터베이스에 대한 최대 병렬 처리 수준 {integer}
DbScopedConfigDWCompatibilityLevel DW_COMPATIBILITY_LEVEL 2 데이터베이스 범위 구성, DW 호환성 수준 0 {0|10|20|30|40|50|9000}3
기본정렬 COLLATE 4 데이터베이스 설정, 데이터베이스 데이터 정렬 SQL_Latin1_General_CP1_CI_AS 유효한 값은 SQL Server 데이터 정렬 이름 참조하세요.
기본 커서 CURSOR_DEFAULT 데이터베이스 설정, 작동, 기본 커서 현지 {Global|Local}
기본 파일그룹 데이터베이스 설정, 운영, 기본 파일 그룹 본래의 {string}
DefaultFileStreamFilegroup 데이터베이스 설정, 운영, 기본 파일 스트림 파일 그룹 {string}
기본 스키마 일반 프로젝트 설정, 기본 스키마 dbo {string}
지연 내구성 DELAYED_DURABILITY 데이터베이스 설정, 운영, 트랜잭션 지연 내구성 비활성화 {비활성화됨|허용됨|강제됨}
DSP SQL 프로젝트의 대상 플랫폼 유효한 값은 대상 플랫폼 참조하세요.
전체 텍스트 검색 활성화 데이터베이스 설정, 전체 텍스트 검색 사용 {참|거짓}
파일스트림디렉토리이름 FILESTREAM(DIRECTORY_NAME) 데이터베이스 설정, FILESTREAM 디렉터리 이름 {string}
브로커 우선 순위가 존중되는가 HONOR_BROKER_PRIORITY 데이터베이스 설정, 중개자 우선순위가 적용됨 거짓 {참|거짓}
변경 추적 자동 정리 기능 활성화 여부 CHANGE_TRACKING 데이터베이스 설정, 운영, 변경 내용 추적 자동 정리 맞아 {참|거짓}
IsChangeTrackingOn CHANGE_TRACKING 데이터베이스 설정, 운영, 변경 내용 추적 거짓 {참|거짓}
암호화가 켜져 있습니까 ENCRYPTION 데이터베이스 설정, 암호화 사용 거짓 {참|거짓}
IsLedgerOn LEDGER 4 데이터베이스 설정, 원장 활성화 거짓 {참|거짓}
중첩 트리거가 켜져 있는가 NESTED_TRIGGERS 데이터베이스 설정, 중첩 트리거 사용 진실 {참|거짓}
IsTransformNoiseWordsOn (노이즈 단어 변환 기능 활성화 여부) TRANSFORM_NOISE_WORDS 데이터베이스 설정, 노이즈 단어 처리 거짓 {참|거짓}
메모리최적화스냅샷으로승격 MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT 데이터베이스 설정, 운영, 메모리 최적화 스냅샷으로 전환 거짓 {참|거짓}
ModelCollation 프로젝트 설정, 데이터 정렬 1033,CI {정수 언어 ID}, {CI|CS}
NonTransactedFileStreamAccess NON_TRANSACTED_ACCESS 데이터베이스 설정, FILESTREAM 트랜잭션되지 않은 액세스 OFF {꺼짐|읽기 전용|전체}
NumericRoundAbort NUMERIC_ROUNDABORT 데이터베이스 설정, SET NUMERIC_ROUNDABORT 거짓 {참|거짓}
출력 경로 빌드 설정, 출력 경로 bin\Debugbin\Release {string}
PageVerify PAGE_VERIFY 데이터베이스 설정, 운영, 페이지 확인 없음 {NONE|TORN_PAGE_DETECTION|CHECKSUM}
매개 변수화 PARAMETERIZATION 데이터베이스 설정, 매개 변수화 간단한 {단순|강제}
QueryStoreCaptureMode QUERY_STORE(QUERY_CAPTURE_MODE) 데이터베이스 설정, 운영, 쿼리 저장소 캡처 모드 모두 {끔|전체|자동}
쿼리스토어원하는상태 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}
쿼리스토어최대저장소크기 QUERY_STORE(MAX_STORAGE_SIZE_MB) 데이터베이스 설정, 운영, 쿼리 저장소 최대 스토리지 크기(MB) 100 {integer}
쿼리 저장소 오래된 쿼리 임계값 (QueryStoreStaleQueryThreshold) QUERY_STORE(STALE_QUERY_THRESHOLD_DAYS) 데이터베이스 설정, 운영, 쿼리 저장소 부실 쿼리 임계값(일) 367 {integer}
인용된 식별자 QUOTED_IDENTIFIER 데이터베이스 설정, SET QUOTED_IDENTIFIER 진실 {참|거짓}
즉시 커밋된 스냅샷 READ_COMMITTED_SNAPSHOT 데이터베이스 설정, 운영, 커밋된 읽기 스냅샷 거짓 {참|거짓}
복구 RECOVERY 데이터베이스 설정, 운영, 복구 가득 찬 {전체|간단|대량_로그}
재귀 트리거 활성화됨 RECURSIVE_TRIGGERS 데이터베이스 설정, 재귀 트리거 사용 거짓 {참|거짓}
ServiceBrokerOption SERVICE_BROKER 데이터베이스 설정, 서비스 브로커 옵션 브로커 비활성화 {브로커비활성화|브로커활성화|새브로커|브로커대화오류}
SuppressTSqlWarnings 빌드 설정, T-SQL 경고 표시 안 함(쉼표로 구분된 T-SQL 경고 코드 목록) {string}
목표복구시간기간 데이터베이스 설정, 운영, 대상 복구 시간(초) 데이터베이스별로 간접 검사점의 빈도를 지정합니다. 60 {integer}
목표 복구 시간 단위 데이터베이스 설정, 운영, 대상 레코더 시간 {분|초}
TreatTSqlWarningsAsErrors 빌드 설정, T-SQL 경고를 오류로 처리 거짓 {참|거짓}
신뢰할 수 있는 TRUSTWORTHY 데이터베이스 설정, 신뢰할 수 있는 거짓 {참|거짓}
TwoDigitYearCutoff (2자리 연도 절단) TWO_DIGIT_YEAR_CUTOFF 데이터베이스 설정, 두 자리 연도 구분 2049 {integer}
업데이트 옵션 db_update_option 데이터베이스 설정, 업데이트 옵션 읽기_쓰기 {읽기_쓰기|읽기_전용}
식별자 대문자/소문자 검증 일반 프로젝트 설정 및 식별자 대문자/소문자 유효성 검사 진실 {참|거짓}
  1. 기본값은 엔진 버전 및 서버 설정에 따라 다릅니다.
  2. 데이터베이스 범위 구성 옵션입니다.
  3. AUTO는 0 값으로 설정됩니다.
  4. CREATE DATABASE 옵션로만 적용됩니다.