Поделиться через


Свойства проектов SQL

Применимо к:SQL ServerБаза данных SQL AzureУправляемый экземпляр SQL AzureБаза данных SQL в Microsoft Fabric

Помимо содержимого отдельных файлов .sql, проекты базы данных SQL содержат свойства, определяющие поведение проекта и параметры уровня базы данных. Эти свойства хранятся в файле .sqlproj и могут быть заданы путем редактирования файла .sqlproj напрямую. Некоторые средства проектов SQL, такие как Visual Studio и VS Code, предоставляют доступ к редактированию нескольких или многих свойств проекта в графическом пользовательском интерфейсе. В этой статье представлен обзор свойств, которые можно задать для проектов базы данных SQL.

К часто используемым свойствам проектов SQL относятся:

Отключение изменений параметров базы данных

В процессе публикации проекта SQL изменения опций базы данных формируются на основе значений, определенных в свойствах проекта и значениях проекта по умолчанию. Чтобы предотвратить изменение параметров базы данных во время публикации с помощью средства, например ИНТЕРФЕЙСА командной строки SqlPackage или Visual Studio, задайте ScriptDatabaseOptions для свойства публикации значение false. Этот параметр также можно включить в профиль публикации.

Общие свойства проекта

Свойство целевой платформы указывает версию SQL Server, предназначенную для проекта. Свойство DSP используется для задания целевой платформы для проекта SQL. Дополнительные сведения о целевой платформе см. в статье .

Анализ кода может значительно улучшить процесс непрерывной интеграции и развертывания, перехватив потенциальные проблемы в начале жизненного цикла разработки. Узнайте больше о включении анализа кода и пользовательских правил в статье "Анализ кода SQL".

Свойства приложения уровня данных

Следующие свойства используются для определения приложения уровня данных , созданного при создании проекта SQL.

  • DacApplicationName: название приложения уровня данных .dacpac. Значением по умолчанию является имя проекта.
  • DacDescription: необязательное описание приложения уровня данных .dacpac.
  • DacVersion: версия приложения уровня данных .dacpac. Значение по умолчанию — 1.0.0.0.

Схема по умолчанию

Свойство DefaultSchema задает схему по умолчанию для проекта SQL. Это свойство применяется к одночастным объектам с именами. Значение по умолчанию — dbo.

Предупреждения T-SQL

Свойства SuppressTSqlWarnings и TreatTSqlWarningsAsErrors управляют обработкой предупреждений T-SQL во время сборки проекта. Свойство SuppressTSqlWarnings подавляет предупреждения T-SQL во время сборки проекта, указанные как разделенный запятыми список чисел ошибок.

Свойство TreatTSqlWarningsAsErrors обрабатывает предупреждения T-SQL как ошибки, из-за чего любые предупреждения T-SQL приводят к провалу сборки. Значение по умолчанию для TreatTSqlWarningsAsErrorsFalse.

Пример использования свойств проекта

В следующем примере показано, как задать свойства CompatibilityMode, IsChangeTrackingOnи TreatTSqlWarningsAsErrors в файле проекта SQL. Свойство 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 Метка пользовательского интерфейса Значение проекта SQL по умолчанию Допустимые значения
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 {целочисленный идентификатор языка}
DatabaseDefaultLanguage DEFAULT_LANGUAGE Параметры базы данных, язык по умолчанию 1033 {целочисленный идентификатор языка}
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 {целочисленный идентификатор языка}, {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) Параметры базы данных, операционный, хранилище запросов, максимальный размер хранилища (МБ) 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 Параметры базы данных, порог отсечения двухзначного года 2049 {integer}
UpdateOptions db_update_option Параметры базы данных, параметры обновления READ_WRITE {READ_WRITE|READ_ONLY}
ValidateCasingOnIdentifiers Общая настройка проекта, проверка регистра идентификаторов True {True|False}
  1. Значение по умолчанию отличается в зависимости от версии движка и настроек сервера.
  2. Параметры конфигурации с ограничением области базы данных.
  3. AUTO устанавливается со значением 0.
  4. Применяется только в качестве параметра CREATE DATABASE.