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. Dosya bu .sqlproj özellikleri depolar. Bu özellikleri, .sqlproj dosyasını doğrudan düzenleyerek ayarlayabilirsiniz. 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
- SDK güncelleştirme uyarıları
Veritabanı seçenekleri değişikliklerini devre dışı bırakma
SQL proje yayımlaması sırasında işlem betikleri, proje özelliklerinde tanımlanan değerlere ve varsayılan proje değerlerine göre veritabanı seçeneklerine dönüşür. Veritabanı seçeneklerinin yayımlama sırasında değiştirilmesini önlemek içinScriptDatabaseOptions veya Visual Studio gibi bir araç kullanarak publish özelliğini false olarak ayarlayın. Bu ayarı bir yayımlama profiline de ekleyebilirsiniz.
Ortak proje özellikleri
Hedef platform özelliği, projenin hedeflediğini SQL Server sürümünü belirtir.
DSP SQL projesi için hedef platformu ayarlamak için özelliğini kullanın. Daha fazla bilgi için hedef platform makalesine bakın.
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. Kod analizini etkinleştirme ve özel kurallar dahil etme hakkında daha fazla bilgi için bkz. Kod kalitesini geliştirmek için SQL kod analizi.
Veri katmanı uygulama özellikleri
SQL projesini oluştururken oluşturduğunuz veri katmanı uygulamasını (DAC) tanımlamak için aşağıdaki özellikleri kullanın.
-
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 tek parçalı 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.
SDK güncelleştirme uyarıları
Microsoft. Build.Sql proje SDK'sı proje derlemesi sırasında SDK'nın yeni sürümlerini otomatik olarak denetler ve daha yeni bir sürüm varsa bir uyarı görüntüler. En son SDK ile projelerin güncel tutulması, hata düzeltmeleri ve söz dizimi eklemeleri de dahil olmak üzere en yeni özelliklere ve iyileştirmelere erişmenizi sağlar. Bu davranışı devre dışı bırakmak için özelliğini olarak SkipCheckForNewSDKVersionayarlayıntrue.
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="2.2.0" />
<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 |
|---|---|---|---|---|
| HızlandırılmışVeritabanıKurtarma | ACCELERATED_DATABASE_RECOVERY |
Veritabanı ayarları, İşlemsel, Hızlandırılmış veritabanı kurtarma | False | {Doğru|Yanlış}5 |
| AllowSnapshotIsolation | ALLOW_SNAPSHOT_ISOLATION |
Veritabanı ayarları, İşletimsel, Anlık görüntü yalıtımına izin ver | False | {True|False} |
| AnsiNullDefault | ANSI_NULL_DEFAULT |
Veritabanı ayarları, SET ANSI_NULL_DEFAULT | True | {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ı, SETSET 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} |
| Otomatik Dizin Sıkıştırma | AUTOMATIC_INDEX_COMPACTION |
Veritabanı ayarları, İşletimsel, Otomatik dizin sıkıştırma | 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} |
| CatalogCollation |
CATALOG_COLLATION
4 |
Veritabanı ayarları, Katalog harmanlaması | {Database_Default|Latin1_General_100_CI_AS_KS_WS_SC|SQL_Latin1_General_CP1_CI_AS} | |
| 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} |
| DateCorrelationOptimizationOn | DATE_CORRELATION_OPTIMIZATION |
Veritabanı ayarları, İşletimsel, Tarih bağıntı iyileştirmesi | False | {True|False} |
| 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} |
| Optimize Edilmiş Kilitleme | OPTIMIZED_LOCKING |
Veritabanı ayarları, İşlemsel, İyileştirilmiş kilitleme | False | {Doğru|Yanlış}5 |
| 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} |
| SkipCheckForNewSDKVersion | Derleme ayarları, Yeni SDK sürümünü denetlemeyi atlayın | False | {True|False} | |
| Ek Günlükleme Açık | SUPPLEMENTAL_LOGGING |
Veritabanı ayarları, İşletimsel, Ek günlük kaydı | False | {True|False} |
| 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} | |
| TemporalHistoryRetentionEnabled | TEMPORAL_HISTORY_RETENTION |
Veritabanı ayarları, İşletimsel, Zamana bağlı geçmiş saklama | True | {True|False} |
| 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.
-
AUTO0 değeriyle ayarlanır. - Yalnızca bir
CREATE DATABASEseçenek olarak uygulanır. - Seçeneğin her zaman etkin olduğu Azure SQL Veritabanı için geçerli değildir.
İlgili içerik
- Hedef platforma genel bakış
- Kod kalitesini geliştirmek için SQL kod analizini
- SQL projeleri araçları
- ALTER DATABASE SET options (Transact-SQL)