Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL veritabanı
SQL veritabanı projeleri, tek tek .sql dosyaların içeriğine ek olarak projenin davranışını ve veritabanı düzeyi ayarlarını tanımlayan özellikler içerir. Bu özellikler .sqlproj dosyasında depolanır ve doğrudan .sqlproj dosyasını düzenleyerek ayarlanabilir. Visual Studio ve VS Code gibi bazı SQL projeleri araçları, proje özelliklerinin birkaçını veya birçoğunun grafik kullanıcı arabiriminde düzenlenmesine erişim sağlar. Bu makalede, SQL veritabanı projeleri için ayarlayabileceğiniz özelliklere genel bir bakış sağlanır.
Yaygın olarak kullanılan SQL projeleri özellikleri şunlardır:
- Hedef platform (DSP)
- Kod analizi
- DacApplicationName ve DacVersion
- Varsayılan şema
- TreatTSqlWarningsAsErrors
Veritabanı seçenekleri değişikliklerini devre dışı bırakma
SQL projesi yayını sırasında, veritabanı seçeneklerine yapılan değişiklikler, proje özelliklerinde tanımlanan değerlere ve varsayılan proje değerlerine göre betiklenir. Veritabanı seçeneklerinin yayımlama sırasında değiştirilmesini önlemek için SqlPackage CLI veya Visual Studio gibi bir araç kullanarak publish özelliğini false olarak ScriptDatabaseOptions ayarlayın. Bu ayar bir yayımlama profiline de eklenebilir.
Ortak proje özellikleri
Hedef platform özelliği, projenin hedeflediğini SQL Server sürümünü belirtir.
DSP özelliği, SQL projesi için hedef platformu ayarlamak için kullanılır. Hedef platform hakkında daha fazla bilgiyi hedef platform makalesinde bulabilirsiniz.
Kod analizi, geliştirme yaşam döngüsünün başlarında olası sorunları yakalayarak sürekli tümleştirme ve dağıtım sürecini önemli ölçüde geliştirebilir. SQL kod analizi makalesinde kod analizini etkinleştirme ve özel kurallar ekleme hakkında daha fazla bilgi edinin.
Veri katmanı uygulama özellikleri
SQL projesi oluşturulduğunda oluşturulan veri katmanı uygulamasını (DAC) tanımlamak için aşağıdaki özellikler kullanılır.
-
DacApplicationName: Veri katmanı uygulamasının
.dacpacadı. Varsayılan değer proje adıdır. -
DacDescription: Veri katmanı uygulamasının
.dacpacisteğe bağlı bir açıklaması. -
DacVersion: Veri katmanı uygulamasının
.dacpacsürümü. Varsayılan değer şudur:1.0.0.0.
Varsayılan şema
özelliği SQL DefaultSchema projesi için varsayılan şemayı ayarlar. Bu özellik, 1 bölümlü adlandırılmış nesneler için geçerlidir. Varsayılan değer şudur: dbo.
T-SQL uyarıları
SuppressTSqlWarnings ve TreatTSqlWarningsAsErrors özellikleri, proje derlemesi sırasında T-SQL uyarılarının nasıl işleneceğini denetler.
SuppressTSqlWarnings özelliği, proje derlemesi sırasında virgülle ayrılmış hata numaraları listesi olarak belirtilen T-SQL uyarılarını gizler.
TreatTSqlWarningsAsErrors özelliği T-SQL uyarılarını hata olarak ele alır ve T-SQL uyarılarının derlemede başarısız olmasına neden olur.
TreatTSqlWarningsAsErrors için varsayılan değer Falsedeğeridir.
Proje özelliklerinin örnek kullanımı
Aşağıdaki örnek, bir SQL proje dosyasında CompatibilityMode, IsChangeTrackingOn ve TreatTSqlWarningsAsErrors özelliklerinin nasıl ayarlanacağını göstermektedir.
CompatibilityMode özelliği 130 olarak ayarlanır, IsChangeTrackingOn özelliği True olarak ayarlanır ve TreatTSqlWarningsAsErrors özelliği True olarak ayarlanır.
TreatSqlWarningsAsErrors özelliği yalnızca True derleme yapılandırmasında Release olarak ayarlanır.
<?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>
Tüm proje özellikleri
Bazı proje özellikleri yalnızca SQL Server veritabanlarına veya SQL Server'ın belirli sürümlerine uygulanan veritabanı seçenekleriyle ilişkilendirilir. Projenize bir proje özelliği eklemeden önce, özellik ve veritabanı gereksinimlerinin davranışını anlamak için veritabanı seçeneğine ilişkin ilişkili belgeleri gözden geçirin.
| Property |
DATABASE SET seçenek |
UI etiketi | SQL projesi varsayılan değeri | İzin verilen değerler |
|---|---|---|---|---|
| AllowSnapshotIsolation | ALLOW_SNAPSHOT_ISOLATION |
Veritabanı ayarları, İşletimsel, Anlık görüntü yalıtımına izin ver | False | {True|False} |
| AnsiNulls | ANSI_NULLS |
Veritabanı ayarları, SET ANSI_NULLS | True | {True|False} |
| AnsiPadding | ANSI_PADDING |
Veritabanı ayarları, SET ANSI_PADDING | True | {True|False} |
| AnsiWarnings | ANSI_WARNINGS |
Veritabanı ayarları, SET ANSI_WARNINGS | True | {True|False} |
| ArithAbort | ARITHABORT |
Veritabanı ayarları, SET ARITHABORT | True | {True|False} |
| AutoClose | AUTO_CLOSE |
Veritabanı ayarları, İşletimsel, Otomatik kapatma | False | {True|False} |
| AutoCreateStatistics | AUTO_CREATE_STATISTICS |
Veritabanı ayarları, İşletimsel, otomatik istatistik oluşturma | True | {True|False} |
| AutoCreateStatisticsIncremental |
AUTO_CREATE_STATISTICS (INCREMENTAL) |
Veritabanı ayarları, İşlemsel, Otomatik artımlı oluşturma | False | {True|False} |
| AutoShrink | AUTO_SHRINK |
Veritabanı ayarları, İşletimsel, Otomatik küçültme | False | {True|False} |
| AutoUpdateStatistics | AUTO_UPDATE_STATISTICS |
Veritabanı ayarları, İşletimsel, Otomatik güncelleştirme istatistikleri | True | {True|False} |
| AutoUpdateStatisticsAsynchronously | AUTO_UPDATE_STATISTICS_ASYNC |
Veritabanı ayarları, İşletimsel, İstatistikleri zaman uyumsuz olarak otomatik güncelleştirme | False | {True|False} |
| ChangeTrackingRetentionPeriod | CHANGE_RETENTION |
Veritabanı ayarları, İşletimsel, Değişiklik izleme saklama süresi | 2 | {integer} |
| ChangeTrackingRetentionUnit | CHANGE_RETENTION |
Veritabanı ayarları, İşletimsel, Değişiklik izleme saklama süresi | MINUTES | {DAYS|HOURS|MINUTES} |
| CloseCursorOnCommitEnabled | CURSOR_CLOSE_ON_COMMIT |
Veritabanı ayarları, İşlemsel, İşlemede imleci kapat etkin | False | {True|False} |
| CompatibilityMode | COMPATIBILITY_LEVEL |
Veritabanı ayarları, Uyumluluk düzeyi | {100|110|120|130|140|150|160|170}1 | |
| ConcatNullYieldsNull | CONCAT_NULL_YIELDS_NULL |
Veritabanı ayarları, SET CONCAT_NULL_YIELDS_NULL | True | {True|False} |
| Containment | CONTAINMENT |
Veritabanı ayarları, Kapsama | NONE | {NONE|PARTIAL} |
| DacApplicationName | Veri katmanı uygulaması (.dacpac) özellikleri, adı |
Proje adı | {string} | |
| DacDescription | Veri katmanı uygulaması (.dacpac) özellikleri, açıklaması |
{string} | ||
| DacVersion | Veri katmanı uygulaması (.dacpac) özellikleri, sürümü |
1.0.0.0 | {semantik sürüm numarası} | |
| DatabaseAccess | db_user_access_option |
Veritabanı ayarları, Veritabanı erişimi | MULTI_USER | {MULTI_USER|SINGLE_USER|RESTRICTED_USER} |
| DatabaseChaining | DB_CHAINING |
Veritabanı ayarları, Veritabanı zincirleme | False | {True|False} |
| DatabaseDefaultFulltextLanguage | DEFAULT_FULLTEXT_LANGUAGE |
Veritabanı ayarları, Varsayılan tam metin dili | 1033 | {integer language id} |
| DatabaseDefaultLanguage | DEFAULT_LANGUAGE |
Veritabanı ayarları, Varsayılan dil | 1033 | {integer language id} |
| DatabaseState | db_state_option |
Veritabanı ayarları, Veritabanı durumu | ONLINE | {ONLINE|OFFLINE} |
| DbScopedConfigLegacyCardinalityEstimation |
LEGACY_CARDINALITY_ESTIMATION
2 |
Veritabanı kapsamlı yapılandırma, Geçmiş kardinalite tahmini | Off | {Off|On} |
| DbScopedConfigLegacyCardinalitySecondaryEstimation |
LEGACY_CARDINALITY_SECONDARY_ESTIMATION
2 |
Veritabanı kapsamlı yapılandırma, İkincil için eski kardinalite tahmini | Primary | {Primary|Off|On} |
| DbScopedConfigParameterSniffing |
PARAMETER_SNIFFING
2 |
Veritabanı kapsamlı yapılandırma, Parametre tahmini | On | {On|Off} |
| DbScopedConfigParameterSniffingSecondary |
PARAMETER_SNIFFING_SECONDARY
2 |
Veritabanı kapsamlı yapılandırma ayarları, İkincil veritabanı için parametre algılama | Primary | {Primary|Off|On} |
| DbScopedConfigOptimizerHotfixes |
OPTIMIZER_HOTFIXES
2 |
Veritabanı kapsamlı yapılandırma, Sorgu iyileştirici düzeltmeleri | Off | {Off|On} |
| DbScopedConfigOptimizerHotfixesSecondary |
OPTIMIZER_HOTFIXES_SECONDARY
2 |
Veritabanı kapsamlı yapılandırma, ikincil için sorgu iyileştirici düzeltmeleri | Primary | {Primary|Off|On} |
| DbScopedConfigMaxDOP |
MAXDOP
2 |
Veritabanı kapsamlı yapılandırma, Maksimum paralellik derecesi | 0 | {integer} |
| DbScopedConfigMaxDOPSecondary |
MAXDOP_SECONDARY
2 |
Veritabanı kapsamlı yapılandırma, İkincil için en yüksek paralellik derecesi | {integer} | |
| DbScopedConfigDWCompatibilityLevel |
DW_COMPATIBILITY_LEVEL
2 |
Veritabanı kapsamlı yapılandırma, DW uyumluluk düzeyi | 0 | {0|10|20|30|40|50|9000}3 |
| DefaultCollation |
COLLATE
4 |
Veritabanı ayarları, Veritabanı harmanlaması | SQL_Latin1_General_CP1_CI_AS | Geçerli değerler için bkz. SQL Server harmanlama adı . |
| DefaultCursor | CURSOR_DEFAULT |
Veritabanı ayarları, İşletimsel, Varsayılan imleç | Local | {Global|Local} |
| DefaultFilegroup | Veritabanı ayarları, İşletimsel, Varsayılan dosya grubu | PRIMARY | {string} | |
| DefaultFileStreamFilegroup | Veritabanı ayarları, İşletimsel, Varsayılan dosya akışı dosya grubu | {string} | ||
| DefaultSchema | Genel proje ayarı, varsayılan şema | dbo | {string} | |
| DelayedDurability | DELAYED_DURABILITY |
Veritabanı ayarları, İşletimsel, İşlemlerin gecikmeli dayanıklılığı | DISABLED | {DISABLED|ALLOWED|FORCED} |
| DSP | SQL projesi için hedef platform | Geçerli değerler için hedef platforma bakın. | ||
| EnableFullTextSearch | Veritabanı ayarları, Tam metin aramasını etkinleştir | True | {True|False} | |
| FileStreamDirectoryName |
FILESTREAM (DIRECTORY_NAME) |
Veritabanı ayarları, FILESTREAM dizin adı | {string} | |
| IsBrokerPriorityHonored | HONOR_BROKER_PRIORITY |
Veritabanı ayarları, Aracı önceliği dikkate alındı | False | {True|False} |
| IsChangeTrackingAutoCleanupOn | CHANGE_TRACKING |
Veritabanı ayarları, İşletimsel, Değişiklik izleme otomatik temizleme | True | {True|False} |
| IsChangeTrackingOn | CHANGE_TRACKING |
Veritabanı ayarları, İşletimsel, Değişiklik izleme | False | {True|False} |
| IsEncryptionOn | ENCRYPTION |
Veritabanı ayarları, Şifreleme etkin | False | {True|False} |
| IsLedgerOn |
LEDGER
4 |
Veritabanı ayarları, Kayıt Defterini Etkinleştir | False | {True|False} |
| IsNestedTriggersOn | NESTED_TRIGGERS |
Veritabanı ayarları, İç içe tetikleyiciler etkin | True | {True|False} |
| IsTransformNoiseWordsOn | TRANSFORM_NOISE_WORDS |
Veritabanı ayarları, Kirli sözcükleri dönüştürme | False | {True|False} |
| MemoryOptimizedElevateToSnapshot | MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT |
Veritabanı ayarları, İşletimsel, Bellek için optimize edilmiş anlık görüntüye yükseltme | False | {True|False} |
| ModelCollation | Proje ayarları, Harmanlama | 1033,CI | {integer language id}, {CI|CS} | |
| NonTransactedFileStreamAccess | NON_TRANSACTED_ACCESS |
Veritabanı ayarları, FILESTREAM işlemsiz erişim | OFF | {OFF|READ_ONLY|FULL} |
| NumericRoundAbort | NUMERIC_ROUNDABORT |
Veritabanı ayarları: SET NUMERIC_ROUNDABORT | False | {True|False} |
| OutputPath | Yapı ayarları, Çıkış yolu |
bin\Debug ve bin\Release |
{string} | |
| PageVerify | PAGE_VERIFY |
Veritabanı ayarları, İşletimsel, Sayfa doğrulama | NONE | {NONE|TORN_PAGE_DETECTION|CHECKSUM} |
| Parameterization | PARAMETERIZATION |
Veritabanı ayarları, Parametreleştirme | SIMPLE | {SIMPLE|FORCED} |
| QueryStoreCaptureMode |
QUERY_STORE (QUERY_CAPTURE_MODE) |
Veritabanı ayarları, İşletimsel, Sorgu deposu yakalama modu | ALL | {OFF|ALL|AUTO} |
| QueryStoreDesiredState |
QUERY_STORE (OPERATION_MODE) |
Veritabanı ayarları, İşletimsel, Sorgu deposu işlem modu | OFF | {OFF|READ_WRITE|READ_ONLY} |
| QueryStoreFlushInterval |
QUERY_STORE (DATA_FLUSH_INTERVAL_SECONDS) |
Veritabanı ayarları, İşletimsel, Sorgu deposu veri temizleme aralığı (saniye) | 900 | {integer} |
| QueryStoreIntervalLength |
QUERY_STORE (INTERVAL_LENGTH_MINUTES) |
Veritabanı ayarları, İşletimsel, Sorgu deposu aralık uzunluğu (dakika) | 60 | {integer} |
| QueryStoreMaxPlansPerQuery |
QUERY_STORE (MAX_PLANS_PER_QUERY) |
Veritabanı ayarları, Operasyonel, Sorgu deposu her sorgu için maksimum plan sayısı | 200 | {integer} |
| QueryStoreMaxStorageSize |
QUERY_STORE (MAX_STORAGE_SIZE_MB) |
Veritabanı ayarları, İşletimsel, Sorgu deposu maksimum depolama boyutu (MB) | 100 | {integer} |
| QueryStoreStaleQueryThreshold |
QUERY_STORE (STALE_QUERY_THRESHOLD_DAYS) |
Veritabanı ayarları, Operasyonel, Sorgu deposu eski sorgu limiti (gün) | 367 | {integer} |
| QuotedIdentifier | QUOTED_IDENTIFIER |
Veritabanı ayarları, SET QUOTED_IDENTIFIER | True | {True|False} |
| ReadCommittedSnapshot | READ_COMMITTED_SNAPSHOT |
Veritabanı ayarları, İşlemsel, Tamamlanan anlık görüntüyü okuma | False | {True|False} |
| Recovery | RECOVERY |
Veritabanı ayarları, İşletimsel, Kurtarma | FULL | {FULL|SIMPLE|BULK_LOGGED} |
| RecursiveTriggersEnabled | RECURSIVE_TRIGGERS |
Veritabanı ayarları, Özyinelemeli tetikleyiciler etkin | False | {True|False} |
| ServiceBrokerOption | SERVICE_BROKER |
Veritabanı ayarları, Hizmet aracısı seçenekleri | DisableBroker | {DisableBroker|EnableBroker|NewBroker|ErrorBrokerConversations} |
| SuppressTSqlWarnings | Derleme ayarları, T-SQL uyarılarını gizleme (T-SQL uyarı kodlarının virgülle ayrılmış listesi) | {string} | ||
| TargetRecoveryTimePeriod | Veritabanı ayarları, İşletimsel, hedef kurtarma süresi (saniye) | Veritabanı başına dolaylı denetim noktalarının sıklığını belirtir. | 60 | {integer} |
| TargetRecoveryTimeUnit | Veritabanı ayarları, İşletimsel, hedef kurtarma süresi | SECONDS | {MINUTES|SECONDS} | |
| TreatTSqlWarningsAsErrors | Yapı ayarları, T-SQL uyarılarını hata olarak değerlendirin | False | {True|False} | |
| Trustworthy | TRUSTWORTHY |
Veritabanı ayarları, Güvenilir | False | {True|False} |
| TwoDigitYearCutoff | TWO_DIGIT_YEAR_CUTOFF |
Veritabanı ayarları, İki basamaklı yıl kesme | 2049 | {integer} |
| UpdateOptions | db_update_option |
Veritabanı ayarları, Güncelleştirme seçenekleri | READ_WRITE | {READ_WRITE|READ_ONLY} |
| ValidateCasingOnIdentifiers | Genel proje ayarı, tanımlayıcıların büyük/küçük harflerini doğrulama | True | {True|False} |
- Varsayılan değer, altyapı sürümü ve sunucu ayarlarına göre farklılık gösterir.
- Veritabanı kapsamlı yapılandırma seçenekleri.
- AUTO, 0 değeriyle ayarlanır.
- Yalnızca bir
CREATE DATABASEseçenek olarak uygulanır.
İlgili içerik
- Hedef platforma genel bakış
- Kod kalitesini geliştirmek için SQL kod analizini
- SQL projeleri araçları
- ALTER DATABASE seçeneklerini (Transact-SQL) ayarla