Aracılığıyla paylaş


ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)

Şunlar için geçerlidir: SQL Server 2016 (13.x) ve sonraki sürümleri Azure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te Azure Synapse AnalyticsSQL veritabanı

Bu komut, tek tek veritabanı düzeyinde veritabanı yapılandırma ayarlarını etkinleştirir.

Önemli

SQL Server veya Azure hizmetlerinin farklı sürümlerinde farklı DATABASE SCOPED CONFIGURATION seçenekleri desteklenir. Bu sayfada tüm seçenekleri açıklanmaktadır. Uygun olan sürümler not edilir. Kullandığınız hizmet sürümünde kullanılabilen söz dizimini kullandığınızdan emin olun.

Aşağıdaki ayarlar Azure SQL Veritabanı, Microsoft Fabric'teki SQL veritabanı, Azure SQL Yönetilen Örneği ve SQL Server'da, Bağımsız Değişkenleri bölümündeki her ayar için satırı için geçerlidir belirtildiği şekilde desteklenir:

  • Yordam önbelleğini temizleyin.
  • MAXDOP parametresini, söz konusu iş yükü için en iyi sonucu veren öğeye göre birincil veritabanı için önerilen bir değere (1, 2, ...) ayarlayın ve raporlama sorguları tarafından kullanılan ikincil çoğaltma veritabanları için farklı bir değer ayarlayın. MAXDOP seçme yönergeleri için Sunucu yapılandırması: en yüksek paralellik derecesisayfasını gözden geçirin.
  • Veritabanından bağımsız olarak sorgu iyileştirici kardinalitesi tahmin modelini uyumluluk düzeyine ayarlayın.
  • Veritabanı düzeyinde parametre algılamayı etkinleştirin veya devre dışı bırakın.
  • Veritabanı düzeyinde sorgu iyileştirme düzeltmelerini etkinleştirin veya devre dışı bırakın.
  • Veritabanı düzeyinde kimlik önbelleğini etkinleştirin veya devre dışı bırakın.
  • Toplu iş ilk kez derlendiğinde önbellekte depolanacak derlenmiş plan saplama özelliğini etkinleştirin veya devre dışı bırakın.
  • Yerel olarak derlenmiş Transact-SQL modülleri için yürütme istatistikleri koleksiyonunu etkinleştirin veya devre dışı bırakın.
  • ONLINE = söz dizimini destekleyen DDL deyimleri için varsayılan olarak çevrimiçi seçenekleri etkinleştirin veya devre dışı bırakın.
  • RESUMABLE = söz dizimini destekleyen DDL deyimleri için varsayılan olarak devam ettirilebilir seçenekleri etkinleştirin veya devre dışı bırakın.
  • Akıllı sorgu işleme özellikleri etkinleştirin veya devre dışı bırakın.
  • Hızlandırılmış plan zorlamayı etkinleştirin veya devre dışı bırakın.
  • Genel geçici tabloların otomatik damla işlevini etkinleştirin veya devre dışı bırakın.
  • basit sorgu profili oluşturma altyapısınıetkinleştirin veya devre dışı bırakın.
  • Yeni String or binary data would be truncated hata iletisini etkinleştirin veya devre dışı bırakın.
  • sys.dm_exec_query_plan_stats'de son gerçek yürütme planının koleksiyonunu etkinleştirin veya devre dışı bırakın.
  • Veritabanı Altyapısı tarafından otomatik olarak durdurulmadan önce duraklatılmış bir devam ettirilebilir dizin işleminin duraklatıldığı dakika sayısını belirtin.
  • Zaman uyumsuz istatistik güncelleştirmesi için düşük öncelikli kilit beklemeyi etkinleştirin veya devre dışı bırakın.
  • Kayıt defteri özetlerini Azure Blob Depolama'ya yüklemeyi etkinleştirin veya devre dışı bırakın.
  • İyileştirilmiş Cadılar Bayramı korumasını etkinleştirin veya devre dışı bırakın.

Bu ayar yalnızca Azure Synapse Analytics'te kullanılabilir.

  • Kullanıcı veritabanının uyumluluk düzeyini ayarlama

Transact-SQL söz dizimi kuralları

Sözdizimi

-- Syntax for SQL Server, Azure SQL Database and Azure SQL Managed Instance

ALTER DATABASE SCOPED CONFIGURATION
{
    { [ FOR SECONDARY] SET <set_options>}
}
| CLEAR PROCEDURE_CACHE [plan_handle]
| SET < set_options >
[;]

< set_options > ::=
{
    MAXDOP = { <value> | PRIMARY}
    | LEGACY_CARDINALITY_ESTIMATION = { ON | OFF | PRIMARY}
    | PARAMETER_SNIFFING = { ON | OFF | PRIMARY}
    | QUERY_OPTIMIZER_HOTFIXES = { ON | OFF | PRIMARY}
    | IDENTITY_CACHE = { ON | OFF }
    | INTERLEAVED_EXECUTION_TVF = { ON | OFF }
    | BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
    | BATCH_MODE_ADAPTIVE_JOINS = { ON | OFF }
    | TSQL_SCALAR_UDF_INLINING = { ON | OFF }
    | ELEVATE_ONLINE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
    | ELEVATE_RESUMABLE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
    | OPTIMIZE_FOR_AD_HOC_WORKLOADS = { ON | OFF }
    | XTP_PROCEDURE_EXECUTION_STATISTICS = { ON | OFF }
    | XTP_QUERY_EXECUTION_STATISTICS = { ON | OFF }
    | ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
    | MEMORY_GRANT_FEEDBACK_PERCENTILE_GRANT = { ON | OFF }
    | MEMORY_GRANT_FEEDBACK_PERSISTENCE = { ON | OFF }
    | BATCH_MODE_ON_ROWSTORE = { ON | OFF }
    | DEFERRED_COMPILATION_TV = { ON | OFF }
    | ACCELERATED_PLAN_FORCING = { ON | OFF }
    | GLOBAL_TEMPORARY_TABLE_AUTO_DROP = { ON | OFF }
    | LIGHTWEIGHT_QUERY_PROFILING = { ON | OFF }
    | VERBOSE_TRUNCATION_WARNINGS = { ON | OFF }
    | LAST_QUERY_PLAN_STATS = { ON | OFF }
    | PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES = <time>
    | ISOLATE_SECURITY_POLICY_CARDINALITY  = { ON | OFF }
    | EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS = { ON | OFF }
    | ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY = { ON | OFF }
    | OPTIMIZED_PLAN_FORCING = { ON | OFF }
    | DOP_FEEDBACK = { ON | OFF }
    | CE_FEEDBACK = { ON | OFF }
    | PARAMETER_SENSITIVE_PLAN_OPTIMIZATION = { ON | OFF }
    | LEDGER_DIGEST_STORAGE_ENDPOINT = { <endpoint URL string> | OFF }
    | OPTIMIZED_SP_EXECUTESQL = { ON | OFF }
    | OPTIMIZED_HALLOWEEN_PROTECTION = { ON | OFF }
    | OPTIONAL_PARAMETER_PLAN_OPTIMIZATION = { ON | OFF }
}
-- Syntax for Azure Synapse Analytics

ALTER DATABASE SCOPED CONFIGURATION
{
    SET <set_options>
}
[;]

< set_options > ::=
{
    DW_COMPATIBILITY_LEVEL = { AUTO | 10 | 20 | 30 | 40 | 50 | 9000 }
}

Bağımsız değişken

İKINCIL IÇIN

İkincil veritabanlarının ayarlarını belirtir (tüm ikincil veritabanları aynı değerlere sahip olmalıdır).

CLEAR PROCEDURE_CACHE [plan_handle]

Veritabanı için yordam (plan) önbelleğini temizler ve hem birincil hem de ikincillerde yürütülebilir.

Tek bir sorgu planını plan önbelleğinden temizlemek için bir sorgu planı tanıtıcısı belirtin.

Şunlar için geçerlidir: Sql Server 2019 (15.x), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği ile başlayarak sorgu planı tanıtıcısı belirtme özelliği kullanılabilir.

MAXDOP = {<değer> | BİRİnCİl }

<değer>

Deyimler için kullanılması gereken varsayılan maksimum paralellik derecesi (MAXDOP) ayarını belirtir. 0 varsayılan değerdir ve bunun yerine sunucu yapılandırmasının kullanıldığını gösterir. Veritabanı kapsamındaki MAXDOP, tarafından sunucu düzeyinde ayarlanan sp_configure (0 olarak ayarlanmadığı sürece) geçersiz kılar. Sorgu ipuçları, farklı ayar gerektiren belirli sorguları ayarlamak için veritabanı kapsamlı MAXDOP'yi geçersiz kılmaya devam edebilir. Tüm bu ayarlar, İş Yükü Grubuiçin ayarlanan MAXDOP ile sınırlıdır.

Paralel plan yürütmede kullanılacak işlemci sayısını sınırlamak için MAXDOP seçeneğini kullanabilirsiniz. SQL Server sorgular, dizin veri tanımı dili (DDL) işlemleri, paralel ekleme, çevrimiçi alter sütunu, paralel istatistik koleksiyonu ve statik ve anahtar kümesi temelli imleç popülasyonu için paralel yürütme planlarını dikkate alır.

maksimum paralellik derecesi (MAXDOP) sınırı, görevbaşına ayarlanır. Bu, başına istek veya sorgu sınırı başına değildir. Bu, paralel sorgu yürütme sırasında tek bir isteğin zamanlayıcıatanmış birden çok görev oluşturabileceği anlamına gelir. Daha fazla bilgi için bkz. İş Parçacığı ve Görev Mimarisi Kılavuzu.

Bu seçeneği örnek düzeyinde ayarlamak için bkz. En yüksek paralellik derecesini yapılandırma Sunucu Yapılandırma Seçeneği.

Azure SQL Veritabanı'nda, yeni tek ve elastik havuz veritabanları için MAXDOP veritabanı kapsamlı yapılandırma varsayılan olarak 8 olarak ayarlanır. Azure SQL Veritabanı'nda MAXDOP'yi en iyi şekilde yapılandırma hakkında daha fazla bilgi ve öneri için bkz. Azure SQL Veritabanı'nda MAXDOP'yi yapılandırma.

Bahşiş

Bunu sorgu düzeyinde gerçekleştirmek için MAXDOPsorgu ipucunukullanın.
Bunu sunucu düzeyinde gerçekleştirmek içinen yüksek paralellik derecesi (MAXDOP)sunucu yapılandırma seçeneğini kullanın.
Bunu iş yükü düzeyinde gerçekleştirmek için
MAX_DOPResource Governor iş yükü grubu yapılandırma seçeneğini kullanın.

BİRİNCİL

Veritabanı birincil sunucudayken yalnızca ikinciller için ayarlanabilir ve yapılandırmanın birincil için ayarlanan yapılandırma olduğunu gösterir. Birincil yapılandırma değişirse, ikinciller üzerindeki değer, ikincil değeri açıkça ayarlamaya gerek kalmadan buna göre değişir. PRIMARY, ikinciller için varsayılan ayardır.

LEGACY_CARDINALITY_ESTIMATION = { ON | KAPALI | BİRİnCİl }

Sorgu iyileştirici kardinalitesi tahmin modelini veritabanının uyumluluk düzeyinden bağımsız olarak SQL Server 2012 ve önceki sürümüne ayarlamanıza olanak tanır. Varsayılan değer, veritabanının uyumluluk düzeyine göre sorgu iyileştirici kardinalitesi tahmin modelini ayarlayan OFFdeğeridir. LEGACY_CARDINALITY_ESTIMATION ON olarak ayarlamak, İzleme Bayrağı 9481'ietkinleştirmeye eşdeğerdir.

Bahşiş

Bunu sorgu düzeyinde gerçekleştirmek için QUERYTRACEONsorgu ipucunuekleyin. SQL Server 2016 (13.x) SP1'den başlayarak, bunu sorgu düzeyinde gerçekleştirmek için izleme bayrağı yerine USE HINTsorgu ipucu ekleyin.

BİRİNCİL

Bu değer yalnızca birincil üzerindeki veritabanı içindeyken ikincillerde geçerlidir ve tüm ikincillerdeki sorgu iyileştirici kardinalitesi tahmin modeli ayarının birincil için ayarlanan değer olduğunu belirtir. Sorgu iyileştirici kardinalitesi tahmin modeli için birincil yapılandırma değişirse, ikinciller üzerindeki değer buna göre değişir. PRIMARY, ikinciller için varsayılan ayardır.

PARAMETER_SNIFFING = { ON | KAPALI | BİRİnCİl }

parametre algılamayıetkinleştirir veya devre dışı bırakır. Varsayılan değer ON. PARAMETER_SNIFFING OFF olarak ayarlanması, İzleme Bayrağı 4136'nin etkinleştirilmesine eşdeğerdir.

Bahşiş

Bunu sorgu düzeyinde gerçekleştirmek içinOPTIMIZE FOR UNKNOWNsorgu ipucuna bakın.

SQL Server 2016 (13.x) SP1 ve sonraki sürümlerinde bunu sorgu düzeyinde gerçekleştirmek için USE HINTsorgu ipucu de kullanılabilir.

BİRİNCİL

Bu değer yalnızca birincil üzerindeki veritabanı içindeyken ikincillerde geçerlidir ve tüm ikincil ayarlarda bu ayarın değerinin birincil değer için ayarlanan değer olduğunu belirtir. parametre algılama kullanmak için birincil yapılandırma değişirse, ikincil değerleri açıkça ayarlamaya gerek kalmadan ikinciller üzerindeki değer buna göre değişir. BİRİnCİl, ikinciller için varsayılan ayardır.

QUERY_OPTIMIZER_HOTFIXES = { ON | KAPALI | BİRİnCİl }

Veritabanının uyumluluk düzeyinden bağımsız olarak sorgu iyileştirme düzeltmelerini etkinleştirir veya devre dışı bırakır. Varsayılan değer OFF'dir. Bu, belirli bir sürüm için (RTM sonrası) kullanılabilir en yüksek uyumluluk düzeyi eklendikten sonra yayımlanan sorgu iyileştirme düzeltmelerini devre dışı bırakır. Bunu ON olarak ayarlamak, İzleme Bayrağı 4199'unetkinleştirilmesine eşdeğerdir.

Şunlar için geçerlidir: SQL Server (SQL Server 2016 (13.x) ile başlayarak), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

Bahşiş

Bunu sorgu düzeyinde gerçekleştirmek için QUERYTRACEONsorgu ipucunuekleyin. SQL Server 2016 (13.x) SP1'den başlayarak, bunu sorgu düzeyinde gerçekleştirmek için izleme bayrağını kullanmak yerine USE HINT sorgu ipucu ekleyin.

BİRİNCİL

Bu değer yalnızca birincil üzerindeki veritabanı içindeyken ikincillerde geçerlidir ve tüm ikincil ayarlarda bu ayarın değerinin birincil değer için ayarlanan değer olduğunu belirtir. Birincil yapılandırma değişirse, ikinciller üzerindeki değer, ikincil değeri açıkça ayarlamaya gerek kalmadan buna göre değişir. BİRİnCİl, ikinciller için varsayılan ayardır.

IDENTITY_CACHE = { ON | KAPALI }

Şunlar için geçerlidir: SQL Server (SQL Server 2017 (14.x) ile başlayarak), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

Veritabanı düzeyinde kimlik önbelleğini etkinleştirir veya devre dışı bırakır. Varsayılan değer ON. Kimlik önbelleğe alma, kimlik sütunları olan tablolarda INSERT performansını geliştirmek için kullanılır. Sunucunun beklenmedik bir şekilde yeniden başlatıldığı veya ikincil sunucuya yük devredildiği durumlarda kimlik sütununun değerlerinde boşluk oluşmasını önlemek için IDENTITY_CACHE seçeneğini devre dışı bırakın. Bu seçenek, var olan İzleme Bayrağı 272benzer, ancak yalnızca sunucu düzeyinde değil veritabanı düzeyinde ayarlanabilir.

Not

Bu seçenek yalnızca BİRİnCİl için ayarlanabilir. Daha fazla bilgi için bkz.kimlik sütunlarını .

INTERLEAVED_EXECUTION_TVF = { ON | KAPALI }

Şunlar için geçerlidir: SQL Server (SQL Server 2019 (15.x) ile başlayarak), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

Veritabanı uyumluluk düzeyi 140 ve üzerini korurken veritabanında veya deyim kapsamında çok deyimli tablo değerli işlevler için Araya kaydedilen yürütmeyi etkinleştirmenize veya devre dışı bırakmanıza olanak tanır. Varsayılan değer ON. Araya eklenen yürütme, Azure SQL Veritabanı'nda Uyarlamalı sorgu işlemenin bir parçası olan bir özelliktir. Daha fazla bilgi için bkz. Intelligent query processing.

Not

Veritabanı uyumluluk düzeyi 130 veya daha düşük olan bu veritabanı kapsamlı yapılandırmanın hiçbir etkisi yoktur.

Yalnızca SQL Server 2017'de (14.x), INTERLEAVED_EXECUTION_TVF seçeneği DISABLE_INTERLEAVED_EXECUTION_TVF eski adını içeriyordu.

BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | KAPALI }

Şunlar için geçerlidir: SQL Server (SQL Server 2019 (15.x) ile başlayarak), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

Veritabanı uyumluluk düzeyi 140 ve üzerini korurken veritabanı kapsamında geri bildirim vermek için toplu iş modu belleğini etkinleştirmenize veya devre dışı bırakmanıza olanak tanır. Varsayılan değer ON. SQL Server 2017'de (14.x) sunulan toplu iş modu bellek verme geri bildirimi, akıllı sorgu işleme özellik paketinin bir parçasıdır. Daha fazla bilgi için bkz. Bellek verme geri bildirimi.

Not

Veritabanı uyumluluk düzeyi 130 veya daha düşük olan bu veritabanı kapsamlı yapılandırmanın hiçbir etkisi yoktur.

BATCH_MODE_ADAPTIVE_JOINS = { ON | KAPALI }

Şunlar için geçerlidir: SQL Server (SQL Server 2019 (15.x) ile başlayarak), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

Veritabanı uyumluluk düzeyi 140 ve üzerini korurken veritabanı kapsamında toplu iş modu uyarlamalı birleşimlerini etkinleştirmenize veya devre dışı bırakmanıza olanak tanır. Varsayılan değer ON. Toplu işlem modu uyarlamalı birleşimleri, SQL Server 2017'de (14.x) kullanıma sunulan Akıllı sorgu işleme parçası olan bir özelliktir.

Not

Veritabanı uyumluluk düzeyi 130 veya daha düşük olan bu veritabanı kapsamlı yapılandırmanın hiçbir etkisi yoktur.

TSQL_SCALAR_UDF_INLINING = { ON | KAPALI }

Şunlar için geçerlidir: SQL Server (SQL Server 2019 (15.x) ile başlayarak) ve Azure SQL Veritabanı (özellik önizleme aşamasındadır)

Veritabanı uyumluluk düzeyi 150 ve üzerini korurken veritabanı kapsamında T-SQL Scalar UDF'yi etkinleştirmenize veya devre dışı bırakmanıza olanak tanır. Varsayılan değer ON. T-SQL Scalar UDF inlining, Intelligent sorgu işleme özellik ailesinin bir parçasıdır.

Not

Veritabanı uyumluluk düzeyi 140 veya daha düşükse, bu veritabanı kapsamlı yapılandırmanın hiçbir etkisi yoktur.

ELEVATE_ONLINE = { KAPALI | WHEN_SUPPORTED | FAIL_UNSUPPORTED }

Şunlar için geçerlidir: SQL Server (SQL Server 2019 (15.x) ile başlayarak), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

Altyapının desteklenen işlemleri otomatik olarak çevrimiçine yükseltmesine neden olacak seçenekleri belirlemenize olanak tanır. Varsayılan değer OFFdeğeridir. Bu, deyimde belirtilmediği sürece işlemlerin çevrimiçi olarak yükseltilmediği anlamına gelir. sys.database_scoped_configurationsELEVATE_ONLINEgeçerli değerini yansıtır. Bu seçenekler yalnızca çevrimiçi için desteklenen işlemler için geçerlidir.

FAIL_UNSUPPORTED

Bu değer, desteklenen tüm DDL işlemlerini ÇEVRİmİÇİ olarak yükseltir. Çevrimiçi yürütmeyi desteklemeyen işlemler başarısız olur ve hata oluşturur.

Not

Tabloya sütun eklemek, genel örnekte çevrimiçi bir işlemdir. Bazı senaryolarda, örneğin null atanamayan bir sütun eklendiğindebir sütun çevrimiçi olarak eklenemez. Böyle durumlarda, FAIL_UNSUPPORTED ayarlanırsa işlem başarısız olur.

WHEN_SUPPORTED

Bu değer, ÇEVRİmİÇİ'leri destekleyen işlemleri yükseltir. Çevrimiçi desteği olmayan işlemler çevrimdışı çalıştırılır.

Not

BELIRTILEN ÇEVRİmİÇİ seçeneğiyle bir deyim göndererek varsayılan ayarı geçersiz kılabilirsiniz.

ELEVATE_RESUMABLE= { KAPALI | WHEN_SUPPORTED | FAIL_UNSUPPORTED }

Şunlar için geçerlidir: SQL Server (SQL Server 2019 (15.x) ile başlayarak), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

Altyapının desteklenen işlemleri otomatik olarak yeniden devam ettirilebilir duruma getirmesine neden olacak seçenekleri belirlemenize olanak tanır. Varsayılan değer OFFdeğeridir. Bu, deyimde belirtilmediği sürece işlemlerin devam ettirilemeyecek şekilde yükseltilmediği anlamına gelir. sys.database_scoped_configurationsELEVATE_RESUMABLEgeçerli değerini yansıtır. Bu seçenekler yalnızca devam ettirilebilir işlemler için geçerlidir.

FAIL_UNSUPPORTED

Bu değer, desteklenen tüm DDL işlemlerini RESUMABLE'a yükseltir. Devam ettirilebilen yürütmeyi desteklemeyen işlemler başarısız olur ve hata oluşturur.

WHEN_SUPPORTED

Bu değer, RESUMABLE'i destekleyen işlemleri yükseltir. Devam ettirilebilir'i desteklemeyen işlemler yanıtsız çalıştırılır.

Not

RESUMABLE seçeneği belirtilen bir deyimi göndererek varsayılan ayarı geçersiz kılabilirsiniz.

OPTIMIZE_FOR_AD_HOC_WORKLOADS = { ON | KAPALI }

Şunlar için geçerlidir: SQL Server (SQL Server 2019 (15.x) ile başlayarak), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

Bir toplu iş ilk kez derlendiğinde, derlenmiş plan saplamanın önbellekte depolanmasını etkinleştirir veya devre dışı bırakır. Varsayılan değer OFF. Veritabanı kapsamlı yapılandırma OPTIMIZE_FOR_AD_HOC_WORKLOADS bir veritabanı için etkinleştirildikten sonra, toplu iş ilk kez derlendiğinde derlenmiş plan saplaması önbellekte depolanır. Plan saplamaları, tam derlenmiş planın boyutuna kıyasla daha küçük bir bellek ayak izine sahiptir. Bir toplu iş yeniden derlenmiş veya yürütülürse, derlenen plan saplaması kaldırılır ve tam derlenmiş bir planla değiştirilir.

XTP_PROCEDURE_EXECUTION_STATISTICS = { ON | KAPALI }

Şunlar için geçerlidir: Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

Geçerli veritabanında yerel olarak derlenmiş T-SQL modülleri için modül düzeyinde yürütme istatistiklerinin toplanmasını etkinleştirir veya devre dışı bırakır. Varsayılan değer OFF. Yürütme istatistikleri sys.dm_exec_procedure_statsyansıtılır.

Yerel olarak derlenmiş T-SQL modülleri için modül düzeyinde yürütme istatistikleri, bu seçenek ON ise veya istatistik koleksiyonu sp_xtp_control_proc_exec_statsaracılığıyla etkinleştirildiyse toplanır.

XTP_QUERY_EXECUTION_STATISTICS = { ON | KAPALI }

Şunlar için geçerlidir: Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

Geçerli veritabanında yerel olarak derlenmiş T-SQL modülleri için deyim düzeyinde yürütme istatistikleri toplamayı etkinleştirir veya devre dışı bırakır. Varsayılan değer OFF. Yürütme istatistikleri sys.dm_exec_query_stats ve Sorgu Deposuyansıtılır.

Yerel olarak derlenmiş T-SQL modülleri için deyim düzeyinde yürütme istatistikleri, bu seçenek ONise veya istatistik koleksiyonu sp_xtp_control_query_exec_statsaracılığıyla etkinleştirilirse toplanır.

Yerel olarak derlenmiş Transact-SQL modüllerinin performans izlemesi hakkında daha fazla bilgi için bkz. Yerel Olarak Derlenmiş Saklı Yordamların Performansını İzleme.

ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | KAPALI }

Şunlar için geçerlidir: SQL Server (SQL Server 2019 (15.x) ile başlayarak), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

Veritabanı uyumluluk düzeyi 150 ve üzerini korurken veritabanı kapsamında satır modu belleğini etkinleştirmenize veya devre dışı bırakmanıza izin verir. Varsayılan değer ON. Satır modu belleği, SQL Server 2017'de (14.x) kullanıma sunulan Akıllı sorgu işleme parçası olan bir özelliği geri bildirime verir. Satır modu SQL Server 2019 (15.x) ve Azure SQL Veritabanı'nda desteklenir. Bellek verme geri bildirimi hakkında daha fazla bilgi için bkz. Bellek verme geri bildirimi.

Not

Veritabanı uyumluluk düzeyi 140 veya daha düşükse, bu veritabanı kapsamlı yapılandırmanın hiçbir etkisi yoktur.

MEMORY_GRANT_FEEDBACK_PERCENTILE_GRANT = { ON | KAPALI }

Şunlar için geçerlidir: SQL Server (SQL Server 2022 (16.x) ile başlayarak), Azure SQL Veritabanı

Veritabanından kaynaklanan tüm sorgu yürütmeleri için bellek verme geri bildirim yüzdebirlik değerini devre dışı bırakmanızı sağlar. Varsayılan değer ON. Tam bilgi için bkz. Yüzdebirlik ve kalıcılık modu bellekgeri bildirim verme.

Not

Veritabanı uyumluluk düzeyi 140 veya daha düşükse, bu veritabanı kapsamlı yapılandırmanın hiçbir etkisi yoktur.

MEMORY_GRANT_FEEDBACK_PERSISTENCE = { ON | KAPALI }

Şunlar için geçerlidir: SQL Server (SQL Server 2022 (16.x) ile başlayarak), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

Veritabanından kaynaklanan tüm sorgu yürütmeleri için bellek verme geri bildirim kalıcılığını devre dışı bırakmanızı sağlar. Varsayılan değer ON. Tam bilgi için bkz. Yüzdebirlik ve kalıcılık modu bellekgeri bildirim verme.

Not

Veritabanı uyumluluk düzeyi 140 veya daha düşükse, bu veritabanı kapsamlı yapılandırmanın hiçbir etkisi yoktur.

BATCH_MODE_ON_ROWSTORE = { ON | KAPALI }

Şunlar için geçerlidir: SQL Server (SQL Server 2019 (15.x) ile başlayarak), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

Veritabanı uyumluluk düzeyi 150 ve üzerini korurken veritabanı kapsamındaki satır deposunda toplu iş modunu etkinleştirmenize veya devre dışı bırakmanıza olanak tanır. Varsayılan değer ON. Rowstore'da toplu iş modu, akıllı sorgu işleme özellik ailesinin parçası olan bir özelliktir.

Not

Veritabanı uyumluluk düzeyi 140 veya daha düşükse, bu veritabanı kapsamlı yapılandırmanın hiçbir etkisi yoktur.

DEFERRED_COMPILATION_TV = { ON | KAPALI }

Şunlar için geçerlidir: SQL Server (SQL Server 2019 (15.x) ile başlayarak), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

Veritabanı uyumluluk düzeyi 150 ve üzerini korurken veritabanı kapsamında tablo değişkeni ertelenen derlemeyi etkinleştirmenize veya devre dışı bırakmanıza olanak tanır. Varsayılan değer ON. Tablo değişkeni ertelenen derleme, Akıllı sorgu işleme özellik ailesinin parçası olan bir özelliktir.

Not

Veritabanı uyumluluk düzeyi 140 veya daha düşükse, bu veritabanı kapsamlı yapılandırmanın hiçbir etkisi yoktur.

ACCELERATED_PLAN_FORCING = { ON | KAPALI }

için geçerlidir: SQL Server (SQL Server 2019 (15.x) ile başlayarak), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

Sorgu Deposu Zorlama planı, otomatik ayarlamaveya USE PLAN sorgu ipucu gibi tüm plan zorlama biçimleri için geçerli olan sorgu planı zorlama için iyileştirilmiş bir mekanizmayı etkinleştirir. Varsayılan değer ON.

Not

Hızlandırılmış plan zorlamanın devre dışı bırakılması önerilmez.

GLOBAL_TEMPORARY_TABLE_AUTO_DROP = { ON | KAPALI }

Şunlar için geçerlidir: SQL Server (SQL Server 2019 (15.x) ile başlayarak), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

genel geçici tablo için otomatik damla işlevinin ayarlanmasına izin verir. Varsayılan olarak ON, genel geçici tabloların herhangi bir oturum veya görev tarafından kullanılmadığında otomatik olarak bırakıldığı anlamına gelir. OFFolarak ayarlandığında, genel geçici tablolar yalnızca bir DROP TABLE deyimi kullanılarak açıkça bırakılabilir veya Veritabanı Altyapısı yeniden başlatıldığında otomatik olarak bırakılabilir.

  • Azure SQL Veritabanı tek veritabanlarında ve elastik havuzlarda bu seçenek tek tek kullanıcı veritabanlarında ayarlanır.
  • SQL Server ve Azure SQL Yönetilen Örneği'nde bu seçenek tempdbiçinde ayarlanmalıdır. Tek tek kullanıcı veritabanlarındaki ayarın hiçbir etkisi yoktur.

LIGHTWEIGHT_QUERY_PROFILING = { ON | KAPALI }

Şunlar için geçerlidir: SQL Server (SQL Server 2019 (15.x) ile başlayarak), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

basit sorgu profili oluşturma altyapısınıetkinleştirmenize veya devre dışı bırakmanıza olanak tanır. Basit sorgu profili oluşturma altyapısı (LWP), sorgu performansı verilerini standart profil oluşturma mekanizmalarından daha verimli bir şekilde sağlar ve varsayılan olarak etkindir. Varsayılan değer ON.

VERBOSE_TRUNCATION_WARNINGS = { ON | KAPALI }

Şunlar için geçerlidir: SQL Server (SQL Server 2019 (15.x) ile başlayarak), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

Yeni String or binary data would be truncated hata iletisini etkinleştirmenize veya devre dışı bırakmanıza olanak tanır. Varsayılan değer ON. SQL Server 2019 (15.x), bu senaryo için yeni, daha belirgin bir hata iletisi (2628) ekler:

String or binary data would be truncated in table '%.*ls', column '%.*ls'. Truncated value: '%.*ls'.

Veritabanı uyumluluk düzeyi 150 altında ON olarak ayarlandığında, kesme hataları daha fazla bağlam sağlamak ve sorun giderme işlemini basitleştirmek için yeni hata iletisi 2628'i oluşturur.

Veritabanı uyumluluk düzeyi 150 altında OFF olarak ayarlandığında, kesme hataları önceki hata iletisini 8152'ye getirir.

Veritabanı uyumluluk düzeyi 140 veya daha düşük olduğunda, hata iletisi 2628, İzleme Bayrağı 460 etkinleştirilmesini gerektiren bir kabul hata iletisi olarak kalır ve bu veritabanı kapsamlı yapılandırmanın hiçbir etkisi yoktur.

LAST_QUERY_PLAN_STATS = { ON | KAPALI }

Şunlar için geçerlidir: SQL Server (SQL Server 2019 (15.x) ile başlayarak), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

sys.dm_exec_query_plan_statsiçinde son sorgu planı istatistiklerinin (gerçek yürütme planına eşdeğer) toplanmasını etkinleştirmenize veya devre dışı bırakmanıza olanak tanır. Varsayılan değer OFF.

PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES

Şunlar için geçerlidir: SQL Server (SQL Server 2022 (16.x) ile başlayarak), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES seçeneği, devam ettirilebilen dizinin altyapı tarafından otomatik olarak durdurulmadan önce ne kadar süreyle duraklatıldığını (dakika cinsinden) belirler.

  • Varsayılan değer bir gün (1440 dakika) olarak ayarlanır
  • En düşük süre 1 dakika olarak ayarlanır
  • Maksimum süre 71.582 dakikadır
  • 0 olarak ayarlandığında, duraklatılan bir işlem hiçbir zaman otomatik olarak durdurulmaz

Bu seçeneğin geçerli değeri sys.database_scoped_configurationsiçinde görüntülenir.

ISOLATE_SECURITY_POLICY_CARDINALITY = { ON | KAPALI}

Şunlar için geçerlidir: SQL Server (SQL Server 2019 (15.x) ile başlayarak), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

Row-Level Güvenlik (RLS) koşulunun genel kullanıcı sorgusunun yürütme planının kardinalitesini etkileyip etkilemediğini denetlemenize olanak tanır. Varsayılan değer OFF. ISOLATE_SECURITY_POLICY_CARDINALITY ON olduğunda, RLS koşulu yürütme planının kardinalitesini etkilemez. Örneğin, 1 milyon satır içeren bir tablo ve sorguyu veren belirli bir kullanıcı için sonucu 10 satırla kısıtlayan bir RLS koşulu düşünün. Bu veritabanı kapsamlı yapılandırma KAPALI olarak ayarlandığında, bu koşulun kardinalite tahmini 10'dur. Bu veritabanı kapsamlı yapılandırma ON olduğunda, sorgu iyileştirmesi 1 milyon satır tahmin eder. Çoğu iş yükü için varsayılan değerin kullanılması önerilir.

DW_COMPATIBILITY_LEVEL = { AUTO | 10 | 20 | 30 | 40 | 50 | 9000 }

Şunlar için geçerlidir: Yalnızca Azure Synapse Analytics'i

Transact-SQL ve sorgu işleme davranışlarını veritabanı altyapısının belirtilen sürümüyle uyumlu olacak şekilde ayarlar. Ayarlandıktan sonra, bu veritabanında bir sorgu yürütülürse yalnızca uyumlu özellikler uygulanır. Her uyumluluk düzeyinde çeşitli sorgu işleme geliştirmeleri desteklenir. Her düzey, önceki düzeyin işlevselliğini alır. Veritabanının uyumluluk düzeyi, ilk oluşturulduğunda varsayılan olarak AUTO olarak ayarlanır ve önerilen ayar budur. Veritabanı duraklatma/sürdürme, yedekleme/geri yükleme işlemlerinde bile uyumluluk düzeyi korunur. Varsayılan değer AUTO.

Uyumluluk Düzeyi Yorum
AUTO Temerrüt. Değeri Synapse Analytics altyapısı tarafından otomatik olarak güncelleştirilir ve 0içindeki ile temsil edilir. AUTO şu anda uyumluluk düzeyi 30 işlevselliğiyle eşlenmektedir.
10 Uyumluluk düzeyi desteğinin kullanıma sunulmasından önce Transact-SQL ve sorgu altyapısı davranışlarını uygular.
20 Geçitli Transact-SQL ve sorgu altyapısı davranışlarını içeren ilk uyumluluk düzeyi. Sistem saklı yordamı sp_describe_undeclared_parameters bu düzey altında desteklenir.
30 Yeni sorgu altyapısı davranışlarını içerir.
40 Yeni sorgu altyapısı davranışlarını içerir.
50 Çok Sütunlu Dağıtım bu düzey altında desteklenir. Daha fazla bilgi edinmek için bkz. CREATE TABLECREATE TABLE AS SELECT ve CREATE MATERIALIZED VIEW.
9000 Önizleme uyumluluk düzeyi. Bu düzey altında geçişli önizleme özellikleri, özelliğe özgü belgelerde vurgulanmıştır. Bu düzey,9000 olmayan en yüksek düzeydeki yetenekleri de içerir.

EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS = { ON | KAPALI }

Şunlar için geçerlidir: SQL Server 2022 (16.x) ve sonraki sürümleri, Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

Skaler kullanıcı tanımlı işlevlerin (UDF) yürütme istatistiklerinin sys.dm_exec_function_stats sistem görünümünde görüntülenip görüntülenmeyeceğini denetlemenize olanak tanır. Skaler UDF yoğunluklu bazı yoğun iş yükleri için işlev yürütme istatistiklerinin toplanması dikkat çekici bir performans yüküne neden olabilir. Veritabanı kapsamlı EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS yapılandırması OFFolarak ayarlanarak bu durum önlenebilir. Varsayılan değer ON.

ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY = { ON | KAPALI }

Şunlar için geçerlidir: SQL Server (SQL Server 2022 (16.x) ile başlayarak), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

Zaman uyumsuz istatistik güncelleştirmesi etkinleştirildiyse, bu yapılandırmanın etkinleştirilmesi, arka plan isteği güncelleştirme istatistiklerinin yüksek eşzamanlılık senaryolarındaki diğer oturumların engellenmesini önlemek için düşük öncelikli bir kuyrukta Sch-M kilidini beklemesine neden olur. Daha fazla bilgi için bkz. AUTO_UPDATE_STATISTICS_ASYNC. Varsayılan değer OFF.

OPTIMIZED_PLAN_FORCING = { ON | KAPALI }

Şunlar için geçerlidir: SQL Server (SQL Server 2022 (16.x) ile başlayarak), Azure SQL Veritabanı

İyileştirilmiş plan zorlaması, yinelenen zorlamalı sorgular için derleme ek yükünü azaltır. Varsayılan değer ON. Sorgu yürütme planı oluşturulduktan sonra, iyileştirme yeniden yürütme betiği olarak yeniden kullanmak üzere belirli derleme adımları depolanır. İyileştirme yeniden yürütme betiği, gizli bir özniteliğinde OptimizationReplaysıkıştırılmış showplan XML'in bir parçası olarak depolanır. Sorgu Deposuile en iyi duruma getirilmiş plan zorlama hakkında daha fazla bilgi edinin.

DOP_FEEDBACK = { ON | KAPALI }

Şunlar için geçerlidir: SQL Server (SQL Server 2022 (16.x) ile başlayarak), Azure SQL Veritabanı

Geçen süreye ve beklemelere göre yinelenen sorgular için paralellik verimsizliklerini tanımlar. Paralellik kullanımı verimsiz olarak kabul edilirse, DOP geri bildirimi sorgunun bir sonraki yürütmesi için DOP'yi yapılandırılan DOP'dan düşürür ve yardımcı olup olmadığını doğrular. Sorgu Deposu'nu etkin ve READ_WRITE modunda gerektirir. Daha fazla bilgi için bkz. Paralellik Derecesi (DOP) geri bildirimi. Varsayılan değer OFF.

CE_FEEDBACK = { ON | KAPALI }

Şunlar için geçerlidir: SQL Server (SQL Server 2022 (16.x) ile başlayarak), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

CE geri bildirimi, varsayılan CE (CE120 veya üzeri) kullanılırken yanlış CE modeli varsayımlarından kaynaklanan algılanan regresyon sorunlarını giderir ve farklı model varsayımlarını seçmeli olarak kullanabilir. Sorgu Deposu'nu etkin ve READ_WRITE modunda gerektirir. Daha fazla bilgi için bkz. Kardinalite tahmini (CE) geri bildirimi. Varsayılan değer, veritabanı uyumluluk düzeyi 160 ve üzeri ON.

PARAMETER_SENSITIVE_PLAN_OPTIMIZATION = { ON | KAPALI }

Şunlar için geçerlidir: SQL Server (SQL Server 2022 (16.x) ile başlayarak), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

Parametre duyarlılık planı (PSP) iyileştirmesi, parametreli sorgu için tek bir önbelleğe alınmış planın tüm olası gelen parametre değerleri için en uygun olmadığı senaryoyu ele alır. Bu durum, tek biçimli veri dağıtımlarında geçerlidir. Varsayılan değer, veritabanı uyumluluk düzeyi 160'tan başlayarak ON. Daha fazla bilgi için bkz. Parametreye Duyarlı Plan iyileştirme.

LEDGER_DIGEST_STORAGE_ENDPOINT = { <uç nokta URL dizesi> | KAPALI }

Şunlar için geçerlidir: SQL Server (SQL Server 2022 (16.x) ile başlayarak)

Kayıt defteri özetlerinin Azure Blob Depolama'ya yüklenmesini etkinleştirir veya devre dışı bırakır. Kayıt defteri özetlerinin karşıya yüklenmesini etkinleştirmek için Azure Blob depolama hesabının uç noktasını belirtin. Genel muhasebe özetlerinin karşıya yüklenmesini devre dışı bırakmak için seçenek değerini OFFolarak ayarlayın. Varsayılan değer OFF.

FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION = { ON | KAPALI }

Şunlar için geçerlidir: SQL Server (SQL Server 2022 (16.x) ile başlayarak), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

Basit sorgu yürütme istatistiklerini kullanarak altyapının profilini oluştururken veya uzun süre çalışan sorguların sorunlarını giderirken sys.dm_exec_query_statistics_xml DMV'yi yürütürken SQL Server'ın ParameterRuntimeValue ile bir Showplan XML parçası oluşturmasına neden olur.

Önemli

FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION veritabanı kapsamlı yapılandırma seçeneğinin üretim ortamında sürekli olarak etkinleştirilmesi amaçlanmamıştır, yalnızca zaman sınırlı sorun giderme amacıyla etkinleştirilmelidir. Bu veritabanı kapsamlı yapılandırma seçeneğinin kullanılması, sys.dm_exec_query_statistics_xml DMV veya basit sorgu yürütme istatistikleri profil altyapısının etkinleştirilip etkinleştirilmediğine bakılmaksızın çalışma zamanı parametre bilgileriyle bir Showplan XML parçası oluşturduğumuz için ek ve büyük olasılıkla önemli CPU ve bellek yükü getirir.

OPTIMIZED_SP_EXECUTESQL = { ON | KAPALI }

Şunlar için geçerlidir: Microsoft Fabric'te SQL Server 2025 (17.x) Önizleme, Azure SQL Veritabanı ve SQL veritabanı

Bir toplu iş derlendiğinde sp_executesql derleme serileştirme davranışını etkinleştirir veya devre dışı bırakır. Varsayılan değer OFF. Derleme işlemini serileştirmek için sp_executesql kullanan toplu işlere izin vermek, derleme fırtınalarının etkisini azaltır. Derleme fırtınaları, çok sayıda sorgunun aynı anda derlendiği ve performans sorunlarına ve kaynak çekişmesiyle sonuçlanan bir durum anlamına gelir.

OPTIMIZED_SP_EXECUTESQL ONolduğunda, sp_executesql ilk yürütmesi derlenmiş planını derler ve plan önbelleğine ekler. Diğer oturumlar derleme kilidinde beklemeyi durdurur ve kullanılabilir duruma geldikten sonra planı yeniden kullanabilir. Bu, sp_executesql saklı yordamlar ve tetikleyiciler gibi derleme perspektifinden nesneler gibi davranmasına olanak tanır.

OPTIMIZED_HALLOWEEN_PROTECTION = { ON | KAPALI }

Şunlar için geçerlidir: SQL Server 2025 (17.x) Önizlemesi

Veri değiştirme dili (DML) deyimleri için iyileştirilmiş Cadılar Bayramı korumasını etkinleştirir veya devre dışı bırakır. Varsayılan değer ON. Etkinleştirildiğinde sorgu planında bir biriktirici işleci kullanmadan Cadılar Bayramı koruması sağlar.

Not

Veritabanı uyumluluk düzeyi 160 veya daha düşükse, bu veritabanı kapsamlı yapılandırmanın hiçbir etkisi yoktur.

OPTIONAL_PARAMETER_PLAN_OPTIMIZATION = { ON | KAPALI }

Şunlar için geçerlidir: SQL Server 2025 (17.x) Önizlemesi

İsteğe bağlı parametre planı iyileştirme özelliğini etkinleştirir veya devre dışı bırakır. Varsayılan değer ON.

Etkinleştirildiğinde uyarlamalı plan iyileştirmesi, isteğe bağlı parametreler içeren sorgular için birden çok yürütme planı oluşturur. Bu planlar genellikle koşul kullanılarak şu şekilde ifade edilir:

  • @p IS NULL AND @p1 IS NOT NULL
  • @p IS NULL OR @p1 IS NOT NULL

Özellik, parametresinin NULLolup olmadığına bağlı olarak çalışma zamanında daha uygun bir plan seçebilir ve bu da bu tür sorgu desenleri için varsayılan olarak en iyi olmayan performansa sahip sorgular için performansı artırır.

Varsayılan değer, ON veritabanı uyumluluk düzeyi 170'te başlar.

İzinler

Veritabanında ALTER ANY DATABASE SCOPED CONFIGURATION gerektirir. Bu izin, veritabanında CONTROL izni olan bir kullanıcı tarafından verilebilir.

Açıklamalar

İkincil veritabanlarını birincil veritabanlarından farklı kapsamlı yapılandırma ayarlarına sahip olacak şekilde yapılandırabilirsiniz ancak tüm ikincil veritabanları aynı yapılandırmayı kullanır. Tek tek ikinciller için farklı ayarlar yapılandırılamaz.

Bu deyimin yürütülmesi geçerli veritabanındaki yordam önbelleğini temizler, yani tüm sorguların yeniden derlenmesi gerekir.

Üç bölümlü ad sorguları için, başka bir veritabanı bağlamında derlenen VE bu nedenle bulundukları veritabanının seçeneklerini kullanan SQL modülleri (yordamlar, işlevler ve tetikleyiciler gibi) dışında sorgunun geçerli veritabanı bağlantısına yönelik ayarlar kabul edilir. Benzer şekilde, istatistikleri zaman uyumsuz olarak güncelleştirirken, istatistiklerin bulunduğu veritabanı için ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY ayarı uygulanır.

ALTER_DATABASE_SCOPED_CONFIGURATION olayı, DDL tetikleyicisini tetiklemede kullanılabilecek bir DDL olayı olarak eklenir ve ALTER_DATABASE_EVENTS tetikleyici grubunun alt öğesidir.

Belirli bir veritabanı geri yüklendiğinde veya eklendiğinde, veritabanı kapsamlı yapılandırma ayarları veritabanı üzerinde taşınır ve veritabanında kalır.

SQL Server 2019 (15.x) ile başlayarak Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği'nde bazı seçenek adları değiştirildi:

  • DISABLE_INTERLEAVED_EXECUTION_TVF INTERLEAVED_EXECUTION_TVF olarak değiştirildi
  • DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK BATCH_MODE_MEMORY_GRANT_FEEDBACK olarak değiştirildi
  • DISABLE_BATCH_MODE_ADAPTIVE_JOINS BATCH_MODE_ADAPTIVE_JOINS olarak değiştirildi

Veritabanı kapsamlı yapılandırma seçeneğinin durumunu denetleme

Veritabanında yapılandırmanın etkin (1) veya devre dışı (0) olup olmadığını denetlemek için sys.database_scoped_configurationssorgulayabilirsiniz. Örneğin, LEGACY_CARDINALITY_ESTIMATION değerini denetlemek için aşağıdaki gibi bir sorgu kullanın:

USE <user_database>;
SELECT 
    name, 
    value, 
    value_for_secondary 
FROM sys.database_scoped_configurations
WHERE name = 'LEGACY_CARDINALITY_ESTIMATION';

Sınırlama

MAXDOP

Ayrıntılı ayarlar genel ayarları geçersiz kılabilir ve kaynak yöneticisi diğer tüm MAXDOP ayarlarını kaplayabilir. MAXDOP ayarının mantığı aşağıdaki gibidir:

  • Sorgu ipucu hem sp_configure hem de veritabanı kapsamlı yapılandırmasını geçersiz kılar. MaxDOP kaynak grubu iş yükü grubu için ayarlandıysa:

    • Sorgu ipucu sıfır (0) olarak ayarlanırsa, kaynak yöneticisi ayarı tarafından geçersiz kılınmış olur.

    • Sorgu ipucu sıfır (0) değilse, kaynak yöneticisi ayarı tarafından eşlenir.

  • Veritabanı kapsamlı yapılandırma (sıfır olmadığı sürece) sorgu ipucu olmadığı ve kaynak yöneticisi ayarıyla eşlenmediği sürece sp_configure ayarını geçersiz kılar.

  • sp_configure ayarı, kaynak yöneticisi ayarı tarafından geçersiz kılınabilir.

QUERY_OPTIMIZER_HOTFIXES

SQL Server 7.0'ın varsayılan Sorgu İyileştiricisi'ni SQL Server 2012 (11.x) sürümleri veya Sorgu İyileştiricisi düzeltmeleri aracılığıyla etkinleştirmek için QUERYTRACEON ipucu kullanıldığında, sorgu ipucu ile veritabanı kapsamlı yapılandırma ayarı arasında bir OR koşulu olur; başka bir deyişle, veritabanı kapsamlı yapılandırmalar uygulanır.

Coğrafi DR

Okunabilir ikincil veritabanları (Always On Kullanılabilirlik Grupları, Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği coğrafi olarak çoğaltılan veritabanları), veritabanının durumunu denetleyerek ikincil değeri kullanır. Yeniden derleme yük devretme sırasında gerçekleşmese de ve teknik olarak yeni birincil sorgular ikincil ayarları kullanan sorgulara sahip olsa da, birincil ve ikincil arasındaki ayarın yalnızca iş yükü farklı olduğunda ve bu nedenle önbelleğe alınan sorgular en uygun ayarları kullandığında, yeni sorgular ise kendilerine uygun yeni ayarları seçer.

DacFx

ALTER DATABASE SCOPED CONFIGURATION, Azure SQL Veritabanı'nda yeni bir özellik olduğundan, veritabanı şemasını etkileyen Azure SQL Yönetilen Örneği ve SQL Server (SQL Server 2016 (13.x) ile başlayarak, şemanın dışarı aktarmaları (verili veya verisiz) SQL Server 2012 (11.x) veya SQL Server 2014 (12.x) gibi eski bir SQL Server sürümüne aktarılamaz. Örneğin, bu yeni özelliği kullanan sql veritabanı veya SQL Server 2016 (13.x) veritabanından DACPAC veya BACPAC dışarı aktarma işlemi alt düzey sunucuya aktarılamaz.

ELEVATE_ONLINE

Bu seçenek yalnızca WITH (ONLINE = <syntax>)destekleyen DDL deyimleri için geçerlidir. XML dizinleri etkilenmez.

ELEVATE_RESUMABLE

Bu seçenek yalnızca WITH (RESUMABLE = <syntax>)destekleyen DDL deyimleri için geçerlidir. XML dizinleri etkilenmez.

Meta veriler

sys.database_scoped_configurations (Transact-SQL) sistem görünümü, veritabanı içindeki kapsamlı yapılandırmalar hakkında bilgi sağlar. Veritabanı kapsamlı yapılandırma seçenekleri yalnızca sys.database_scoped_configurations sunucu genelindeki varsayılan ayarları geçersiz kıldıkları için gösterilir. sys.configurations (Transact-SQL) sistem görünümü yalnızca sunucu genelindeki ayarları gösterir.

Örnekler

Bu örnekler ALTER DATABASE SCOPED CONFIGURATIONkullanımını gösterir.

A. İzin Ver

Bu örnek, kullanıcı ALTER DATABASE SCOPED CONFIGURATIONJoe yürütmek için gereken izni verir.

GRANT ALTER ANY DATABASE SCOPED CONFIGURATION TO [Joe];

B. MAXDOP'i ayarlama

Bu örnekte birincil veritabanı için MAXDOP = 1 ve coğrafi çoğaltma senaryosunda ikincil veritabanı için MAXDOP = 4 ayarlanmıştır.

ALTER DATABASE SCOPED CONFIGURATION 
SET MAXDOP = 1;

ALTER DATABASE SCOPED CONFIGURATION 
FOR SECONDARY 
SET MAXDOP = 4;

Bu örnek, ikincil bir veritabanı için MAXDOP'yi coğrafi çoğaltma senaryosundaki birincil veritabanı için ayarlananla aynı olacak şekilde ayarlar.

ALTER DATABASE SCOPED CONFIGURATION 
FOR SECONDARY 
SET MAXDOP = PRIMARY;

C. LEGACY_CARDINALITY_ESTIMATION ayarlama

Bu örnek, coğrafi çoğaltma senaryosunda ikincil veritabanı için LEGACY_CARDINALITY_ESTIMATIONON olarak ayarlar.

ALTER DATABASE SCOPED CONFIGURATION 
FOR SECONDARY 
SET LEGACY_CARDINALITY_ESTIMATION = ON;

Bu örnek, coğrafi çoğaltma senaryosundaki birincil veritabanı için olduğu gibi ikincil veritabanı için LEGACY_CARDINALITY_ESTIMATION ayarlar.

ALTER DATABASE SCOPED CONFIGURATION 
FOR SECONDARY 
SET LEGACY_CARDINALITY_ESTIMATION = PRIMARY;

D. PARAMETER_SNIFFING ayarlama

Bu örnek, coğrafi çoğaltma senaryosunda birincil veritabanı için PARAMETER_SNIFFINGOFF olarak ayarlar.

ALTER DATABASE SCOPED CONFIGURATION 
SET PARAMETER_SNIFFING = OFF;

Bu örnek, coğrafi çoğaltma senaryosunda ikincil veritabanı için PARAMETER_SNIFFINGOFF olarak ayarlar.

ALTER DATABASE SCOPED CONFIGURATION 
FOR SECONDARY 
SET PARAMETER_SNIFFING = OFF;

Bu örnek, coğrafi çoğaltma senaryosunda birincil veritabanında olduğu gibi ikincil veritabanı için PARAMETER_SNIFFING ayarlar.

ALTER DATABASE SCOPED CONFIGURATION 
FOR SECONDARY 
SET PARAMETER_SNIFFING = PRIMARY;

E. QUERY_OPTIMIZER_HOTFIXES ayarlama

Coğrafi çoğaltma senaryosunda birincil veritabanı için QUERY_OPTIMIZER_HOTFIXESON olarak ayarlayın.

ALTER DATABASE SCOPED CONFIGURATION 
SET QUERY_OPTIMIZER_HOTFIXES = ON;

F. Yordam Önbelleğini Temizle

Bu örnek yordam önbelleğini temizler (yalnızca birincil veritabanı için mümkündür).

ALTER DATABASE SCOPED CONFIGURATION 
CLEAR PROCEDURE_CACHE;

G. IDENTITY_CACHE ayarla

Şunlar için geçerlidir: SQL Server (SQL Server 2017 (14.x) ile başlayarak), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

Bu örnek, kimlik önbelleğini devre dışı bırakır.

ALTER DATABASE SCOPED CONFIGURATION 
SET IDENTITY_CACHE = OFF;

H. OPTIMIZE_FOR_AD_HOC_WORKLOADS ayarla

Şunlar için geçerlidir: SQL Server (SQL Server 2019 (15.x) ile başlayarak), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

Bu örnek, bir toplu iş ilk kez derlendiğinde, derlenmiş plan saplamanın önbellekte depolanmasını sağlar.

ALTER DATABASE SCOPED CONFIGURATION 
SET OPTIMIZE_FOR_AD_HOC_WORKLOADS = ON;

Ben. ELEVATE_ONLINE ayarlama

Şunlar için geçerlidir: SQL Server (SQL Server 2019 (15.x) ile başlayarak), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

Bu örnek ELEVATE_ONLINEFAIL_UNSUPPORTEDolarak ayarlar.

ALTER DATABASE SCOPED CONFIGURATION 
SET ELEVATE_ONLINE = FAIL_UNSUPPORTED;

J. ELEVATE_RESUMABLE ayarlama

Şunlar için geçerlidir: SQL Server (SQL Server 2019 (15.x) ile başlayarak), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

Bu örnek ELEVATE_RESUMABLEWHEN_SUPPORTEDolarak ayarlar.

ALTER DATABASE SCOPED CONFIGURATION 
SET ELEVATE_RESUMABLE = WHEN_SUPPORTED;

K. Plan önbelleğinden sorgu planını temizleme

Şunlar için geçerlidir: SQL Server (SQL Server 2019 (15.x) ile başlayarak), Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

Bu örnek, yordam önbelleğinden belirli bir planı temizler:

ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE 0x06000500F443610F003B7CD12C02000001000000000000000000000000000000000000000000000000000000;

L. Duraklatılmış süreyi ayarlama

Şunlar için geçerlidir: Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği

Bu örnek, devam ettirilebilen dizini duraklatma süresini 60 dakikaya ayarlar.

ALTER DATABASE SCOPED CONFIGURATION 
SET PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES = 60;

M. Kayıt defteri özetlerini karşıya yüklemeyi etkinleştirme ve devre dışı bırakma

Şunlar için geçerlidir: SQL Server (SQL Server 2022 (16.x) ile başlayarak)

Bu örnek, kayıt defteri özetlerinin bir Azure depolama hesabına yüklenmesini sağlar.

ALTER DATABASE SCOPED CONFIGURATION 
SET LEDGER_DIGEST_STORAGE_ENDPOINT = 'https://mystorage.blob.core.windows.net';

Bu örnek, kayıt defteri özetlerinin karşıya yüklenmesini devre dışı bırakır.

ALTER DATABASE SCOPED CONFIGURATION
SET LEDGER_DIGEST_STORAGE_ENDPOINT = OFF;

Ek Kaynaklar

MAXDOP Kaynakları

LEGACY_CARDINALITY_ESTIMATION Kaynakları

PARAMETER_SNIFFING Kaynakları

QUERY_OPTIMIZER_HOTFIXES Kaynakları

ELEVATE_ONLINE Kaynakları

Çevrimiçi Dizin İşlemleri için Yönergeleri

ELEVATE_RESUMABLE Kaynakları

Çevrimiçi Dizin İşlemleri için Yönergeleri