Aracılığıyla paylaş


ALTER DATABASE SET seçenekleri (Transact-SQL)

Microsoft SQL Server, Azure SQL Veritabanı ve Azure Synapse Analytics'teki veritabanı seçeneklerini ayarlar. Diğer ALTER DATABASE seçenekleri için bkz. ALTER DATABASE.

Note

ALTER DATABASE ile bazı seçenekleri ayarlamak için özel veritabanı erişimi gerekebilir. ALTER DATABASE deyimi zamanında tamamlanmazsa, veritabanındaki diğer oturumların ALTER DATABASE oturumunu engelleyip engellemediğini denetleyin.

Söz dizimi kuralları hakkında daha fazla bilgi için bkz.Transact-SQL söz dizimi kuralları.

Ürün seçin

Aşağıdaki satırda, ilgilendiğiniz ürün adını seçin. Bunu yaptığınızda, seçtiğiniz ürün için uygun olan bu web sayfasında farklı içerik görüntülenir.

* SQL Server *  

SQL Yönetilen Örneği

Azure Synapse'i
Analiz

 

SQL Server

Veritabanı yansıtma, Always On kullanılabilirlik grupları ve uyumluluk düzeyleri SET seçeneklerdir, ancak uzunlukları nedeniyle ayrı makalelerde açıklanmıştır. Daha fazla bilgi için bkz. ALTER DATABASE Database Mirroring, ALTER DATABASE SET HADRve ALTER DATABASE uyumluluk düzeyi.

Veritabanı kapsamlı yapılandırmalar, tek tek veritabanı düzeyinde çeşitli veritabanı yapılandırmaları ayarlamak için kullanılır. Daha fazla bilgi için bkz. ALTER DATABASE SCOPED CONFIGURATION.

Note

Birçok veritabanı kümesi seçeneği, mevcut oturum için SET ifadeleri kullanılarak yapılandırılabilir ve uygulamalar bağlandığında genellikle yapılandırılır. Oturum düzeyi ayar seçenekleri ALTER DATABASE SET değerlerini geçersiz kılar. Aşağıdaki bölümlerde açıklanan veritabanı seçenekleri, diğer ayar seçeneği değerlerini açıkça sağlamayan oturumlar için ayarlayabileceğiniz değerlerdir.

Syntax

ALTER DATABASE { database_name | CURRENT }
SET
{
    <option_spec> [ ,...n ] [ WITH <termination> ]
}

<option_spec> ::=
{
    <accelerated_database_recovery>
  | <auto_option>
  | <automatic_tuning_option>
  | <change_tracking_option>
  | <containment_option>
  | <cursor_option>
  | <data_retention_policy>
  | <database_mirroring_option>
  | <date_correlation_optimization_option>
  | <db_encryption_option>
  | <db_state_option>
  | <db_update_option>
  | <db_user_access_option>
  | <delayed_durability_option>
  | <external_access_option>
  | FILESTREAM ( <FILESTREAM_option> )
  | <HADR_options>
  | <mixed_page_allocation_option>
  | <optimized_locking>
  | <parameterization_option>
  | <query_store_options>
  | <recovery_option>
  | <remote_data_archive_option>
  | <persistent_log_buffer_option>
  | <service_broker_option>
  | <snapshot_option>
  | <sql_option>
  | <suspend_for_snapshot_backup>
  | <target_recovery_time_option>
  | <termination>
  | <temporal_history_retention>
}
;

<accelerated_database_recovery> ::=
{
    ACCELERATED_DATABASE_RECOVERY = { ON | OFF }
     [ ( PERSISTENT_VERSION_STORE_FILEGROUP = { filegroup name } ) ]
}

<auto_option> ::=
{
    AUTO_CLOSE { ON | OFF }
  | AUTO_CREATE_STATISTICS { OFF | ON [ ( INCREMENTAL = { ON | OFF } ) ] }
  | AUTO_SHRINK { ON | OFF }
  | AUTO_UPDATE_STATISTICS { ON | OFF }
  | AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
}

<automatic_tuning_option> ::=
{
    AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = { DEFAULT | ON | OFF } )
}

<change_tracking_option> ::=
{
    CHANGE_TRACKING
   {
       = OFF
     | = ON [ ( <change_tracking_option_list > [,...n] ) ]
     | ( <change_tracking_option_list> [,...n] )
   }
}

<change_tracking_option_list> ::=
{
   AUTO_CLEANUP = { ON | OFF }
 | CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
}

<containment_option> ::=
   CONTAINMENT = { NONE | PARTIAL }

<cursor_option> ::=
{
    CURSOR_CLOSE_ON_COMMIT { ON | OFF }
  | CURSOR_DEFAULT { LOCAL | GLOBAL }
}

<database_mirroring_option>
  ALTER DATABASE Database Mirroring

<date_correlation_optimization_option> ::=
    DATE_CORRELATION_OPTIMIZATION { ON | OFF }

<db_encryption_option> ::=
    ENCRYPTION { ON | OFF | SUSPEND | RESUME }

<db_state_option> ::=
    { ONLINE | OFFLINE | EMERGENCY }

<db_update_option> ::=
    { READ_ONLY | READ_WRITE }

<db_user_access_option> ::=
    { SINGLE_USER | RESTRICTED_USER | MULTI_USER }

<delayed_durability_option> ::=
    DELAYED_DURABILITY = { DISABLED | ALLOWED | FORCED }

<external_access_option> ::=
{
    DB_CHAINING { ON | OFF }
  | TRUSTWORTHY { ON | OFF }
  | DEFAULT_FULLTEXT_LANGUAGE = { <lcid> | <language name> | <language alias> }
  | DEFAULT_LANGUAGE = { <lcid> | <language name> | <language alias> }
  | NESTED_TRIGGERS = { OFF | ON }
  | TRANSFORM_NOISE_WORDS = { OFF | ON }
  | TWO_DIGIT_YEAR_CUTOFF = { 1753, ..., 2049, ..., 9999 }
}

<FILESTREAM_option> ::=
{
    NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL
  | DIRECTORY_NAME = <directory_name>
}

<HADR_options> ::=
    ALTER DATABASE SET HADR

<mixed_page_allocation_option> ::=
    MIXED_PAGE_ALLOCATION { OFF | ON }

<parameterization_option> ::=
    PARAMETERIZATION { SIMPLE | FORCED }

<query_store_options> ::=
{
    QUERY_STORE
    {
          = OFF [ ( FORCED ) ]
        | = ON [ ( <query_store_option_list> [,...n] ) ]
        | ( < query_store_option_list> [,...n] )
        | CLEAR [ ALL ]
    }
}

<query_store_option_list> ::=
{
      OPERATION_MODE = { READ_WRITE | READ_ONLY }
    | CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = number )
    | DATA_FLUSH_INTERVAL_SECONDS = number
    | MAX_STORAGE_SIZE_MB = number
    | INTERVAL_LENGTH_MINUTES = number
    | SIZE_BASED_CLEANUP_MODE = { AUTO | OFF }
    | QUERY_CAPTURE_MODE = { ALL | AUTO | CUSTOM | NONE }
    | MAX_PLANS_PER_QUERY = number
    | WAIT_STATS_CAPTURE_MODE = { ON | OFF }
    | QUERY_CAPTURE_POLICY = ( <query_capture_policy_option_list> [,...n] )
}

<query_capture_policy_option_list> :: =
{
      STALE_CAPTURE_POLICY_THRESHOLD = number { DAYS | HOURS }
    | EXECUTION_COUNT = number
    | TOTAL_COMPILE_CPU_TIME_MS = number
    | TOTAL_EXECUTION_CPU_TIME_MS = number
}

<recovery_option> ::=
{
    RECOVERY { FULL | BULK_LOGGED | SIMPLE }
  | TORN_PAGE_DETECTION { ON | OFF }
  | PAGE_VERIFY { CHECKSUM | TORN_PAGE_DETECTION | NONE }
}

<remote_data_archive_option> ::=
{
    REMOTE_DATA_ARCHIVE =
    {
        ON ( SERVER = <server_name>,
             {
                  CREDENTIAL = <db_scoped_credential_name>
                  | FEDERATED_SERVICE_ACCOUNT = ON | OFF
             }
        )
        | OFF
    }
}

<persistent_log_buffer_option> ::=
{
    PERSISTENT_LOG_BUFFER 
    {
          = ON (DIRECTORY_NAME= 'path-to-directory-on-a-DAX-volume')
        | = OFF
    }
}

<service_broker_option> ::=
{
    ENABLE_BROKER
  | DISABLE_BROKER
  | NEW_BROKER
  | ERROR_BROKER_CONVERSATIONS
  | HONOR_BROKER_PRIORITY { ON | OFF }
}

<snapshot_option> ::=
{
    ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
  | READ_COMMITTED_SNAPSHOT { ON | OFF }
  | MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT = { ON | OFF }
}

<sql_option> ::=
{
    ANSI_NULL_DEFAULT { ON | OFF }
  | ANSI_NULLS { ON | OFF }
  | ANSI_PADDING { ON | OFF }
  | ANSI_WARNINGS { ON | OFF }
  | ARITHABORT { ON | OFF }
  | COMPATIBILITY_LEVEL = { 170 | 160 | 150 | 140 | 130 | 120 | 110 | 100 }
  | CONCAT_NULL_YIELDS_NULL { ON | OFF }
  | NUMERIC_ROUNDABORT { ON | OFF }
  | QUOTED_IDENTIFIER { ON | OFF }
  | RECURSIVE_TRIGGERS { ON | OFF }
}

<suspend_for_snapshot_backup> ::=
    SET SUSPEND_FOR_SNAPSHOT_BACKUP = { ON | OFF } [ ( MODE = COPY_ONLY ) ]

<target_recovery_time_option> ::=
    TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }

<termination>::=
{
    ROLLBACK AFTER number [ SECONDS ]
  | ROLLBACK IMMEDIATE
  | NO_WAIT
}

<temporal_history_retention> ::=
    TEMPORAL_HISTORY_RETENTION { ON | OFF }

<data_retention_policy> ::=
    DATA_RETENTION { ON | OFF }

<optimized_locking> ::=
{
    OPTIMIZED_LOCKING = { ON | OFF }
}

Arguments

database_name

Değiştirilecek veritabanının adı.

CURRENT

Uygulanır: SQL Server (SQL Server 2012 (11.x) ile başlayarak)

Eylemi geçerli veritabanında çalıştırır. CURRENT tüm bağlamlardaki tüm seçenekler için desteklenmez. CURRENT başarısız olursa veritabanı adını belirtin.

< > accelerated_database_recovery ::=

Uygulanır: SQL Server (SQL Server 2019 (15.x) ile başlayarak)

hızlandırılmış veritabanı kurtarma (ADR)etkinleştirir. ADR, SQL Server 2019 (15.x) ve sonraki sürümlerde varsayılan olarak KAPALI olarak ayarlanır. Bu söz dizimini kullanarak, Kalıcı Sürüm Deposu (PVS) verileri için belirli bir dosya grubu belirleyebilirsiniz. Hiçbir dosya grubu belirtilmezse, PVS PRIMARY dosya grubunu kullanır. Daha fazla bilgi için bkz. hızlandırılmış veritabanı kurtarmayönetme .

AÇıK veya KAPALI ACCELERATED_DATABASE_RECOVERY ayarlamak için, ALTER DATABASE komutunu çalıştıran bağlantı dışında veritabanına etkin bağlantı olmaması gerekir. Ancak veritabanının tek kullanıcı modunda olması gerekmez. Veritabanı ÇEVRİmİÇİ olmadığı sürece bu seçeneğin durumunu değiştiremezsiniz.

< > auto_option ::=

Otomatik seçenekleri denetler.

AUTO_CLOSE { ON | KAPALI }

  • ON

    Veritabanı temiz bir şekilde kapatılır ve son kullanıcı çıktıktan sonra kaynakları serbest bırakılır.

    Kullanıcı veritabanını yeniden kullanmaya çalıştığında veritabanı otomatik olarak yeniden açılır. Örneğin, bir kullanıcı bir USE database_name deyimini çıkardığında bu davranış oluşur. veritabanı, AUTO_CLOSE AÇILDI olarak ayarlandığında temiz bir şekilde kapanabilir. Bu durumda veritabanı, veritabanı Altyapısı bir sonraki yeniden başlatıldığında kullanıcı veritabanını kullanmaya çalışana kadar yeniden açılmaz.

    Veritabanı kapatıldıktan sonra, bir uygulama veritabanını kullanmayı bir sonraki denemesinde önce veritabanının açılması ve ardından durum çevrimiçi olarak değiştirilmesi gerekir. Bu işlem biraz zaman alabilir ve uygulama zaman aşımlarına neden olabilir.

  • OFF

    Son kullanıcı çıktıktan sonra veritabanı açık kalır.

    AUTO_CLOSE seçeneği, veritabanı dosyalarının normal dosyalar olarak yönetilmesine izin verdiğinden masaüstü veritabanları için kullanışlıdır. Bunlar taşınabilir, kopyalanabilir ve yedeklenebilir, hatta diğer kullanıcılara e-postayla gönderilebilir. AUTO_CLOSE işlemi zaman uyumsuzdur; veritabanını tekrar tekrar açmak ve kapatmak performansı düşürmez.

Note

AUTO_CLOSE seçeneği, kapsanan bir veritabanında veya SQL Veritabanı'nda kullanılamaz. Bu seçeneğin durumunu is_auto_close_on katalog görünümündeki sütunu veya IsAutoClose fonksiyonunun özelliğini inceleyerek belirleyebilirsiniz.

AUTO_CLOSE ON olarak ayarlandığında, sys.databases katalog görünümündeki bazı sütunlar ve DATABASEPROPERTYEX fonksiyonu veritabanı veriyi almak için uygun olmadığı için NULL döner. Bu sorunu çözmek için bir USE deyimi çalıştırarak veritabanını açın.

Veritabanı yansıtma için AUTO_CLOSE OFF olarak ayarlanması gerekir.

Veritabanı AUTOCLOSE = ONolarak ayarlandığında, otomatik veritabanı kapatma işlemini başlatan bir işlem SQL Server örneğinin plan önbelleğini temizler. Plan önbelleğinin temizlenmesi, sonraki tüm yürütme planlarının yeniden derlenmesine neden olur ve sorgu performansında ani, geçici bir düşüşe neden olabilir. PLAN önbelleğindeki temizlenen her önbellek deposu için SQL Server 2005 (9.x) Service Pack 2'den başlayarak, SQL Server hata günlüğü şu bilgilendirme iletisini içerir: SQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations. Bu ileti, önbellek bu zaman aralığında temizlendiği sürece beş dakikada bir günlüğe kaydedilir.

AUTO_CLOSE ayarı bazı nadir durumlarda, örneğin, çok sayıda veritabanıyla yeterli belleği olmayan bir SQL Server örneğinde veya çok sayıda veritabanı olan eski bir 32 bit SQL Server örneğinde yararlı bir özellik olabilir. Bu tür senaryolarda, AUTO_CLOSE etkinleştirmek ve veritabanını kullanan bir uygulama olmadığında veritabanını açık tutmak için gereken bellek kaynaklarını korumak yararlı olabilir. Veritabanı açıkken bazı varsayılan bellek ayırmaları gerekir (örneğin, çeşitli veritabanı meta veri nesnelerini ve işlem günlüğü arabelleklerini temsil eden iç yapılar).

AUTO_CREATE_STATISTICS { ON | KAPALI }

  • ON

    Sorgu İyileştiricisi, sorgu planlarını ve sorgu performansını geliştirmek için gerektiğinde sorgu koşullarındaki tek sütunlarda istatistikler oluşturur. Bu tek sütunlu istatistikler, Sorgu İyileştiricisi sorguları derlediğinde oluşturulur. Tek sütunlu istatistikler yalnızca mevcut istatistik nesnesinin ilk sütunu olmayan sütunlarda oluşturulur.

    Varsayılan ayar ON'dır. Çoğu veritabanı için varsayılan ayarı kullanmanızı öneririz.

  • OFF

    Sorgu İyileştiricisi, sorgu derlerken sorgu koşullarında tek sütunlarda istatistik oluşturmaz. Bu seçeneğin KAPALI olarak ayarlanması, yetersiz sorgu planlarına ve düşük sorgu performansına neden olabilir.

Bu seçeneğin durumunu is_auto_create_stats_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsAutoCreateStatistics fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

Daha fazla bilgi için, İstatistik bölümünde "Veritabanı çapında istatistik seçeneklerinin kullanımı" bölümüne bakınız.

ARTıMLı = ON | KAPALI

Şunlara uygulanır: SQL Server (SQL Server 2014 (12.x)) ile başlayarak) ve Azure SQL Database

AUTO_CREATE_STATISTICS AÇıK olarak ayarlayın ve ARTıMLı'yı ON olarak ayarlayın. Bu, artımlı istatistikler desteklendiği her durumda otomatik olarak artımlı olarak oluşturulan istatistikleri ayarlar. Varsayılan değer KAPALI'dır. Daha fazla bilgi için bkz. CREATE STATISTICS.

AUTO_SHRINK { ON | KAPALI }

  • ON

    Veritabanı dosyaları düzenli aralıklarla daraltma için adaydır. Belirli bir gereksiniminiz yoksa AUTO_SHRINK veritabanı seçeneğini ON olarak ayarlamayın. Daha fazla bilgi için bkz. veritabanını küçültme.

    Hem veri dosyaları hem de günlük dosyaları otomatik olarak küçültülebilir. AUTO_SHRINK işlem günlüğünün boyutunu yalnızca veritabanını SIMPLE kurtarma modeli olarak ayarlarsanız veya günlüğü yedeklerseniz azaltır. AUTO_SHRINK KAPALI olarak ayarladığınızda, kullanılmayan alan için düzenli denetimler sırasında veritabanı dosyaları otomatik olarak küçültülür.

    dosyanın yüzde 25'inden fazlası kullanılmayan alan içerdiğinde AUTO_SHRINK seçeneği dosyaları küçültür. Dosyayı iki boyuttan birine küçültür (hangisi daha büyükse):

    • Dosyanın yüzde 25'inin kullanılmayan alan boyutu
    • Dosyanın oluşturulduğu zaman boyutu

    Salt okunur veritabanını küçültemezsiniz.

  • OFF

    Kullanılmayan alan için düzenli aralıklarla yapılan denetimler sırasında veritabanı dosyaları otomatik olarak küçülmez.

Bu seçeneğin durumunu is_auto_shrink_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsAutoShrink fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

Note

AUTO_SHRINK seçeneği, Kapsanan Veritabanında kullanılamaz.

AUTO_UPDATE_STATISTICS { ON | KAPALI }

  • ON

    Sorgu İyileştiricisi'nin bir sorgu tarafından kullanıldığında ve güncel olma durumlarında istatistikleri güncelleştirdiğini belirtir. Ekleme, güncelleştirme, silme veya birleştirme işlemleri tablodaki veya dizinli görünümdeki veri dağıtımını değiştirdikten sonra istatistikler güncel değildir. Sorgu İyileştiricisi, son istatistik güncelleştirmelerinden bu yana yapılan veri değişikliklerinin sayısını sayarak ve değişikliklerin sayısını bir eşikle karşılaştırarak istatistiklerin ne zaman güncel olabileceğini belirler. Eşik, tablodaki veya dizinli görünümdeki satır sayısını temel alır.

    Sorgu İyileştiricisi, sorgu derlemeden ve önbelleğe alınmış bir sorgu planı çalıştırmadan önce güncel olmayan istatistikleri denetler. Sorgu İyileştiricisi, hangi istatistiklerin güncel olmayabileceğini belirlemek için sorgu koşulundaki sütunları, tabloları ve dizine alınan görünümleri kullanır. Sorgu İyileştirici bu bilgileri bir sorgu derlemeden önce belirler. Önbelleğe alınmış bir sorgu planını çalıştırmadan önce Veritabanı Altyapısı, sorgu planının up-totarih istatistiklerine başvurduğunu doğrular.

    AUTO_UPDATE_STATISTICS seçeneği dizinler için oluşturulan istatistikler, sorgu koşulundaki tek sütunlar ve CREATE STATISTICS deyimi kullanılarak oluşturulan istatistikler için geçerlidir. Bu seçenek filtrelenmiş istatistikler için de geçerlidir.

    Varsayılan değer ON'dır. Çoğu veritabanı için varsayılan ayarı kullanmanızı öneririz.

    İstatistiklerin zaman uyumlu mu yoksa zaman uyumsuz olarak mı güncelleştirileceğini belirtmek için AUTO_UPDATE_STATISTICS_ASYNC seçeneğini kullanın.

  • OFF

    Sorgu İyileştirici'nin bir sorgu tarafından kullanıldığında istatistikleri güncelleştirmediğini belirtir. Sorgu İyileştiricisi ayrıca güncel olmayan istatistikleri güncelleştirmez. Bu seçeneğin KAPALI olarak ayarlanması, yetersiz sorgu planlarına ve düşük sorgu performansına neden olabilir.

Bu seçeneğin durumunu is_auto_update_stats_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsAutoUpdateStatistics fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

Daha fazla bilgi için, İstatistik bölümünde "Veritabanı çapında istatistik seçeneklerinin kullanımı" bölümüne bakınız.

AUTO_UPDATE_STATISTICS_ASYNC { ON | KAPALI }

  • ON

    AUTO_UPDATE_STATISTICS seçeneği için istatistik güncelleştirmelerinin zaman uyumsuz olduğunu belirtir. Sorgu İyileştiricisi, sorguları derlemeden önce istatistik güncelleştirmelerinin tamamlanmasını beklemez.

    AUTO_UPDATE_STATISTICS AÇıK olarak ayarlanmadığı sürece bu seçeneğiN ON olarak ayarlanmasının hiçbir etkisi olmaz.

    Varsayılan olarak, AUTO_UPDATE_STATISTICS_ASYNC seçeneği KAPALI'dır ve Sorgu İyileştiricisi istatistikleri zaman uyumlu olarak güncelleştirir.

  • OFF

    AUTO_UPDATE_STATISTICS seçeneği için istatistik güncelleştirmelerinin zaman uyumlu olduğunu belirtir. Sorgu İyileştiricisi, sorguları derlemeden önce istatistik güncelleştirmelerinin tamamlanmasını bekler.

    Note

    AUTO_UPDATE_STATISTICS AÇıK olarak ayarlanmadığı sürece bu seçeneği KAPALI olarak ayarlamanın hiçbir etkisi olmaz.

Bu seçeneğin durumunu is_auto_update_stats_async_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz.

Senkron veya asenkron istatistik güncellemelerinin ne zaman kullanılacağını açıklayan daha fazla bilgi için İstatistikler bölümündeki "İstatistik seçenekleri" bölümüne bakınız.

< > automatic_tuning_option ::=

Geçerlidir: SQL Server (SQL Server 2017 (14.x)'den başlayarak)

FORCE_LAST_GOOD_PLAN seçeneğini etkinleştiriyor veya devre dışı bırakıyor. bu seçeneğin durumunu sys.database_automatic_tuning_optionsgörünümünde görüntüleyebilirsiniz.

FORCE_LAST_GOOD_PLAN = { DEFAULT | ON | KAPALI }

  • DEFAULT

    SQL Server için varsayılan değer KAPALI'dır.

  • ON

    Veritabanı Altyapısı, yeni sorgu planının performans regresyonlarına neden olduğu Transact-SQL sorgularda bilinen son iyi planı otomatik olarak zorlar. Veritabanı Altyapısı, zorlamalı planla Transact-SQL sorgunun sorgu performansını sürekli izler.

    Performans kazançları varsa Veritabanı Altyapısı bilinen son iyi planı kullanmaya devam eder. Performans kazanımları algılanmamışsa Veritabanı Altyapısı yeni bir sorgu planı oluşturur. Bu ifade, Query Store etkin değilse veya Query Store Okuma-Yazma modunda değilse başarısız olur.

  • OFF

    Veritabanı Motoru, sys.dm_db_tuning_recommendations görünümdeki sorgu planı değişikliklerinden kaynaklanabilecek olası sorgu performansı gerilemelerini bildirir. Ancak bu öneriler otomatik olarak uygulanmaz. Kullanıcılar, görünümde gösterilen Transact-SQL betikleri uygulayarak etkin önerileri izleyebilir ve tanımlanan sorunları çözebilir. Varsayılan değer KAPALI'dır.

< > change_tracking_option ::=

Uygulanır: SQL Server ve Azure SQL Database

Değişiklik izleme seçeneklerini denetler. Değişiklik izlemeyi etkinleştirebilir, seçenekleri ayarlayabilir, seçenekleri değiştirebilir ve değişiklik izlemeyi devre dışı bırakabilirsiniz. Örnekler için, bu makalenin ilerleyen bölümlerinde Örnekler bölümüne bakınız.

  • ON

    Veritabanı için değişiklik izlemeyi etkinleştirir. Değişiklik izlemeyi etkinleştirdiğinizde, AUTO CLEANUP ve CHANGE RETENTION seçeneklerini de ayarlayabilirsiniz.

  • AUTO_CLEANUP = { ON | KAPALI }

    • ON

      Değişiklik izleme bilgileri belirtilen saklama süresinden sonra otomatik olarak kaldırılır.

    • OFF

      Değişiklik izleme verileri veritabanından otomatik olarak kaldırılmaz.

  • CHANGE_RETENTION = retention_period { GÜNLER | SAATLER | DAKIKALAR }

    Değişiklik izleme bilgilerini veritabanında tutmak için en düşük süreyi belirtir. Veriler yalnızca AUTO_CLEANUP değeri AÇILDI olduğunda kaldırılır.

    retention_period , tutma süresinin sayısal bileşenini belirten bir tam sayıdır.

    Varsayılan tutma süresi 2 gündür. En düşük saklama süresi 1 dakikadır. Varsayılan tutma türü DAYS'tir.

  • KAPALI Veritabanı için değişiklik izlemeyi devre dışı bırakır. Veritabanında değişiklik izlemeyi devre dışı bırakmadan önce tüm tablolarda değişiklik izlemeyi devre dışı bırakın.

< > containment_option ::=

Uygulanır: SQL Server (SQL Server 2012 (11.x) ile başlayarak)

Veritabanı kapsama seçeneklerini denetler.

KAPSAMA = { YOK | PARTIAL}

  • NONE

    Veritabanı, kapsanan bir veritabanı değildir.

  • PARTIAL

    Veritabanı, kapsanan bir veritabanıdır. Veritabanında çoğaltma, değişiklik verisi yakalama veya değişiklik izleme etkinse veritabanı kapsamasını kısmi olarak ayarlama işlemi başarısız olur. Hata denetimi bir hatadan sonra durur. Kapsanan veritabanları hakkında daha fazla bilgi için bkz. Kapsanan Veritabanları.

< > cursor_option ::=

İmleç seçeneklerini denetler.

CURSOR_CLOSE_ON_COMMIT { ON | KAPALI }

  • ON

    bir işlemi işlediğiniz veya geri aldığınızda açılan tüm imleçler kapatılır.

  • OFF

    bir işlem işlendiğinde imleçler açık kalır; bir işlemi geri döndürmek, DUYARSIZ veya STATIK olarak tanımlanan imleçler dışında tüm imleçleri kapatır.

SET deyimi kullanılarak ayarlanan bağlantı düzeyi ayarları, CURSOR_CLOSE_ON_COMMIT için varsayılan veritabanı ayarını geçersiz kılar. ODBC ve OLE DB istemcileri, oturum için varsayılan olarak OFF olarak CURSOR_CLOSE_ON_COMMIT bir bağlantı düzeyi SET deyimi ayarı gönderir. SQL Server örneğine bağlandığınızda istemciler deyimini çalıştırır. Daha fazla bilgi için bkz. SET CURSOR_CLOSE_ON_COMMIT.

Bu seçeneğin durumunu is_cursor_close_on_commit_on katalog görünümündeki sütunu veya IsCloseCursorsOnCommitEnabled fonksiyonunun özelliğini inceleyerek belirleyebilirsiniz.

CURSOR_DEFAULT { YEREL | GLOBAL }

Şunlar için geçerlidir: SQL Server

İmleç kapsamının LOCAL veya GLOBAL kullanıp kullanmadığını denetler.

  • LOCAL

    YEREL'i belirttiğinizde ve imleci genel olarak tanımlamadığınızda, imlecin kapsamı yereldir. Özellikle, kapsam imleci oluşturduğunuz toplu iş, saklı yordam veya tetikleyici için yereldir. İmleç adı yalnızca bu kapsamda geçerlidir.

    toplu iş, saklı yordam veya tetikleyicideki yerel imleç değişkenleri ya da bir saklı yordam OUTPUT parametresi tarafından imleç başvurulabilir. Toplu işlem, saklı yordam veya tetikleyici sona erdiğinde imleç örtük olarak serbest bırakılır. bir OUTPUT parametresinde geri geçirilmediği sürece imleç serbest bırakılır. İmleç output parametresinde geri geçirilebilir. İmleç bu şekilde geri geçerse, imlece başvuran son değişken serbest bırakıldığında veya kapsam dışına çıktığında imleç serbest bırakılır.

  • GLOBAL

    GENEL belirtildiğinde ve bir imleç oluşturulduğunda YEREL olarak tanımlanmadığında, imlecin kapsamı bağlantı için geneldir. İmleç adına, bağlantı tarafından yürütülen herhangi bir saklı yordamda veya toplu işlemde başvurulabilir.

    İmleç örtük olarak yalnızca bağlantı kesildiğinde serbest bırakılır. Daha fazla bilgi için bkz. DECLARE CURSOR.

Bu seçeneğin durumunu is_local_cursor_default katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsLocalCursorsDefault fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

< > temporal_history_retention ::=

TEMPORAL_HISTORY_RETENTION { ON | KAPALI }

Varsayılan olarak AÇILDI, ancak belirli bir noktaya geri yükleme işleminden sonra otomatik olarak KAPALI olarak ayarlanır. Bu ayarı etkinleştirme hakkında daha fazla bilgi için bkz. Bekletme ilkesini yapılandırma.

  • ON

    Default. Zamansal tablo bekletme ilkesini etkinleştirir. Daha fazla bilgi için bkz. sistem tabanlı zamana bağlı tablolarda geçmiş verilerin elde tutulmasını yönetme.

  • OFF

    Zamana bağlı geçmiş saklama ilkesi gerçekleştirmeyin.

< > data_retention_policy ::=

Geçerlidir: Sadece Azure SQL Edge.

DATA_RETENTION { ON | KAPALI }

  • ON

    Veritabanında Veri Saklama ilkesi tabanlı temizlemeyi etkinleştirir.

  • OFF

    Veritabanında Veri Saklama ilkesi tabanlı temizlemeyi devre dışı bırakır.

<database_mirroring>

Şunlar için geçerlidir: SQL Server

Bağımsız değişken açıklamaları için bkz. ALTER DATABASE Database Mirroring.

< > date_correlation_optimization_option ::=

Şunlar için geçerlidir: SQL Server

date_correlation_optimization seçeneğini denetler.

DATE_CORRELATION_OPTIMIZATION { ON | KAPALI }

  • ON

    SQL Server, YABANCI ANAHTAR kısıtlaması veritabanındaki herhangi iki tabloyu bağlarken tabloların tarih ve zaman sütunlarına sahip olduğu korelasyon istatistiklerini tutar.

    Etkinleştirme, DATE_CORRELATION_OPTIMIZATIONgüvenilmez yedekleme geri yüklenirken saldırı alanı alanını artırır çünkü optimizer bu nesneleri yükseltilmiş ayrıcalıklarla çalıştırır.

  • OFF

    Bağıntı istatistikleri korunmaz.

DATE_CORRELATION_OPTIMIZATION ON olarak ayarlamak için ALTER DATABASE deyimini yürüten bağlantı dışında veritabanına etkin bağlantı olmaması gerekir. Daha sonra birden çok bağlantı desteklenir.

Bu seçeneğin mevcut ayarı, is_date_correlation_on katalog görünümündeki sütunu inceleyerek belirlenebilir.

< > db_encryption_option ::=

Veritabanı şifreleme durumunu denetler.

ŞIFRELEME { ON | KAPALI | ASKıYA ALMA | RESUME }

  • ON

    Veritabanını şifrelenecek şekilde ayarlar.

  • OFF

    Veritabanını şifrelenmemesi için ayarlar.

  • SUSPEND

    Uygulanır: SQL Server (SQL Server 2019 (15.x) ile başlayarak)

    Saydam veri şifrelemesi etkinleştirildikten veya devre dışı bırakıldıktan veya şifreleme anahtarı değiştirildikten sonra şifreleme taramasını duraklatmak için kullanılabilir.

  • RESUME

    Uygulanır: SQL Server (SQL Server 2019 (15.x) ile başlayarak)

    Önceden duraklatılmış bir şifreleme taramasını sürdürmek için kullanılabilir.

Veritabanı şifrelemesi hakkında daha fazla bilgi için bkz. Saydam veri şifrelemesi (TDE)ve Azure SQL Veritabanı, Azure SQL Yönetilen Örneği ve Azure Synapse Analyticsiçin saydam veri şifrelemesi.

Şifreleme veritabanı düzeyinde etkinleştirildiğinde, tüm dosya grupları şifrelenir. Tüm yeni dosya grupları şifrelenmiş özelliği devralır. Veritabanındaki herhangi bir dosya grubu SALT OKUNUR olarak ayarlanırsa, veritabanı şifreleme işlemi başarısız olur.

Veritabanının şifreleme durumunu ve şifreleme taramasının durumunu sys.dm_database_encryption_keys dinamik yönetim görünümünü kullanarak görebilirsiniz.

< > db_state_option ::=

Şunlar için geçerlidir: SQL Server

Veritabanının durumunu denetler.

  • OFFLINE

    Veritabanı kapatılır, temiz bir şekilde kapatılır ve çevrimdışı olarak işaretlenir. Veritabanı çevrimdışıyken değiştirilemez.

  • ONLINE

    Veritabanı açık ve kullanılabilir.

  • EMERGENCY

    Veritabanı READ_ONLY olarak işaretlenir, günlük devre dışı bırakılır ve erişim sysadmin sabit sunucu rolünün üyeleriyle sınırlıdır. ACIL DURUM öncelikli olarak sorun giderme amacıyla kullanılır. Örneğin, bozuk bir günlük dosyası nedeniyle şüpheli olarak işaretlenen bir veritabanı EMERGENCY durumuna ayarlanabilir. Bu ayar, sistem yöneticisinin veritabanına salt okunur erişimini etkinleştirebilir. Veritabanını yalnızca sysadmin sabit sunucu rolünün üyeleri EMERGENCY durumuna ayarlayabilir.

Bir veritabanını çevrimdışı veya acil durum durumuna değiştirmek için konu veritabanı için ALTER DATABASE izni gerekir ve sunucu düzeyi, veritabanını çevrimdışından çevrimiçine taşıma izni ALTER ANY DATABASE.

Bu seçeneğin durumunu state katalog görünümündeki ve state_desc sütunlarını inceleyerek belirleyebilirsiniz. Ayrıca Status fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz. Daha fazla bilgi için bkz . Veritabanı Durumları.

GERI YÜKLEME olarak işaretlenen bir veritabanı ÇEVRİmİÇİ, ÇEVRİmİÇİ veya ACIL DURUM olarak ayarlanamaz. Veritabanı, etkin bir geri yükleme işlemi sırasında veya veritabanının veya günlük dosyasının geri yükleme işlemi bozuk bir yedekleme dosyası nedeniyle başarısız olduğunda GERI YÜKLEME durumunda olabilir.

< > db_update_option ::=

Veritabanında güncelleştirmelere izin verilip verilmeyeceğini denetler.

  • READ_ONLY

    Kullanıcılar veritabanındaki verileri okuyabilir ancak değiştiremez.

    Note

    Sorgu performansını geliştirmek için veritabanını READ_ONLY olarak ayarlamadan önce istatistikleri güncelleştirin. Veritabanı READ_ONLY olarak ayarlandıktan sonra ek istatistikler gerekiyorsa, Veritabanı Altyapısı tempdb sistem veritabanında istatistikler oluşturur. Sadece okunabilir bir veritabanı için istatistik hakkında daha fazla bilgi için İstatistikler sayfasına bakınız.

  • READ_WRITE

    Veritabanı okuma ve yazma işlemleri için kullanılabilir.

Bu durumu değiştirmek için veritabanına özel erişime sahip olmanız gerekir. Daha fazla bilgi için SINGLE_USER yan tümcesine bakın.

Note

Azure SQL Veritabanı federasyon veritabanlarında SET { READ_ONLY | READ_WRITE } devre dışı bırakılır.

< > db_user_access_option ::=

Veritabanına kullanıcı erişimini denetler.

SINGLE_USER

Şunlar için geçerlidir: SQL Server

Veritabanına aynı anda yalnızca bir kullanıcının erişebileceğini belirtir. SINGLE_USER belirtirseniz ve başka bir kullanıcı veritabanına bağlanırsa, tüm kullanıcılar belirtilen veritabanıyla bağlantıyı kesene kadar ALTER DATABASE deyimi engellenir. Bu davranışı geçersiz kılmak için WITH <sonlandırma> yan tümcesine bakın.

Seçeneği ayarlayan kullanıcı oturumu kapatsa bile veritabanı SINGLE_USER modunda kalır. Bu noktada, veritabanına farklı bir kullanıcı ancak yalnızca bir kullanıcı bağlanabilir.

Veritabanını SINGLE_USER olarak ayarlamadan önce AUTO_UPDATE_STATISTICS_ASYNC seçeneğinin KAPALI olarak ayarlandığını doğrulayın. ON olarak ayarlandığında, istatistikleri güncelleştirmek için kullanılan arka plan iş parçacığı veritabanına karşı bir bağlantı alır ve veritabanına tek kullanıcı modunda erişemezsiniz. Bu seçeneğin durumunu görmek için is_auto_update_stats_async_on katalog görünümünde sütunu sorgulayın. Seçenek ON olarak ayarlandıysa aşağıdaki görevleri gerçekleştirin:

  1. AUTO_UPDATE_STATISTICS_ASYNC KAPALI olarak ayarlayın.

  2. Aktif asenkron istatistik işleri için sys.dm_exec_background_job_queue dinamik yönetim görünümünü sorgulayarak kontrol edin.

Etkin işler varsa, işlerin tamamlanmasına izin verin veya KILL STATS JOBkullanarak bunları el ile sonlandırın.

RESTRICTED_USER

Veritabanına bağlanmak için yalnızca db_owner sabit veritabanı rolünün üyelerine ve dbcreator ve sysadmin sabit sunucu rollerine izin verir. RESTRICTED_USER sayısını sınırlamaz. ALTER DATABASE deyiminin sonlandırma yan tümcesi tarafından belirtilen zaman çerçevesini kullanarak veritabanıyla tüm bağlantıların bağlantısını kesin. Veritabanı RESTRICTED_USER durumuna geçtikten sonra, nitelenmemiş kullanıcıların bağlantı girişimleri reddedilir.

MULTI_USER

Veritabanına bağlanmak için uygun izinlere sahip tüm kullanıcılara izin verilir. Bu seçeneğin durumunu user_access katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca UserAccess fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

< > delayed_durability_option ::=

Uygulanır: SQL Server (SQL Server 2014 (12.x)'den başlayarak)

İşlemlerin tamamen dayanıklı mı yoksa gecikmeli dayanıklı mı işlediğini denetler.

  • DISABLED

    SET DISABLED izleyen tüm işlemler tamamen dayanıklıdır. Atomik blokta veya işleme deyiminde ayarlanan tüm dayanıklılık seçenekleri yoksayılır.

  • ALLOWED

    SET ALLOWED izleyen tüm işlemler, atomik blokta veya işleme deyiminde ayarlanan dayanıklılık seçeneğine bağlı olarak tamamen dayanıklı veya gecikmeli dayanıklıdır.

  • FORCED

    SET FORCED izleyen tüm işlemler gecikmeli dayanıklıdır. Atomik blokta veya işleme deyiminde ayarlanan tüm dayanıklılık seçenekleri yoksayılır.

< > external_access_option ::=

Şunlar için geçerlidir: SQL Server

Veritabanına başka bir veritabanındaki nesneler gibi dış kaynaklar tarafından erişilip erişilemeyeceğini denetler.

DB_CHAINING { ON | KAPALI }

  • ON

    Veritabanı, veritabanları arası sahiplik zincirinin kaynağı veya hedefi olabilir.

  • OFF

    Veritabanı, veritabanları arası sahiplik zincirine katılamaz.

Important

VERITABANı sahipliği arasında zincirleme sunucusu seçeneği 0 (KAPALI) olduğunda SQL Server örneği bu ayarı tanır. Veritabanları arası sahiplik zinciri 1 (ON) olduğunda, tüm kullanıcı veritabanları bu seçeneğin değerinden bağımsız olarak veritabanları arası sahiplik zincirlerine katılabilir. Bu seçenek sp_configurekullanılarak ayarlanır.

Bu seçeneği ayarlamak için veritabanında CONTROL SERVER izni gerekir.

DB_CHAINING seçeneği master, modelve tempdb sistem veritabanlarında ayarlanamaz.

Bu seçeneğin durumunu is_db_chaining_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz.

TRUSTWORTHY { ON | KAPALI }

  • ON

    Kimliğe bürünme bağlamı kullanan veritabanı modülleri (örneğin, kullanıcı tanımlı işlevler veya saklı yordamlar), veritabanı dışındaki kaynaklara erişebilir.

  • OFF

    Kimliğe bürünme bağlamındaki veritabanı modülleri, veritabanının dışındaki kaynaklara erişemez.

    TRUSTWORTHY, veritabanı her eklendiğinde KAPALI olarak ayarlanır.

Varsayılan olarak, msdb veritabanı dışındaki tüm sistem veritabanlarıNDA TRUSTWORTHY ayarı KAPALI olarak ayarlanmıştır. model ve tempdb veritabanları için değer değiştirilemez. master veritabanı için GÜVENİlİR seçeneğini asla AÇI olarak ayarlamamanızı öneririz.

Bu seçeneği ayarlamak için veritabanında CONTROL SERVER izni gerekir.

Bu seçeneğin durumunu is_trustworthy_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz.

DEFAULT_FULLTEXT_LANGUAGE

Uygulanır: SQL Server (SQL Server 2012 (11.x) ile başlayarak)

Tam metin dizinli sütunlar için varsayılan dil değerini belirtir.

Important

Bu seçenek yalnızca CONTAINMENT PARTIAL olarak ayarlandığında izin verir. CONTAINMENT NONE olarak ayarlanırsa hatalar oluşur.

DEFAULT_LANGUAGE

Uygulanır: SQL Server (SQL Server 2012 (11.x) ile başlayarak)

Yeni oluşturulan tüm oturum açma işlemleri için varsayılan dili belirtir. Dil, yerel kimlik (lcid), dil adı veya dil diğer adı sağlanarak belirtilebilir. Kabul edilebilir dil isimleri ve takma adları listesi için bkz. sys.syslanguages. Bu seçenek yalnızca CONTAINMENT PARTIAL olarak ayarlandığında izin verir. CONTAINMENT NONE olarak ayarlanırsa hatalar oluşur.

NESTED_TRIGGERS

Uygulanır: SQL Server (SQL Server 2012 (11.x) ile başlayarak)

AFTER tetikleyicisinin art arda bulunup bulunamayacağını belirtir; diğer bir ifadeyle başka bir tetikleyici başlatan ve başka bir tetikleyici başlatan bir eylem gerçekleştirin. Bu seçenek yalnızca CONTAINMENT PARTIAL olarak ayarlandığında izin verir. CONTAINMENT NONE olarak ayarlanırsa hatalar oluşur.

TRANSFORM_NOISE_WORDS

Uygulanır: SQL Server (SQL Server 2012 (11.x) ile başlayarak)

Bir tam metin sorgusundaki boole işleminin başarısız olmasına neden olan kirli sözcükler veya stopword'ler hata iletisini bastırmak için kullanılır. Bu seçenek yalnızca CONTAINMENT PARTIAL olarak ayarlandığında izin verir. CONTAINMENT NONE olarak ayarlanırsa hatalar oluşur.

TWO_DIGIT_YEAR_CUTOFF

Uygulanır: SQL Server (SQL Server 2012 (11.x) ile başlayarak)

İki basamaklı yılların dört basamaklı yıl olarak yorumlanması için kesme yılını temsil eden 1753 ile 9999 arasında bir tamsayı belirtir. Bu seçenek yalnızca CONTAINMENT PARTIAL olarak ayarlandığında izin verir. CONTAINMENT NONE olarak ayarlanırsa hatalar oluşur.

< > FILESTREAM_option ::=

Uygulanır: SQL Server (SQL Server 2012 (11.x) ile başlayarak)

FileTable'ların ayarlarını denetler.

NON_TRANSACTED_ACCESS = { KAPALI | READ_ONLY | FULL }

  • OFF

    FileTable verilerine işlem dışı erişim devre dışı bırakıldı.

  • READ_ONLY

    Bu veritabanındaki FileTable'lardaki FILESTREAM verileri işlem dışı işlemler tarafından okunabilir.

  • FULL

    FileTable'larda FILESTREAM verilerine tam, işlem dışı erişimi etkinleştirir.

DIRECTORY_NAME = <directory_name>

Windows uyumlu bir dizin adı. Bu ad, SQL Server örneğindeki tüm veritabanı düzeyindeki dizin adları arasında benzersiz olmalıdır. Harmanlama ayarlarından bağımsız olarak benzersizlik karşılaştırması büyük/küçük harfe duyarlı değildir. Bu seçenek, bu veritabanında bir FileTable oluşturulmadan önce ayarlanmalıdır.

< > HADR_options ::=

Şunlar için geçerlidir: SQL Server

bkz. ALTER DATABASE SET HADR.

< > mixed_page_allocation_option ::=

Uygulanır: SQL Server (SQL Server 2016 (13.x)'dan başlayarak)

Veritabanının bir tablonun veya dizinin ilk sekiz sayfası için karışık bir kapsam kullanarak ilk sayfalar oluşturup oluşturamayacağını denetler.

MIXED_PAGE_ALLOCATION { KAPALI | ON }

  • OFF

    Veritabanı her zaman tekdüzen kapsamları kullanarak ilk sayfalar oluşturur. OFF varsayılan değerdir.

  • ON

    Veritabanı, karma kapsamları kullanarak ilk sayfalar oluşturabilir.

Bu ayar, her zaman KAPALI olduğu tempdb dışında tüm sistem veritabanları için her zaman AÇıK olur. Sistem veritabanları için ayar değiştirilemez.

< > PARAMETERIZATION_option ::=

Parametreleştirme seçeneğini denetler. Parametreleştirme hakkında daha fazla bilgi için bkz. Sorgu İşleme Mimarisi Kılavuzu.

PARAMETRELEŞTIRME { SIMPLE | FORCED }

  • SIMPLE

    Sorgular, veritabanının varsayılan davranışına göre parametreleştirilir.

  • FORCED

    SQL Server, veritabanındaki tüm sorguları parametreleştirir.

Bu seçeneğin mevcut ayarı, is_parameterization_forced katalog görünümündeki sütunu inceleyerek belirlenebilir.

< > query_store_options ::=

Uygulanır: SQL Server (SQL Server 2016 (13.x)'dan başlayarak)

ON | KAPALI [ ( ZORLAMALı ) ] | CLEAR [ ALL ]

Bu veritabanında Sorgu Deposu'nun etkinleştirilip etkinleştirilmediğini denetler ve ayrıca Sorgu Deposu'nun içeriğini kaldırmayı denetler. Daha fazla bilgi için bkz. Sorgu Deposu Kullanım Senaryoları.

  • ON

    Sorgu Deposu'na olanak tanır.

    Sorgu Deposu ipuçları, CE Geri Bildirimi, Paralellik Derecesi (DOP) geri bildirimi ve Bellek Verme geri bildirimi (MGF) kalıcılığı gibi SQL Server 2022'nin (16.x) birçok yeni performans özelliği Sorgu Deposu'nun etkinleştirilmesini gerektiriyor. Diğer SQL Server örneklerinden geri yüklenen veritabanları ve SQL Server 2022 'ye (16.x) yerinde yükseltmeden yükseltilen veritabanları için, bu veritabanları önceki Sorgu Deposu ayarlarını korur. Sorgu Deposu'na neden olabilecek ek yüklerle ilgili endişeler varsa, yöneticiler ile özel yakalama ilkelerinden yararlanabilir. Özel yakalama politikası seçenekleriyle Sorgu Mağazasının nasıl etkinleştirileceğine dair örnekler için, bu makalenin ilerleyen bölümlerinde Örnekler bölümüne bakınız.

  • KAPALI [ ( ZORLAMALı ) ]

    Sorgu Deposu'nı devre dışı bırakır. FORCED isteğe bağlıdır. FORCED, çalışan tüm Sorgu Deposu arka plan görevlerini durdurur ve Sorgu Deposu kapatıldığında zaman uyumlu temizlemeyi atlar. Sorgu Deposu'un mümkün olan en hızlı şekilde kapanmasına neden olur. FORCED, SQL Server 2016 (13.x) SP2 CU14, SQL Server 2017 (14.x) CU21, SQL Server 2019 (15.x) CU6 ve sonraki derlemeler için geçerlidir.

    Note

    Azure SQL Veritabanı'nda Sorgu Deposu devre dışı bırakılamaz. ALTER DATABASE [database] SET QUERY_STORE = OFF yürütülürken 'QUERY_STORE=OFF' is not supported in this version of SQL Server.uyarısını döndürür.

  • TEMIZ [ HEPSİ ]

    Sorguyla ilgili verileri Sorgu Deposu'ndan kaldırır. ALL isteğe bağlıdır. ALL, sorguyla ilgili verileri ve meta verileri Sorgu Deposu'ndan kaldırır.

OPERATION_MODE { READ_ONLY | READ_WRITE }

Sorgu Deposu'nun işlem modunu açıklar.

READ_WRITE

Sorgu Deposu, sorgu planı ve çalışma zamanı yürütme istatistikleri bilgilerini toplar ve kalıcı hale toplar.

READ_ONLY

Bilgiler Sorgu Deposu'ndan okunabilir, ancak yeni bilgiler eklenmez. Sorgu Deposu'nun verilen en fazla alanı tükendiyse, Sorgu Deposu işlem modunu READ_ONLY olarak değiştirir.

CLEANUP_POLICY

Sorgu Deposu'nun veri saklama ilkesini açıklar. STALE_QUERY_THRESHOLD_DAYS, sorgu bilgilerinin Sorgu Deposu'nda tutulduğu gün sayısını belirler. STALE_QUERY_THRESHOLD_DAYS büyük tip. Varsayılan değer 30'dur.

DATA_FLUSH_INTERVAL_SECONDS

Sorgu Deposu'na yazılan verilerin diskte kalıcı olduğu sıklığı belirler. Performansı iyileştirmek için Sorgu Deposu tarafından toplanan veriler zaman uyumsuz olarak diske yazılır. Bu zaman uyumsuz aktarımın gerçekleşme sıklığı, DATA_FLUSH_INTERVAL_SECONDS bağımsız değişkeni kullanılarak yapılandırılır. DATA_FLUSH_INTERVAL_SECONDS büyük tip. Varsayılan değer 900 (15 dakika).

MAX_STORAGE_SIZE_MB

Sorgu Deposu'na verilen alanı belirler. MAX_STORAGE_SIZE_MB büyük tip. SQL Server için varsayılan değer 100 MB'dir (SQL Server 2016 (13.x)'den SQL Server 2017'ye (14.x)). SQL Server 2019 (15.x) ile başlayarak varsayılan değer 1000 MB'dir.

MAX_STORAGE_SIZE_MB sınırı kesinlikle uygulanmaz. Depolama boyutu yalnızca Sorgu Deposu diske veri yazdığında denetlenmektedir. Bu aralık, veri temizleme aralığı seçeneği veya Management Studio Sorgu Deposu iletişim kutusu seçeneği tarafından ayarlanır. Aralık varsayılan değeri 900 saniyedir (veya 15 dakika).

Sorgu Deposu depolama boyutu denetimleri arasındaki MAX_STORAGE_SIZE_MB sınırını aştıysa salt okunur moda geçer. SIZE_BASED_CLEANUP_MODE etkinleştirilirse, MAX_STORAGE_SIZE_MB sınırını zorlamak için temizleme mekanizması da tetikler.

Yeterli alan temizlendikten sonra Sorgu Deposu modu otomatik olarak yeniden okuma-yazma moduna geçer.

Important

İş yükünüzü yakalamanızın 10 GB'dan fazla disk alanına ihtiyacı olduğunu düşünüyorsanız, muhtemelen iş yükünüzü sorgu planlarını yeniden kullanmak için optimize etmelisiniz (örneğin zorunlu parametreleştirme kullanmak veya Sorgu Mağazası yapılandırmalarını ayarlamak). SQL Server 2019'dan (15.x) başlayarak ve Azure SQL Veritabanı'nda sorgu yakalama ilkesi üzerinde ek denetim için QUERY_CAPTURE_MODE CUSTOM olarak ayarlayabilirsiniz.

INTERVAL_LENGTH_MINUTES

Çalışma zamanı yürütme istatistikleri verilerinin Sorgu Deposu'nda toplandığı zaman aralığını belirler. Alan kullanımını iyileştirmek için, çalışma zamanı istatistikleri deposundaki çalışma zamanı yürütme istatistikleri sabit bir zaman aralığı boyunca toplanır. Bu sabit zaman penceresi INTERVAL_LENGTH_MINUTES bağımsız değişkeni kullanılarak yapılandırılır. INTERVAL_LENGTH_MINUTES büyük tip. Varsayılan değer 60'tır.

SIZE_BASED_CLEANUP_MODE { AUTO | KAPALI }

Toplam veri miktarı maksimum boyuta yaklaştığında temizlemenin otomatik olarak etkinleştirilip etkinleştirilmediğini denetler.

  • AUTO

    Boyut bazlı temizleme, disk boyutu 90 % MAX_STORAGE_SIZE_MB'ye ulaştığında otomatik olarak aktive olur. Boyut tabanlı temizleme, önce en düşük maliyetli ve en eski sorguları kaldırır. Yaklaşık 80% MAX_STORAGE_SIZE_MB noktasında durur. Bu değer varsayılan yapılandırma değeridir.

  • OFF

    Boyut tabanlı temizleme otomatik olarak etkinleştirilmez.

SIZE_BASED_CLEANUP_MODE nvarchar tipidir.

QUERY_CAPTURE_MODE { ALL | OTOMATİk | ÖZEL | NONE }

Şu anda etkin olan sorgu yakalama modunu atar. Her mod belirli sorgu yakalama ilkelerini tanımlar. QUERY_CAPTURE_MODE nvarchar tipidir.

Note

sorgu yakalama modu ALL, AUTO veya CUSTOM olarak ayarlandığında imleçler, Saklı Yordamlar içindeki sorgular ve Yerel olarak derlenmiş sorgular her zaman yakalanır.

  • ALL

    Tüm sorguları yakalar. ALL , SQL Server (SQL Server 2016 (13.x)'den SQL Server 2017'ye (14.x)) kadar varsayılan yapılandırma değeridir.

  • AUTO

    Yürütme sayısına ve kaynak tüketimine göre ilgili sorguları yakalayın. Bu, SQL Server (SQL Server 2019 (15.x) ile başlayarak) ve Azure SQL Veritabanı için varsayılan yapılandırma değeridir.

  • NONE

    Yeni sorguları yakalamayı durdurun. Sorgu Deposu, zaten yakalanan sorgular için derleme ve çalışma zamanı istatistiklerini toplamaya devam eder. Önemli sorguları yakalamayı kaçırabileceğiniz için bu yapılandırmayı dikkatli kullanın.

  • CUSTOM

    Uygulanır: SQL Server (SQL Server 2019 (15.x) ile başlayarak)

    QUERY_CAPTURE_POLICY seçenekler üzerinde kontrol sağlar. Özel yakalama ilkeleri, sorgu deposunun iş yükünüzdeki en önemli sorguları yakalamasına yardımcı olabilir. Özelleştirilebilir seçenekler için <query_capture_policy_option_list> bakın.

MAX_PLANS_PER_QUERY

Her sorgu için tutulan plan sayısı üst sınırını tanımlar. MAX_PLANS_PER_QUERY tür int. Varsayılan değer 200'dür.

WAIT_STATS_CAPTURE_MODE { ON | KAPALI }

Uygulanır: SQL Server (SQL Server 2017 (14.x))) ile başlayarak)

Sorgu başına bekleme istatistiklerinin yakalanıp yakalanmayacağını denetler.

  • ON

    Sorgu başına bekleme istatistikleri bilgileri yakalanır. Bu değer varsayılan yapılandırma değeridir.

  • OFF

    Sorgu başına bekleme istatistikleri bilgileri yakalanmaz.

< > query_capture_policy_option_list :: =

Uygulanır: SQL Server (SQL Server 2019 (15.x) ile başlayarak)

Sorgu Mağazası yakalama politikası seçeneklerini kontrol eder. STALE_CAPTURE_POLICY_THRESHOLD dışında, bu seçenekler sorguların tanımlanan Eski Yakalama İlkesi Eşiği değerinde yakalanması için gerçekleşmesi gereken OR koşullarını tanımlar.

SQL Server 2019 (15.x) ile başlayarak, aşağıdaki eşiklerden herhangi birine basıldığında QUERY_CAPTURE_MODE = AUTO ayarı Sorgu Deposu ayrıntılarını yakalar:

  • EXECUTION_COUNT = 30 yürütme = yürütme sayısı
  • TOTAL_COMPILE_CPU_TIME_MS = 1 saniye = milisaniye cinsinden derleme süresi
  • TOTAL_EXECUTION_CPU_TIME_MS = 100 ms = milisaniye cinsinden yürütme CPU süresi

Örneğin:

EXECUTION_COUNT = 30,
TOTAL_COMPILE_CPU_TIME_MS = 1000,
TOTAL_EXECUTION_CPU_TIME_MS = 100

bu seçenekleri QUERY_CAPTURE_MODE = CUSTOMile özelleştirebilirsiniz:

  • STALE_CAPTURE_POLICY_THRESHOLD = tam sayı { GÜNLER | SAATLER }

    Bir sorgunun yakalanması gerekip gerekmediğini belirlemek için değerlendirme aralığını tanımlar. Varsayılan değer 1 gündür ve 1 saatten yedi güne ayarlanabilir.

  • EXECUTION_COUNT = tam sayı

    Bir sorgunun değerlendirme süresi boyunca yürütülme sayısını tanımlar. Varsayılan değer 30'dur. Bu, varsayılan Eski Yakalama İlkesi Eşiği için sorgunun Sorgu Deposu'nda kalıcı olması için bir günde en az 30 kez yürütülmesi gerektiği anlamına gelir. EXECUTION_COUNT tür int.

  • TOTAL_COMPILE_CPU_TIME_MS = tam sayı

    Değerlendirme süresi boyunca sorgu tarafından kullanılan toplam derleme CPU süresini tanımlar. Varsayılan değer 1000'dir ve bu da varsayılan Eski Yakalama İlkesi Eşiği için sorgunun Sorgu Deposu'nda kalıcı olması için sorgu derlemesi sırasında harcanan cpu süresinin bir gün içinde toplam en az bir saniye olması gerektiği anlamına gelir. TOTAL_COMPILE_CPU_TIME_MS tür int.

  • TOTAL_EXECUTION_CPU_TIME_MS = tam sayı

    Değerlendirme süresi boyunca sorgu tarafından kullanılan toplam yürütme CPU süresini tanımlar. Varsayılan değer 100'dür. Bu, varsayılan Eski Yakalama İlkesi Eşiği için sorgunun Sorgu Deposu'nda kalıcı olması için bir günde yürütme sırasında harcanan toplam CPU süresi en az 100 ms olması gerektiği anlamına gelir. TOTAL_EXECUTION_CPU_TIME_MS tür int.

< > recovery_option ::=

Şunlar için geçerlidir: SQL Server

Veritabanı kurtarma seçeneklerini ve disk G/Ç hata denetimini denetler.

  • FULL

    İşlem günlüğü yedeklemelerini kullanarak medya hatasından sonra tam kurtarma sağlar. Bir veri dosyası zarar görürse, medya kurtarma tüm kaydedilmiş işlemleri geri yükleyebilir. Daha fazla bilgi için Recovery modelleri sayfasına bakınız.

  • BULK_LOGGED

    Medya hatasından sonra kurtarma sağlar. Belirli büyük ölçekli veya toplu işlemler için en iyi performansı ve en az miktarda günlük alanı kullanımını birleştirir. En az günlüğe kaydedilebilecek işlemler hakkında bilgi için bkz. İşlem günlüğü. BULK_LOGGED kurtarma modeli altında, bu işlemlerin günlüğe kaydedilmesi çok azdır. Daha fazla bilgi için Recovery modelleri sayfasına bakınız.

  • SIMPLE

    En az günlük alanı kullanan basit bir yedekleme stratejisi sağlanır. Günlük alanı, sunucu hatası kurtarma için artık gerekli olmadığında otomatik olarak yeniden kullanılabilir. Daha fazla bilgi için Recovery modelleri sayfasına bakınız.

    Important

    Basit kurtarma modelinin yönetilmesi diğer iki modele göre daha kolaydır, ancak bir veri dosyası zarar görürse daha fazla veri kaybına maruz kalma pahasına. En son veritabanı veya değişiklik veritabanı yedeğinden bu yana yapılan tüm değişiklikler kaybolur ve el ile yeniden giriş yapılması gerekir.

Varsayılan kurtarma modeli, model sistem veritabanının kurtarma modeli tarafından belirlenir. Uygun kurtarma modelini seçme hakkında daha fazla bilgi için Recovery modelleri sayfasına bakınız.

Bu seçeneğin durumunu recovery_model katalog görünümündeki ve recovery_model_desc sütunlarını inceleyerek belirleyebilirsiniz. Ayrıca Recovery fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

TORN_PAGE_DETECTION { ON | KAPALI }

  • ON

    Tamamlanmamış sayfalar Veritabanı Altyapısı tarafından algılanabilir.

  • OFF

    Tamamlanmamış sayfalar Veritabanı Altyapısı tarafından algılanamaz.

Important

Söz dizimi yapısı ON | TORN_PAGE_DETECTION OFF, SQL Server'ın gelecekteki bir sürümünde kaldırılacaktır. Yeni geliştirme çalışmalarında bu söz dizimi yapısını kullanmaktan kaçının ve söz dizimi yapısını kullanan uygulamaları değiştirmeyi planlayın. Bunun yerine PAGE_VERIFY seçeneğini kullanın.

PAGE_VERIFY { SAĞLAMA TOPLAMı | TORN_PAGE_DETECTION | NONE }

Disk G/Ç yolu hatalarından kaynaklanan bozuk veritabanı sayfalarını bulur. Veritabanı bozulması sorunlarının nedeni disk G/Ç yolu hataları olabilir. Bu hatalar genellikle sayfa diske yazılırken oluşan güç kesintilerinden veya disk donanım hatalarından kaynaklanır.

  • CHECKSUM

    Sayfanın tamamında bir sağlama toplamı hesaplar ve diske bir sayfa yazıldığında değeri sayfa üst bilgisinde depolar. Sayfa diskten okunduğunda sağlama toplamı yeniden derlenir ve sayfa üst bilgisinde depolanan sağlama toplamı değeriyle karşılaştırılır. Değerler eşleşmiyorsa, hata iletisi 824 (sağlama toplamı hatasını gösterir) hem SQL Server hata günlüğüne hem de Windows olay günlüğüne bildirilir. Sağlama toplamı hatası G/Ç yolu sorununu gösterir. Kök nedeni belirlemek için donanım, üretici yazılımı sürücüleri, BIOS, filtre sürücüleri (virüs yazılımı gibi) ve diğer G/Ç yolu bileşenlerinin araştırılması gerekir.

  • TORN_PAGE_DETECTION

    8 kilobaytlık (KB) veritabanı sayfasında her 512 baytlık kesim için belirli bir 2 bitlik desen kaydeder ve sayfa diske yazıldığında veritabanı sayfası üst bilgisinde depolanır. Sayfa diskten okunduğunda, sayfa üst bilgisinde depolanan kopmuş bitler gerçek sayfa kesimi bilgileriyle karşılaştırılır.

    Eşleşmeyen değerler, sayfanın yalnızca bir bölümünün diske yazıldığını gösterir. Bu durumda, hata iletisi 824 (bozuk sayfa hatasını gösterir) hem SQL Server hata günlüğüne hem de Windows olay günlüğüne bildirilir. Sayfa gerçekten tamamlanmamış bir yazma işlemiyse, yırtılmış sayfalar genellikle veritabanı kurtarma tarafından algılanır. Ancak, diğer G/Ç yolu hataları herhangi bir zamanda sayfayı yırtmasına neden olabilir.

  • NONE

    Veritabanı sayfası yazma işlemleri CHECKSUM veya TORN_PAGE_DETECTION değeri oluşturmaz. SQL Server, sayfa üst bilgisinde CHECKSUM veya TORN_PAGE_DETECTION değeri olsa bile okuma sırasında sağlama toplamını veya bozuk sayfayı doğrulamaz.

PAGE_VERIFY seçeneğini kullanırken aşağıdaki önemli noktaları göz önünde bulundurun:

  • Varsayılan CHECKSUM.

  • Bir kullanıcı veya sistem veritabanı SQL Server 2005 (9.x) veya sonraki bir sürüme yükseltildiğinde, PAGE_VERIFY değeri (NONE veya TORN_PAGE_DETECTION) değiştirilmez. CHECKSUM olarak değiştirmenizi öneririz.

    Note

    SQL Server'ın önceki sürümlerinde, PAGE_VERIFY veritabanı seçeneği tempdb veritabanı için NONE olarak ayarlanmıştır ve değiştirilemez. SQL Server 2008 (10.0.x) ile başlayarak, tempdb veritabanının varsayılan değeri SQL Server'ın yeni yüklemeleri için CHECKSUM değeridir. Bir yükleme SQL Server'ı yükseltirken varsayılan değer NONE olarak kalır. Seçenek değiştirilebilir. tempdb veritabanı için CHECKSUM kullanmanızı öneririz.

  • TORN_PAGE_DETECTION daha az kaynak kullanabilir, ancak CHECKSUM korumasının en düşük alt kümesini sağlar.

  • PAGE_VERIFY, veritabanını çevrimdışına almadan, veritabanını kilitlemeden veya başka bir şekilde bu veritabanında eşzamanlılık engellenmeden ayarlanabilir.

  • CHECKSUM, TORN_PAGE_DETECTION için birbirini dışlar. Her iki seçenek de aynı anda etkinleştirilemiyor.

Bozuk bir sayfa veya sağlama toplamı hatası algılandığında, verileri geri yükleyerek veya hata yalnızca dizin sayfalarıyla sınırlıysa dizini yeniden oluşturarak kurtarabilirsiniz. Sağlama toplamı hatasıyla karşılaşırsanız, etkilenen veritabanı sayfasının veya sayfaların türünü belirlemek için DBCC CHECKDB'yi çalıştırın. Restore seçenekleri hakkında daha fazla bilgi için bkz. RESTORE Argümanları. Verilerin geri yüklenmesi veri bozulması sorununu çözse de, devam eden hataları önlemek için kök neden (örneğin, disk donanım hatası) en kısa sürede tanılanmalı ve düzeltilmelidir.

SQL Server sağlama toplamı, bozuk sayfa veya diğer G/Ç hatasıyla başarısız olan tüm okumaları dört kez yeniden denenir. Yeniden deneme girişimlerinden herhangi birinde okuma başarılı olursa hata günlüğüne bir ileti yazılır. Okuma işlemini tetikleyen komut devam eder. Yeniden deneme girişimleri başarısız olursa komut 824 hata iletisiyle başarısız olur.

823, 824 ve 825 hata iletileri hakkında daha fazla bilgi için bkz:

Bu seçeneğin mevcut ayarı, page_verify_option katalog görünümündeki sütunu veya IsTornPageDetectionEnabledDATABASEPROPERTYEX fonksiyonunun özelliğini inceleyerek belirlenebilir.

< > remote_data_archive_option ::=

Uygulanır: SQL Server (SQL Server 2016 (13.x)'dan başlayarak)

Veritabanı için Stretch Database'i etkinleştirir veya devre dışı bırakır. Daha fazla bilgi için bkz. Stretch Database.

Important

Stretch Database, SQL Server 2022 (16.x) ve Azure SQL Veritabanı'nda kullanım dışıdır. Bu özellik, Veritabanı Altyapısı'nın gelecekteki bir sürümünde kaldırılacaktır. Bu özelliği yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özelliği kullanan uygulamaları değiştirmeyi planlayın.

REMOTE_DATA_ARCHIVE = { ON ( SUNUCU = <server_name>, { CREDENTIAL = <db_scoped_credential_name> | FEDERATED_SERVICE_ACCOUNT = ON | OFF } ) | KAPALI

  • ON

    Veritabanı için Stretch Database'i etkinleştirir. Ek önkoşullar da dahil olmak üzere daha fazla bilgi için bkz.bir veritabanı için Stretch Database'i etkinleştirme .

    Bir tablo için Stretch Database'i etkinleştirmek için db_owner izin gerektirir. Bir veritabanı için Stretch Database'i etkinleştirmek için db_owner ve CONTROL DATABASE izinleri gerektirir.

    • SUNUCU = <server_name>

      Azure sunucusunun adresini belirtir. Adın .database.windows.net bölümünü ekleyin. Örneğin, MyStretchDatabaseServer.database.windows.net.

    • CREDENTIAL = <db_scoped_credential_name>

      SQL Server örneğinin Azure sunucusuna bağlanmak için kullandığı veritabanı kapsamlı kimlik bilgilerini belirtir. Bu komutu çalıştırmadan önce kimlik bilgilerinin mevcut olduğundan emin olun. Daha fazla bilgi için bkz. create DATABASE SCOPED CREDENTIAL.

    • FEDERATED_SERVICE_ACCOUNT = { ON | KAPALI }

      Aşağıdaki koşulların tümü doğru olduğunda uzak Azure sunucusuyla iletişim kurmak üzere şirket içi SQL Server için bir federasyon hizmet hesabı kullanabilirsiniz.

      • SQL Server örneğinin çalıştığı hizmet hesabı bir etki alanı hesabıdır.
      • Etki alanı hesabı, Active Directory'si Microsoft Entra Id ile federasyon olan bir etki alanına aittir.
      • Uzak Azure sunucusu, Microsoft Entra kimlik doğrulamasını destekleyecek şekilde yapılandırılmıştır.
      • SQL Server örneğinin çalıştığı hizmet hesabı, uzak Azure sunucusunda dbmanager veya sysadmin hesabı olarak yapılandırılmalıdır.

      Federasyon hizmet hesabının ON olduğunu belirtirseniz, CREDENTIAL bağımsız değişkenini de belirtemezsiniz. KAPALI seçeneğini belirtirseniz CREDENTIAL bağımsız değişkenini belirtin.

  • OFF

    Veritabanı için Stretch Database'i devre dışı bırakır. Daha fazla bilgi için bkz. Stretch Database'i devre dışı bırakma veuzak verileri geri getirme.

    Bir veritabanı için Stretch Database'i devre dışı bırakabilmeniz için, veritabanında artık Stretch Database için etkinleştirilmiş herhangi bir tablo olmaması gerekir. Stretch Database'i devre dışı bırakdıktan sonra veri geçişi durdurulur. Ayrıca, sorgu sonuçları artık uzak tablolardan gelen sonuçları içermez.

    Stretch Database'in devre dışı bırakılması uzak veritabanını kaldırmaz. Uzak veritabanını silmek için Azure portalını kullanarak bırakın.

PERSISTENT_LOG_BUFFER

için geçerlidir: SQL Server 2017 (14.x) ve üzeri.

Bu seçenek belirtildiğinde, işlem günlüğü arabelleği, kalıcı günlük arabelleği olarak da bilinen Depolama Sınıfı Belleği (NVDIMM-N geçici olmayan depolama) tarafından yedeklenen bir disk cihazında bulunan bir birimde oluşturulur. Daha fazla bilgi için bkz. Depolama Sınıfı Bellek kullanarak İşlem İşleme gecikmesi hızlandırmasını ve Veritabanıkalıcı günlük arabelleği ekleme.

< > service_broker_option ::=

Şunlar için geçerlidir: SQL Server

Aşağıdaki Hizmet Aracısı seçeneklerini denetler: İleti teslimini etkinleştirir veya devre dışı bırakır, yeni bir Hizmet Aracısı tanımlayıcısı ayarlar veya konuşma önceliklerini AÇLI veya KAPALI olarak ayarlar.

ENABLE_BROKER

Hizmet Aracısı'nın belirtilen veritabanı için etkinleştirildiğini belirtir. Mesaj teslimatı başlatılır ve is_broker_enabledsys.databases katalog görünümünde bayrak doğru olarak ayarlanır. Veritabanı mevcut Hizmet Aracısı tanımlayıcısını tutar. Veritabanı yansıtma yapılandırmasında sorumlu olduğunda hizmet aracısı etkinleştirilemiyor.

Note

ENABLE_BROKER özel veritabanı kilidi gerektirir. Diğer oturumlarda veritabanındaki kaynaklar kilitliyse, ENABLE_BROKER diğer oturumlar kilitlerini serbest bırakana kadar bekler. Kullanıcı veritabanında Hizmet Aracısı'nı etkinleştirmek için, veritabanını tek kullanıcı moduna almak gibi ALTER DATABASE SET ENABLE_BROKER deyimini çalıştırmadan önce veritabanını başka hiçbir oturumun kullanmadığından emin olun. msdb veritabanında Hizmet Aracısı'nı etkinleştirmek için, önce SQL Server Aracısı'nı durdurarak Hizmet Aracısı'nın gerekli kilidi alabilmesini sağlayın.

DISABLE_BROKER

Hizmet Aracısı'nın belirtilen veritabanı için devre dışı bırakıldığını belirtir. Mesaj teslimatı durdurulur ve is_broker_enabled katalog görünümünde bayrak false olarak ayarlanır. Veritabanı mevcut Hizmet Aracısı tanımlayıcısını tutar.

NEW_BROKER

Veritabanının yeni bir aracı tanımlayıcısı alması gerektiğini belirtir. Veritabanı yeni bir hizmet aracısı işlevi görür. Bu nedenle, veritabanındaki tüm mevcut konuşmalar, son iletişim kutusu iletileri üretilmeden hemen kaldırılır. Eski Hizmet Aracısı tanımlayıcıya başvuran tüm yollar yeni tanımlayıcıyla yeniden oluşturulmalıdır.

ERROR_BROKER_CONVERSATIONS

Hizmet Aracısı ileti teslimin etkinleştirildiğini belirtir. Bu ayar, veritabanı için mevcut Hizmet Aracısı tanımlayıcısını korur. Hizmet Aracısı veritabanındaki tüm konuşmaları bir hatayla sonlandırır. Bu ayar, uygulamaların mevcut konuşmalar için düzenli temizleme çalıştırmasına olanak tanır.

HONOR_BROKER_PRIORITY { ON | KAPALI }

  • ON

    Gönderme işlemleri, konuşmalara atanan öncelik düzeylerini dikkate alır. Yüksek öncelikli düzeylere sahip konuşmalardan gelen iletiler, düşük öncelikli düzeylere atanan konuşmalardan önce gönderilir.

  • OFF

    Gönderme işlemleri, tüm konuşmalar varsayılan öncelik düzeyine sahipmiş gibi çalışır.

HONOR_BROKER_PRIORITY seçeneğindeki değişiklikler, gönderilmeyi bekleyen iletileri olmayan yeni iletişim kutuları veya iletişim kutuları için hemen geçerli olur. ALTER DATABASE çalıştırıldığında gönderilecek iletileri içeren iletişim kutuları, iletişim kutusunun bazı iletileri gönderilene kadar yeni ayarı almaz. Tüm iletişim kutuları yeni ayarı kullanmaya başlamadan önce geçmesi gereken süre önemli ölçüde değişebilir.

Bu özelliğin mevcut ayarı is_broker_priority_honored katalog görünümündeki sütunda bildirilmektedir.

< > snapshot_option ::=

İşlem yalıtım düzeyini hesaplar.

ALLOW_SNAPSHOT_ISOLATION { ON | KAPALI }

  • ON

    Veritabanı düzeyinde Anlık Görüntü seçeneğini etkinleştirir. Etkinleştirildiğinde, hiçbir işlem Anlık Görüntü Yalıtımı kullanmasa bile DML deyimleri satır sürümleri oluşturmaya başlar. Bu seçenek etkinleştirildikten sonra işlemler SNAPSHOT işlem yalıtım düzeyini belirtebilir. Bir işlem SNAPSHOT yalıtım düzeyinde çalıştırıldığında, tüm deyimler işlemin başlangıcında mevcut olan verilerin anlık görüntüsünü görür. SNAPSHOT yalıtım düzeyinde çalışan bir işlem birden çok veritabanındaki verilere erişiyorsa, ALLOW_SNAPSHOT_ISOLATION tüm veritabanlarında AÇILACAK şekilde ayarlanmalıdır veya işlemdeki her deyim, from yan tümcesindeki herhangi bir başvuruda kilit ipuçlarını ALLOW_SNAPSHOT_ISOLATION OFF olduğu bir veritabanındaki bir tabloya kilitleme ipuçlarını kullanmalıdır.

  • OFF

    Veritabanı düzeyinde Anlık Görüntü seçeneğini kapatır. İşlemler SNAPSHOT işlemi yalıtım düzeyini belirtemez.

ALLOW_SNAPSHOT_ISOLATION yeni bir duruma ayarladığınızda (ON'dan KAPALI'ya veya KAPALI'dan ON'a), VERITABANıNDAki tüm mevcut işlemler işlenmeden ALTER DATABASE denetimi çağırana döndürmez. Veritabanı ZATEN ALTER DATABASE deyiminde belirtilen durumdaysa, denetim çağırana hemen döndürülür. ALTER DATABASE ifadesi hızlı dönmezse, uzun süreli işlemler olup olmadığını belirlemek için sys.dm_tran_active_snapshot_database_transactions kullanın. ALTER DATABASE deyimi iptal edilirse, veritabanı ALTER DATABASE başlatıldığında olduğu durumda kalır. sys.databases katalog görünümü, veritabanındaki anlık görüntü izolasyon işlemlerinin durumunu gösterir. snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, ALTER DATABASE ... ALLOW_SNAPSHOT_ISOLATION OFF komutu altı saniye duraklatılır ve işlemi yeniden dener.

Veritabanı ÇEVRİmDIŞI olduğunda ALLOW_SNAPSHOT_ISOLATION durumunu değiştiremezsiniz.

READ_ONLY veritabanında ALLOW_SNAPSHOT_ISOLATION ayarlarsanız, veritabanı daha sonra READ_WRITE olarak ayarlanırsa ayar korunur.

master, model, msdbve tempdb veritabanlarının ALLOW_SNAPSHOT_ISOLATION ayarlarını değiştirebilirsiniz. tempdbayarını değiştirirseniz, Veritabanı Altyapısı örneği her durdurulduğunda ve yeniden başlatıldığında ayar korunur. modelayarını değiştirirseniz, bu ayar tempdbdışında oluşturulan tüm yeni veritabanları için varsayılan ayar olur.

seçenek, master ve msdb veritabanları için varsayılan olarak ON'dır.

Bu seçeneğin mevcut ayarı, snapshot_isolation_state katalog görünümündeki sütunu inceleyerek belirlenebilir.

READ_COMMITTED_SNAPSHOT { ON | KAPALI }

  • ON

    Veritabanı düzeyinde Read-Committed Anlık Görüntü seçeneğini etkinleştirir. Etkinleştirildiğinde, hiçbir işlem Anlık Görüntü Yalıtımı kullanmasa bile DML deyimleri satır sürümleri oluşturmaya başlar. Bu seçenek etkinleştirildikten sonra, tamamlanan okuma yalıtım düzeyini belirten işlemler kilitleme yerine satır sürümü oluşturma kullanır. Tüm deyimler, bir işlem READ COMMITTED yalıtım düzeyinde çalıştırıldığında deyiminin başında mevcut olan verilerin anlık görüntüsünü görür.

  • OFF

    Veritabanı düzeyinde Read-Committed Anlık Görüntü seçeneğini kapatır. READ COMMITTED yalıtım düzeyini belirten işlemler kilitlemeyi kullanır.

AÇıK veya KAPALI READ_COMMITTED_SNAPSHOT ayarlamak için, ALTER DATABASE komutunu çalıştıran bağlantı dışında veritabanına etkin bağlantı olmaması gerekir. Ancak veritabanının tek kullanıcı modunda olması gerekmez. Veritabanı ÇEVRİmDIŞI olduğunda bu seçeneğin durumunu değiştiremezsiniz.

READ_ONLY veritabanında READ_COMMITTED_SNAPSHOT ayarlarsanız, veritabanı daha sonra READ_WRITE olarak ayarlandığında ayar korunur.

READ_COMMITTED_SNAPSHOT master, tempdbveya msdb sistem veritabanları için AÇIlamıyor. modelayarını değiştirirseniz, bu ayar tempdbdışında oluşturulan tüm yeni veritabanları için varsayılan ayar olur.

Bu seçeneğin mevcut ayarı, is_read_committed_snapshot_on katalog görünümündeki sütunu inceleyerek belirlenebilir.

Warning

DAYANıKLıLıK = SCHEMA_ONLYile bir tablo oluşturulduğunda ve READ_COMMITTED_SNAPSHOT daha sonra ALTER DATABASE kullanılarak değiştirildiğinde, tablodaki veriler kaybolur.

MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | KAPALI }

Uygulanır: SQL Server (SQL Server 2014 (12.x)'den başlayarak)

  • ON

    İşlem yalıtım düzeyi SNAPSHOT'dan daha düşük bir yalıtım düzeyine ayarlandığında, bellek için iyileştirilmiş tablolardaki tüm yorumlanan Transact-SQL işlemleri SNAPSHOT yalıtımı altında çalıştırılır. Anlık görüntüden düşük yalıtım düzeylerine örnek olarak READ COMMITTED veya READ UNCOMMITTED verilebilir. Bu işlemler, işlem yalıtım düzeyinin oturum düzeyinde açıkça ayarlanıp ayarlanmadığını veya varsayılanın örtük olarak kullanılıp kullanılmadığını çalıştırır.

  • OFF

    Bellek için iyileştirilmiş tablolarda yorumlanan Transact-SQL işlemleri için işlem yalıtım düzeyini yükseltmez.

Veritabanı ÇEVRİmDIŞI olduğunda MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT durumunu değiştiremezsiniz.

Varsayılan seçenek KAPALI'dır.

Bu seçeneğin mevcut ayarı, is_memory_optimized_elevate_to_snapshot_on katalog görünümündeki sütunu inceleyerek belirlenebilir.

< > sql_option ::=

VERITABANı düzeyinde ANSI uyumluluk seçeneklerini denetler.

ANSI_NULL_DEFAULT { ON | KAPALI }

Create TABLE veya ALTER TABLE deyimlerinde null atanabilirliğin açıkça tanımlanmadığı clr kullanıcı tanımlı tür bir sütunun veya null veya NOT NULL varsayılan değerini belirler. Kısıtlamalarla tanımlanan sütunlar, bu ayar ne olursa olsun kısıtlama kurallarına uyar.

  • ON

    Tanımlanmamış bir sütun için varsayılan değer NULL'dir.

  • OFF

    Tanımlanmamış bir sütun için varsayılan değer NULL DEĞİlDİr.

SET deyimi kullanılarak ayarlanan bağlantı düzeyi ayarları, ANSI_NULL_DEFAULT için varsayılan veritabanı düzeyi ayarını geçersiz kılar. ODBC ve OLE DB istemcileri, oturum için varsayılan olarak AÇıK olarak ANSI_NULL_DEFAULT bir bağlantı düzeyi SET deyimi ayarı gönderir. SQL Server örneğine bağlandığınızda istemciler deyimini çalıştırır. Daha fazla bilgi için bkz. SET ANSI_NULL_DFLT_ON.

ANSI uyumluluğu için, ANSI_NULL_DEFAULT veritabanı seçeneğinin ON olarak ayarlanması, veritabanının varsayılan değerini NULL olarak değiştirir.

Bu seçeneğin durumunu is_ansi_null_default_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsAnsiNullDefault fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

ANSI_NULLS { ON | KAPALI }

  • ON

    Null değerle yapılan tüm karşılaştırmalar BİlİNMEYEN olarak değerlendirilir.

  • OFF

    Unicode olmayan değerlerin null değerle karşılaştırmaları, her iki değer de NULL ise TRUE olarak değerlendirilir.

Important

SQL Server'ın gelecekteki bir sürümünde ANSI_NULLS her zaman AÇIK olur ve seçeneği açıkça KAPALI olarak ayarlayan tüm uygulamalar hata oluşturur. Bu özelliği yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özelliği kullanan uygulamaları değiştirmeyi planlayın.

SET deyimi kullanılarak ayarlanan bağlantı düzeyi ayarları, ANSI_NULLS için varsayılan veritabanı ayarını geçersiz kılar. ODBC ve OLE DB istemcileri, oturum için varsayılan olarak AÇıK olarak ANSI_NULLS bir bağlantı düzeyi SET deyimi ayarı gönderir. SQL Server örneğine bağlandığınızda istemciler deyimini çalıştırır. Daha fazla bilgi için bkz. SET ANSI_NULLS.

Important

SET ANSI_NULLS hesaplanan sütunlarda veya dizinlenmiş görünümlerde dizin oluşturduğunuzda veya dizinlerde değişiklik yaptığınızda da ON olarak ayarlanmalıdır.

Bu seçeneğin durumunu is_ansi_nulls_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsAnsiNullsEnabled fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

ANSI_PADDING { ON | KAPALI }

  • ON

    Dizeler dönüştürmeden önce aynı uzunlukta doldurulur. Ayrıca varchar veya nvarchar veri tipine eklemeden önce aynı uzunluğa dolgu yaptım.

  • OFF

    Karakter değerlerinde takip eden boşlukları varchar veya nvarchar sütunlarına ekler. Ayrıca, varbinar sütunlara eklenen ikili değerlerde de geride duran sıfırlar bırakılır. Değerler sütunun uzunluğuna göre doldurulamaz.

    KAPALI belirtildiğinde, bu ayar yalnızca yeni sütunların tanımını etkiler.

Important

SQL Server'ın gelecekteki bir sürümünde, ANSI_PADDING her zaman AÇIK olur ve seçeneği açıkça KAPALI olarak ayarlayan tüm uygulamalar bir hata oluşturur. Bu özelliği yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özelliği kullanan uygulamaları değiştirmeyi planlayın. ANSI_PADDING her zaman ON olarak ayarlamanızı öneririz. ANSI_PADDING hesaplanan sütunlarda veya dizinlenmiş görünümlerde dizin oluştururken veya işlerken ON olmalıdır.

null izin veren char(n) ve ikili (n) sütunları, ANSI_PADDING ON olarak ayarlandığında sütun uzunluğuna doldurulur. ANSI_PADDING KAPALI olduğunda sondaki boşluklar ve sıfırlar kırpılır. Null izin vermeyen char(n) ve binary(n) sütunları her zaman sütunun uzunluğuna doldurulur.

SET deyimi kullanılarak ayarlanan bağlantı düzeyi ayarları, ANSI_PADDING için varsayılan veritabanı düzeyi ayarını geçersiz kılar. ODBC ve OLE DB istemcileri, varsayılan olarak oturum için AÇıK olarak ANSI_PADDING bir bağlantı düzeyi SET deyimi ayarı gönderir. SQL Server örneğine bağlandığınızda istemciler deyimini çalıştırır. Daha fazla bilgi için bkz . SET ANSI_PADDING.

Bu seçeneğin durumunu is_ansi_padding_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsAnsiPaddingEnabled fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

ANSI_WARNINGS { ON | KAPALI }

  • ON

    Sıfıra bölme gibi koşullar oluştuğunda hatalar veya uyarılar verilir. Toplama işlevlerinde null değerler göründüğünde de hatalar ve uyarılar verilir.

  • OFF

    Sıfıra bölme gibi koşullar oluştuğunda hiçbir uyarı tetiklenmez ve null değerler döndürülür.

Important

HESAPLANAN sütunlarda veya dizinlenmiş görünümlerde dizin oluşturduğunuzda veya dizinlerde değişiklik yaptığınızda SET ANSI_WARNINGS ON olarak ayarlanmalıdır.

SET deyimi kullanılarak ayarlanan bağlantı düzeyi ayarları, ANSI_WARNINGS için varsayılan veritabanı ayarını geçersiz kılar. ODBC ve OLE DB istemcileri, oturum için varsayılan olarak AÇıK olarak ANSI_WARNINGS bir bağlantı düzeyi SET deyimi ayarı gönderir. SQL Server örneğine bağlandığınızda istemciler deyimini çalıştırır. Daha fazla bilgi için bkz. SET ANSI_WARNINGS.

Bu seçeneğin durumunu is_ansi_warnings_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsAnsiWarningsEnabled fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

ARITHABORT { ON | KAPALI }

  • ON

    Sorgu yürütme sırasında taşma veya sıfıra bölme hatası oluştuğunda sorgu sonlandırılır.

  • OFF

    Bu hatalardan biri oluştuğunda bir uyarı iletisi görüntülenir. Sorgu, toplu iş veya işlem, bir uyarı görüntülense bile hata oluşmamış gibi işlemeye devam eder.

Important

SET ARITHABORT, hesaplanan sütunlarda veya dizinlenmiş görünümlerde dizin oluşturduğunuzda veya dizinlerde değişiklik yaptığınızda ON olarak ayarlanmalıdır.

Bu seçeneğin durumunu is_arithabort_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsArithmeticAbortEnabled fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

COMPATIBILITY_LEVEL = { 170 | 160 | 150 | 140 | 130 | 120 | 110 | 100 }

Daha fazla bilgi için bkz. alter database uyumluluk düzeyi.

CONCAT_NULL_YIELDS_NULL { ON | KAPALI }

  • ON

    bir birleştirme işleminin sonucu, işlenenlerden biri NULL olduğunda NULL'dır. Örneğin, "This is" ve NULL karakter dizesini birleştirmek "This is" değeri yerine NULL değerini döndürür.

  • OFF

    Null değer boş karakter dizesi olarak kabul edilir.

Important

CONCAT_NULL_YIELDS_NULL hesaplanan sütunlarda veya dizinlenmiş görünümlerde dizin oluştururken veya dizinlerde değişiklik yaparken ON olarak ayarlanmalıdır.

SQL Server'ın gelecek sürümlerinde CONCAT_NULL_YIELDS_NULL her zaman AÇIK olur ve seçeneği açıkça KAPALI olarak ayarlayan tüm uygulamalar bir hata tetikler. Bu özelliği yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özelliği kullanan uygulamaları değiştirmeyi planlayın.

SET deyimi kullanılarak ayarlanan bağlantı düzeyi ayarları, CONCAT_NULL_YIELDS_NULL için varsayılan veritabanı ayarını geçersiz kılar. Varsayılan olarak, ODBC ve OLE DB istemcileri SQL Server örneğine bağlanırken oturum için CONCAT_NULL_YIELDS_NULL bağlantı düzeyi SET deyimi ayarı gönderir. Daha fazla bilgi için bkz. SET CONCAT_NULL_YIELDS_NULL.

Bu seçeneğin durumunu is_concat_null_yields_null_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsNullConcat fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

NUMERIC_ROUNDABORT { ON | KAPALI }

  • ON

    İfadede duyarlık kaybı oluştuğunda bir hata oluşturulur.

  • OFF

    Duyarlık kaybı bir hata iletisi oluşturmaz ve sonuç, sonucun depolandığı sütunun veya değişkenin duyarlığına yuvarlanr.

    Important

    hesaplanan sütunlarda veya dizinlenmiş görünümlerde dizin oluştururken veya dizinlerde değişiklik yaparken NUMERIC_ROUNDABORT KAPALI olarak ayarlanmalıdır.

Bu seçeneğin durumunu is_numeric_roundabort_on katalog görünümündeki sütunda belirleyebilirsiniz. Ayrıca IsNumericRoundAbortEnabled fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

QUOTED_IDENTIFIER { ON | KAPALI }

  • ON

    Sınırlandırılmış tanımlayıcıları içine almak için çift tırnak işaretleri kullanılabilir.

    Çift tırnak işaretleri ile sınırlandırılan tüm dizeler nesne tanımlayıcıları olarak yorumlanır. Teklif edilen tanımlayıcıların tanımlayıcılar için Transact-SQL kurallarına uyması gerekmez. Bunlar anahtar sözcükler olabilir ve Transact-SQL tanımlayıcılarında izin verilmeyen karakterler içerebilir. Çift tırnak işareti (") tanımlayıcının bir parçasıysa, iki çift tırnak işaretiyle ("") temsil edilebilir.

  • OFF

    Tanımlayıcılar tırnak içinde olamaz ve tanımlayıcılar için tüm Transact-SQL kurallarını izlemelidir. Değişmez değerler tek veya çift tırnak işaretiyle sınırlandırılabilir.

SQL Server, tanımlayıcıların köşeli ayraçlarla ([ ve ]) sınırlandırılmasına da olanak tanır. Köşeli ayraçlı tanımlayıcılar, QUOTED_IDENTIFIER ayarı ne olursa olsun her zaman kullanılabilir. Daha fazla bilgi için bkz . Veritabanı tanımlayıcıları.

Tablo oluşturulduğunda, QUOTED IDENTIFIER seçeneği her zaman tablonun meta verilerinde ON olarak depolanır. Tablo oluşturulduğunda seçenek KAPALI olarak ayarlansa bile seçenek depolanır.

SET deyimi kullanılarak ayarlanan bağlantı düzeyi ayarları, QUOTED_IDENTIFIER için varsayılan veritabanı ayarını geçersiz kılar. ODBC ve OLE DB istemcileri, varsayılan olarak AÇıK olarak QUOTED_IDENTIFIER bir bağlantı düzeyi SET deyimi ayarı oluşturur. SQL Server örneğine bağlandığınızda istemciler deyimini çalıştırır. Daha fazla bilgi için bkz. SET QUOTED_IDENTIFIER.

Bu seçeneğin durumunu is_quoted_identifier_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsQuotedIdentifiersEnabled fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

RECURSIVE_TRIGGERS { ON | KAPALI }

  • ON

    AFTER tetikleyicilerinin özyinelemeli olarak tetiklemesine izin verilir.

  • OFF

    Bu seçeneğin durumunu is_recursive_triggers_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsRecursiveTriggersEnabled fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

Note

RECURSIVE_TRIGGERS KAPALI olarak ayarlandığında yalnızca doğrudan özyineleme engellenir. Dolaylı özyineleme özelliğini devre dışı bırakmak için iç içe tetikleyiciler sunucusu seçeneğini de 0 olarak ayarlamanız gerekir.

Bu seçeneğin durumunu is_recursive_triggers_on katalog görünümündeki sütunu veya IsRecursiveTriggersEnabled fonksiyonunun özelliğini inceleyerek belirleyebilirsiniz.

< > suspend_for_snapshot_backup ::=

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

Anlık görüntü yedekleme için veritabanlarını askıya alır. Bir veya daha fazla veritabanından oluşan bir grup tanımlayabilir. Yalnızca kopyalama modunu belirleyebilir.

SET SUSPEND_FOR_SNAPSHOT_BACKUP = { ON | KAPALI }

Veritabanlarını askıya alır veya askıya alır. Varsayılan KAPALI.

MOD = COPY_ONLY

Optional. COPY_ONLY modunu kullanır.

< > target_recovery_time_option ::=

Uygulanır: SQL Server (SQL Server 2012 (11.x) ile başlayarak)

Veritabanı başına dolaylı denetim noktalarının sıklığını belirtir. SQL Server 2016 (13.x) ile itibaren, yeni veritabanları için varsayılan değer 1 dakikadır, bu da veritabanının dolaylı kontrol noktaları kullandığını gösterir. Eski sürümler için varsayılan değer 0'dır ve bu, veritabanının sıklığı sunucu örneğinin kurtarma aralığı ayarına bağlı olan otomatik denetim noktaları kullandığını gösterir. Microsoft çoğu sistem için 1 dakika önerir.

TARGET_RECOVERY_TIME = target_recovery_time { SANIYE | DAKIKALAR }

  • target_recovery_time

    Kilitlenme durumunda belirtilen veritabanının kurtarılması için gereken süre üst sınırını belirtir. target_recovery_timetür int.

  • SECONDS

    target_recovery_time saniye sayısı olarak ifade edildiğini gösterir.

  • MINUTES

    target_recovery_time dakika sayısı olarak ifade edildiğini gösterir.

Dolaylı kontrol noktaları hakkında daha fazla bilgi için Veritabanı kontrol noktaları sayfasına bakınız.

OPTIMIZED_LOCKING { ON | KAPALI }

Uygulanır: SQL Server (SQL Server 2025 (17.x)) ile başlayarak)

Optimize edilmiş kilitleme imkanı sağlar. İyileştirilmiş kilitleme varsayılan olarak KAPALI olarak ayarlanır.

AÇıK veya KAPALI OPTIMIZED_LOCKING ayarlamak için, ALTER DATABASE komutunu çalıştıran bağlantı dışında veritabanına etkin bağlantı olmaması gerekir. Ancak veritabanının tek kullanıcı modunda olması gerekmez. Veritabanı ÇEVRİmİÇİ olmadığı sürece bu seçeneğin durumunu değiştiremezsiniz.

WITH <sonlandırma> ::=

Veritabanı bir durumdan diğerine geçirildiğinde tamamlanmamış işlemlerin ne zaman geri alınıp alınamayacaını belirtir. Sonlandırma yan tümcesi atlanırsa, veritabanında herhangi bir kilit varsa ALTER DATABASE deyimi süresiz olarak bekler. Yalnızca bir sonlandırma yan tümcesi belirtilebilir ve SET yan tümcelerini izler.

Note

Tüm veritabanı seçenekleri WITH <sonlandırma> yan tümcesini kullanmaz. Daha fazla bilgi için, bu makalenin "Açıklamalar" bölümündeki Ayarlar seçenekleri altındaki tabloya bakınız.

  • TAM SAYI SONRASI GERİ GERİ DÖNÜŞ [SANIYELER] | HEMEN GERI DÖNÜŞ

    Belirtilen saniye sayısından sonra mı yoksa hemen mi geri alınmayacağını belirtir.

  • NO_WAIT

    İstenen veritabanı durumu veya seçenek değişikliği hemen tamamlanamadıysa isteğin başarısız olduğunu belirtir. Hemen tamamlanması, işlemlerin kendi başına işlenmesini veya geri alınması beklenmediği anlamına gelir.

Seçenekleri ayarlama

Veritabanı seçenekleri için güncel ayarları almak için sys.databases katalog görünümünü veya DATABASEPROPERTYEX'i kullanın

Veritabanı seçeneğini ayarladıktan sonra yeni ayar hemen etkinleşir.

Yeni oluşturulan tüm veritabanları için veritabanı seçeneklerinden herhangi birinin varsayılan değerlerini değiştirebilirsiniz. Bunu yapmak için model veritabanında uygun veritabanı seçeneğini değiştirin.

Tüm veritabanı seçenekleri WITH <sonlandırma> yan tümcesini kullanmaz veya diğer seçeneklerle birlikte belirtilebilir. Aşağıdaki tabloda bu seçenekler ve bunların seçeneği ile sonlandırma durumu listelenmiştir.

Opsiyon kategorisi Diğer seçeneklerle belirtilebilir WITH <sonlandırma> yan tümcesini kullanabilir
<db_state_option> Yes Yes
<db_user_access_option> Yes Yes
<db_update_option> Yes Yes
<delayed_durability_option> Yes Yes
<external_access_option> Yes No
<cursor_option> Yes No
<auto_option> Yes No
<sql_option> Yes No
<recovery_option> Yes No
<target_recovery_time_option> No Yes
<database_mirroring_option> No No
ALLOW_SNAPSHOT_ISOLATION No No
READ_COMMITTED_SNAPSHOT No Yes
MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT Yes Yes
<service_broker_option> Yes No
DATE_CORRELATION_OPTIMIZATION Yes Yes
<parameterization_option> Yes Yes
<change_tracking_option> Yes Yes
<db_encryption_option> Yes No
<accelerated_database_recovery> No Yes
<optimized_locking> No Yes

SQL Server örneğinin plan önbelleği, aşağıdaki seçeneklerden biri ayarlanarak temizlenir:

OFFLINE

ONLINE

MODIFY_NAME

COLLATE

READ_ONLY

READ_WRITE

FILEGROUP DEFAULT'I DEĞIŞTIRME

FILEGROUP READ_WRITE DEĞIŞTIRME

FILEGROUP READ_ONLY DEĞIŞTIRME

Plan önbelleği de aşağıdaki senaryolarda temizlenmiştir.

  • Veritabanında AUTO_CLOSE veritabanı seçeneği ON olarak ayarlanmıştır. Kullanıcı bağlantısı başvurusu olmadığında veya veritabanını kullanmadığında, arka plan görevi veritabanını otomatik olarak kapatıp kapatmaya çalışır.
  • Varsayılan seçenekleri olan bir veritabanında birkaç sorgu çalıştırırsınız. Ardından veritabanı bırakılır.
  • Kaynak veritabanı için veritabanı anlık görüntüsü bırakılır.
  • Veritabanı için işlem günlüğünü başarıyla yeniden oluşturursunuz.
  • Veritabanı yedeğini geri yüklersiniz.
  • Bir veritabanını ayırırsınız.

Plan önbelleğinin temizlenmesi, sonraki tüm yürütme planlarının yeniden derlenmesine neden olur ve sorgu performansında ani, geçici bir düşüşe neden olabilir. Plan önbelleğindeki temizlenen her önbellek deposu için SQL Server hata günlüğü şu bilgi iletisini içerir: SQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations. Bu ileti, önbellek bu zaman aralığında temizlendiği sürece beş dakikada bir günlüğe kaydedilir.

Examples

A. Veritabanında seçenekleri ayarlama

Aşağıdaki örnek, AdventureWorks2025 örnek veritabanı için kurtarma modeli ve veri sayfası doğrulama seçeneklerini ayarlar.

USE master;
GO
ALTER DATABASE [database_name]
SET RECOVERY FULL PAGE_VERIFY CHECKSUM;
GO

B. Veritabanını READ_ONLY olarak ayarlama

Veritabanının veya dosya grubunun durumunu READ_ONLY veya READ_WRITE olarak değiştirmek, veritabanına özel erişim gerektirir. Aşağıdaki örnek, özel erişim elde etmek için veritabanını SINGLE_USER moduna ayarlar. Örnek daha sonra AdventureWorks2025 veritabanının durumunu READ_ONLY olarak ayarlar ve veritabanına erişimi tüm kullanıcılara döndürür.

Note

Bu örnek, ilk WITH ROLLBACK IMMEDIATE deyiminde ALTER DATABASE sonlandırma seçeneğini kullanır. Tamamlanmamış tüm işlemler geri alınır ve AdventureWorks2025 veritabanına yönelik diğer bağlantıların bağlantısı hemen kesilir.

USE master;
GO
ALTER DATABASE [database_name]
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE [database_name]
SET READ_ONLY
GO
ALTER DATABASE [database_name]
SET MULTI_USER;
GO

C. Veritabanında anlık görüntü yalıtımını etkinleştirme

Aşağıdaki örnek, AdventureWorks2025 veritabanı için anlık görüntü yalıtım çerçevesi seçeneğini etkinleştirir.

USE [database_name];
USE master;
GO
ALTER DATABASE [database_name]
SET ALLOW_SNAPSHOT_ISOLATION ON;
GO
-- Check the state of the snapshot_isolation_framework
-- in the database.
SELECT name, snapshot_isolation_state,
    snapshot_isolation_state_desc AS description
FROM sys.databases
WHERE name = N'[database_name]';
GO

Sonuç kümesi, anlık görüntü yalıtım çerçevesinin etkinleştirildiğini gösterir.

name snapshot_isolation_state description
[database_name] 1 ON

D. Değişiklik izlemeyi etkinleştirme, değiştirme veya devre dışı bırakma

Aşağıdaki örnek, AdventureWorks2025 veritabanı için değişiklik izlemeyi etkinleştirir ve bekletme süresini 2 güne ayarlar.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING = ON
(AUTO_CLEANUP = ON, CHANGE_RETENTION = 2 DAYS);

Aşağıdaki örnekte bekletme süresinin 3 gün olarak nasıl değiştireceği gösterilmektedir.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING (CHANGE_RETENTION = 3 DAYS);

Aşağıdaki örnekte, AdventureWorks2025 veritabanı için değişiklik izlemeyi devre dışı bırakma gösterilmektedir.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING = OFF;

E. Sorgu Deposunu Etkinleştirme

Uygulanır: SQL Server (SQL Server 2016 (13.x)'dan başlayarak)

Aşağıdaki örnek Sorgu Deposu'na olanak tanır ve parametrelerini yapılandırmaktadır.

ALTER DATABASE [database_name]
SET QUERY_STORE = ON
    (
      OPERATION_MODE = READ_WRITE,
      CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
      DATA_FLUSH_INTERVAL_SECONDS = 900,
      QUERY_CAPTURE_MODE = AUTO,
      MAX_STORAGE_SIZE_MB = 1024,
      INTERVAL_LENGTH_MINUTES = 60
    );

F. Sorgu Deposu'nı bekleme istatistikleriyle etkinleştirme

Geçerlidir: SQL Server (SQL Server 2017 (14.x)'den başlayarak)

Aşağıdaki örnek Sorgu Deposu'na olanak tanır ve parametrelerini yapılandırmaktadır.

ALTER DATABASE [database_name]
SET QUERY_STORE = ON
    (
      OPERATION_MODE = READ_WRITE,
      CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
      DATA_FLUSH_INTERVAL_SECONDS = 900,
      MAX_STORAGE_SIZE_MB = 1024,
      INTERVAL_LENGTH_MINUTES = 60,
      SIZE_BASED_CLEANUP_MODE = AUTO,
      MAX_PLANS_PER_QUERY = 200,
      WAIT_STATS_CAPTURE_MODE = ON,
    );

G. Özel yakalama ilkesi seçenekleriyle Sorgu Deposu'yu etkinleştirme

Uygulanır: SQL Server (SQL Server 2019 (15.x) ile başlayarak)

Aşağıdaki örnek Sorgu Deposu'na olanak tanır ve parametrelerini yapılandırmaktadır.

ALTER DATABASE [database_name]
SET QUERY_STORE = ON
    (
      OPERATION_MODE = READ_WRITE,
      CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
      DATA_FLUSH_INTERVAL_SECONDS = 900,
      MAX_STORAGE_SIZE_MB = 1024,
      INTERVAL_LENGTH_MINUTES = 60,
      SIZE_BASED_CLEANUP_MODE = AUTO,
      MAX_PLANS_PER_QUERY = 200,
      WAIT_STATS_CAPTURE_MODE = ON,
      QUERY_CAPTURE_MODE = CUSTOM,
      QUERY_CAPTURE_POLICY = (
        STALE_CAPTURE_POLICY_THRESHOLD = 24 HOURS,
        EXECUTION_COUNT = 30,
        TOTAL_COMPILE_CPU_TIME_MS = 1000,
        TOTAL_EXECUTION_CPU_TIME_MS = 100
      )
    );

* SQL Veritabanı *  

SQL Yönetilen Örneği

Azure Synapse'i
Analiz

 

SQL Database

Uyumluluk düzeyleri SET seçeneklerdir ancak ALTER DATABASE uyumluluk düzeyiaçıklanmıştır.

Note

Birçok veritabanı kümesi seçeneği, mevcut oturum için SET Statement'ları kullanılarak yapılandırılabilir ve uygulamalar bağlandıklarında genellikle yapılandırılır. Oturum düzeyi ayar seçenekleri ALTER DATABASE SET değerlerini geçersiz kılar. Aşağıdaki bölümlerde açıklanan veritabanı seçenekleri, diğer ayar seçeneği değerlerini açıkça sağlamayan oturumlar için ayarlanabilen değerlerdir.

Syntax

ALTER DATABASE { database_name | Current }
SET
{
    <option_spec> [ ,...n ] [ WITH <termination> ]
}
;

<option_spec> ::=
{
    <auto_option>
  | <automatic_tuning_option>
  | <change_tracking_option>
  | <cursor_option>
  | <db_encryption_option>
  | <db_update_option>
  | <db_user_access_option>
  | <delayed_durability_option>
  | <parameterization_option>
  | <query_store_options>
  | <snapshot_option>
  | <sql_option>
  | <target_recovery_time_option>
  | <termination>
  | <temporal_history_retention>
}
;

<auto_option> ::=
{
    AUTO_CREATE_STATISTICS { OFF | ON [ ( INCREMENTAL = { ON | OFF } ) ] }
  | AUTO_SHRINK { ON | OFF }
  | AUTO_UPDATE_STATISTICS { ON | OFF }
  | AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
}

<automatic_tuning_option> ::=
{
    AUTOMATIC_TUNING = { AUTO | INHERIT | CUSTOM }
  | AUTOMATIC_TUNING ( CREATE_INDEX = { DEFAULT | ON | OFF } )
  | AUTOMATIC_TUNING ( DROP_INDEX = { DEFAULT | ON | OFF } )
  | AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = { DEFAULT | ON | OFF } )
}

<change_tracking_option> ::=
{
    CHANGE_TRACKING
    {
        = OFF
      | = ON [ ( <change_tracking_option_list > [,...n] ) ]
      | ( <change_tracking_option_list> [,...n] )
    }
}

<change_tracking_option_list> ::=
   {
       AUTO_CLEANUP = { ON | OFF }
     | CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
   }

<cursor_option> ::=
{
    CURSOR_CLOSE_ON_COMMIT { ON | OFF }
}

<db_encryption_option> ::=
  ENCRYPTION { ON | OFF }

<db_update_option> ::=
  { READ_ONLY | READ_WRITE }

<db_user_access_option> ::=
  { RESTRICTED_USER | MULTI_USER }

<delayed_durability_option> ::= DELAYED_DURABILITY = { DISABLED | ALLOWED | FORCED }

<parameterization_option> ::=
  PARAMETERIZATION { SIMPLE | FORCED }

<query_store_options> ::=
{
  QUERY_STORE
  {
      = OFF
    | = ON [ ( <query_store_option_list> [,... n] ) ]
    | ( < query_store_option_list> [,... n] )
    | CLEAR [ ALL ]
  }
}

<query_store_option_list> ::=
{
  OPERATION_MODE = { READ_WRITE | READ_ONLY }
  | CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = number )
  | DATA_FLUSH_INTERVAL_SECONDS = number
  | MAX_STORAGE_SIZE_MB = number
  | INTERVAL_LENGTH_MINUTES = number
  | SIZE_BASED_CLEANUP_MODE = { AUTO | OFF }
  | QUERY_CAPTURE_MODE = { ALL | AUTO | CUSTOM | NONE }
  | MAX_PLANS_PER_QUERY = number
  | WAIT_STATS_CAPTURE_MODE = { ON | OFF }
  | QUERY_CAPTURE_POLICY = ( <query_capture_policy_option_list> [,...n] )
}

<query_capture_policy_option_list> :: =
{
    STALE_CAPTURE_POLICY_THRESHOLD = number { DAYS | HOURS }
    | EXECUTION_COUNT = number
    | TOTAL_COMPILE_CPU_TIME_MS = number
    | TOTAL_EXECUTION_CPU_TIME_MS = number
}

<snapshot_option> ::=
{
    ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
  | READ_COMMITTED_SNAPSHOT { ON | OFF }
  | MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | OFF }
}
<sql_option> ::=
{
    ANSI_NULL_DEFAULT { ON | OFF }
  | ANSI_NULLS { ON | OFF }
  | ANSI_PADDING { ON | OFF }
  | ANSI_WARNINGS { ON | OFF }
  | ARITHABORT { ON | OFF }
  | COMPATIBILITY_LEVEL = { 160 | 150 | 140 | 130 | 120 | 110 | 100 }
  | CONCAT_NULL_YIELDS_NULL { ON | OFF }
  | NUMERIC_ROUNDABORT { ON | OFF }
  | QUOTED_IDENTIFIER { ON | OFF }
  | RECURSIVE_TRIGGERS { ON | OFF }
}

<termination>::=
{
    ROLLBACK AFTER integer [ SECONDS ]
  | ROLLBACK IMMEDIATE
  | NO_WAIT
}

<temporal_history_retention>::=TEMPORAL_HISTORY_RETENTION { ON | OFF }

Arguments

database_name

Değiştirilecek veritabanının adı.

  • CURRENT

    CURRENT eylemi geçerli veritabanında çalıştırır. CURRENT tüm bağlamlardaki tüm seçenekler için desteklenmez. CURRENT başarısız olursa veritabanı adını belirtin.

< > auto_option ::=

Otomatik seçenekleri denetler.

AUTO_CREATE_STATISTICS { ON | KAPALI }

  • ON

    Sorgu İyileştiricisi, sorgu planlarını ve sorgu performansını geliştirmek için gerektiğinde sorgu koşullarındaki tek sütunlarda istatistikler oluşturur. Bu tek sütunlu istatistikler, Sorgu İyileştiricisi sorguları derlediğinde oluşturulur. Tek sütunlu istatistikler yalnızca mevcut istatistik nesnesinin ilk sütunu olmayan sütunlarda oluşturulur.

    Varsayılan değer ON'dır. Çoğu veritabanı için varsayılan ayarı kullanmanızı öneririz.

  • OFF

    Sorgu İyileştiricisi, sorgu derlerken sorgu koşullarında tek sütunlarda istatistik oluşturmaz. Bu seçeneğin KAPALI olarak ayarlanması, yetersiz sorgu planlarına ve düşük sorgu performansına neden olabilir.

Bu seçeneğin durumunu is_auto_create_stats_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsAutoCreateStatistics fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

Daha fazla bilgi için İstatistik bölümündeki "İstatistik seçenekleri" bölümüne bakınız.

ARTıMLı = ON | KAPALI

AUTO_CREATE_STATISTICS AÇıK olarak ayarlayın ve ARTıMLı'yı ON olarak ayarlayın. Bu ayar, artımlı istatistikler desteklendiği her durumda otomatik olarak oluşturulan istatistikleri artımlı olarak oluşturur. Varsayılan değer KAPALI'dır. Daha fazla bilgi için bkz. CREATE STATISTICS.

AUTO_SHRINK { ON | KAPALI }

  • ON

    Veritabanı dosyaları düzenli aralıklarla daraltma için adaydır. Belirli bir gereksiniminiz yoksa AUTO_SHRINK veritabanı seçeneğini ON olarak ayarlamayın. Daha fazla bilgi için bkz. veritabanını küçültme.

Hem veri dosyası hem de günlük dosyaları otomatik olarak küçültülebilir. AUTO_SHRINK işlem günlüğünün boyutunu yalnızca veritabanını SIMPLE kurtarma modeli olarak ayarlarsanız veya günlüğü yedeklerseniz azaltır. KAPALI olarak ayarlandığında, kullanılmayan alan için düzenli denetimler sırasında veritabanı dosyaları otomatik olarak küçültülür.

AUTO_SHRINK seçeneği, dosyanın yüzde 25'inden fazlası kullanılmayan alan içerdiğinde dosyaların küçültülmelerine neden olur. seçeneği, dosyanın iki boyuttan birine küçültülmesini sağlar. Aşağıdakilerden hangisi daha büyükse küçülür:

  • Dosyanın yüzde 25'inin kullanılmayan alan olduğu boyut
  • Dosyanın oluşturulduğu zaman boyutu

Salt okunur veritabanını küçültemezsiniz.

  • OFF

    Kullanılmayan alan için düzenli aralıklarla yapılan denetimler sırasında veritabanı dosyaları otomatik olarak küçülmez.

Bu seçeneğin durumunu is_auto_shrink_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsAutoShrink fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

Note

AUTO_SHRINK seçeneği, kapsanan bir veritabanında kullanılamaz.

AUTO_UPDATE_STATISTICS { ON | KAPALI }

  • ON

    Sorgu İyileştiricisi'nin bir sorgu tarafından kullanıldığında ve güncel olma durumlarında istatistikleri güncelleştirdiğini belirtir. Ekleme, güncelleştirme, silme veya birleştirme işlemleri tablodaki veya dizinli görünümdeki veri dağıtımını değiştirdikten sonra istatistikler güncel değildir. Sorgu İyileştiricisi, son istatistik güncelleştirmelerinden bu yana yapılan veri değişikliklerinin sayısını sayarak ve değişikliklerin sayısını bir eşikle karşılaştırarak istatistiklerin ne zaman güncel olabileceğini belirler. Eşik, tablodaki veya dizinli görünümdeki satır sayısını temel alır.

    Sorgu İyileştiricisi, sorgu derlemeden ve önbelleğe alınmış bir sorgu planı çalıştırmadan önce güncel olmayan istatistikleri denetler. Sorgu İyileştiricisi, hangi istatistiklerin güncel olmayabileceğini belirlemek için sorgu koşulundaki sütunları, tabloları ve dizine alınan görünümleri kullanır. Sorgu İyileştirici bu bilgileri bir sorgu derlemeden önce belirler. Önbelleğe alınmış bir sorgu planını çalıştırmadan önce Veritabanı Altyapısı, sorgu planının up-totarih istatistiklerine başvurduğunu doğrular.

    AUTO_UPDATE_STATISTICS seçeneği dizinler için oluşturulan istatistikler, sorgu koşulundaki tek sütunlar ve CREATE STATISTICS deyimi kullanılarak oluşturulan istatistikler için geçerlidir. Bu seçenek filtrelenmiş istatistikler için de geçerlidir.

    Varsayılan değer ON'dır. Çoğu veritabanı için varsayılan ayarı kullanmanızı öneririz.

    İstatistiklerin zaman uyumlu mu yoksa zaman uyumsuz olarak mı güncelleştirileceğini belirtmek için AUTO_UPDATE_STATISTICS_ASYNC seçeneğini kullanın.

  • OFF

    Sorgu İyileştirici'nin bir sorgu tarafından kullanıldığında istatistikleri güncelleştirmediğini belirtir. Sorgu İyileştiricisi ayrıca güncel olmayan istatistikleri güncelleştirmez. Bu seçeneğin KAPALI olarak ayarlanması, yetersiz sorgu planlarına ve düşük sorgu performansına neden olabilir.

    Bu seçeneğin durumunu is_auto_update_stats_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsAutoUpdateStatistics fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

    Daha fazla bilgi için İstatistik bölümündeki "İstatistik seçenekleri" bölümüne bakınız.

AUTO_UPDATE_STATISTICS_ASYNC { ON | KAPALI }

  • ON

    AUTO_UPDATE_STATISTICS seçeneği için istatistik güncelleştirmelerinin zaman uyumsuz olduğunu belirtir. Sorgu İyileştiricisi, sorguları derlemeden önce istatistik güncelleştirmelerinin tamamlanmasını beklemez.

    AUTO_UPDATE_STATISTICS AÇıK olarak ayarlanmadığı sürece bu seçeneğiN ON olarak ayarlanmasının hiçbir etkisi olmaz.

    Varsayılan olarak, AUTO_UPDATE_STATISTICS_ASYNC seçeneği KAPALI olarak ayarlanır ve Sorgu İyileştiricisi istatistikleri zaman uyumlu olarak güncelleştirir.

  • OFF

    AUTO_UPDATE_STATISTICS seçeneği için istatistik güncelleştirmelerinin zaman uyumlu olduğunu belirtir. Sorgu İyileştiricisi, sorguları derlemeden önce istatistik güncelleştirmelerinin tamamlanmasını bekler.

    AUTO_UPDATE_STATISTICS AÇıK olarak ayarlanmadığı sürece bu seçeneği KAPALI olarak ayarlamanın hiçbir etkisi olmaz.

Bu seçeneğin durumunu is_auto_update_stats_async_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz.

Senkron veya asenkron istatistik güncellemelerinin ne zaman kullanılacağını açıklayan daha fazla bilgi için İstatistikler bölümündeki "İstatistik seçenekleri" bölümüne bakınız.

< > automatic_tuning_option ::=

Otomatik ayar için otomatik seçenekleri kontrol eder. Aşağıdaki ayarların seçeneklerini Azure portalında veya T-SQL aracılığıyla sys.database_automatic_tuning_optionsgörünümünde görüntüleyebilirsiniz.

AUTOMATIC_TUNING = { AUTO | DEVRAL | ÖZEL }

  • AUTO

    Otomatik ayarlama değerini AUTO olarak ayarlamak, Otomatik ayarlama için Azure yapılandırma varsayılanlarını uygular. Azure portalında bu, "Devral: Azure varsayılanları" seçeneğini yansıtır.

  • INHERIT

    INHERIT değerinin kullanılması, varsayılan yapılandırmayı üst sunucudan devralır. Azure portalında bu, "Devralma: Sunucu" seçeneğini yansıtır. Bu, özellikle bir üst sunucuda Otomatik ayarlama yapılandırmasını özelleştirmek ve bu sunucudaki tüm veritabanlarının bu özel ayarları DEVRALMASINI sağlamak istiyorsanız kullanışlıdır. Devralma işleminin çalışması için üç ayrı ayarlama seçeneğinin FORCE_LAST_GOOD_PLAN, CREATE_INDEX ve DROP_INDEX veritabanlarında DEFAULT olarak ayarlanması gerekir.

  • CUSTOM

    CUSTOM değerini kullanarak veritabanlarında kullanılabilen Otomatik Ayarlama seçeneklerinin her birini özel olarak yapılandırmanız gerekir. Azure portalında bu, "Devral: Devralma" seçeneğini yansıtır.

CREATE_INDEX = { DEFAULT | ON | KAPALI }

CREATE_INDEX akort otomatik indeks yönetimi seçeneğini etkinleştirir veya devre dışı bırakır. Bu seçeneğin durumunu Azure portalında veya T-SQL aracılığıyla sys.database_automatic_tuning_optionsgörünümünde görüntüleyebilirsiniz.

  • DEFAULT

    Varsayılan ayarları sunucudan devralır. Bu durumda, tek tek Otomatik ayarlama özelliklerini etkinleştirme veya devre dışı bırakma seçenekleri sunucu düzeyinde tanımlanır.

  • ON

    Etkinleştirildiğinde, eksik dizinler veritabanında otomatik olarak oluşturulur. Dizin oluşturma işleminden sonra iş yükünün performansına yönelik kazançlar doğrulanır. Bu tür oluşturulan dizin artık iş yükü performansına avantaj sağlamadığında otomatik olarak geri döndürülür. Otomatik olarak oluşturulan dizinler, sistem tarafından oluşturulan dizin olarak işaretlenir.

  • OFF

    Veritabanında otomatik olarak eksik dizinler oluşturmaz.

DROP_INDEX = { DEFAULT | ON | KAPALI }

DROP_INDEX akort otomatik indeks yönetimi seçeneğini etkinleştirir veya devre dışı bırakır. Bu seçeneğin durumunu Azure portalında veya T-SQL aracılığıyla sys.database_automatic_tuning_optionsgörünümünde görüntüleyebilirsiniz.

  • DEFAULT

    Varsayılan ayarları sunucudan devralır. Bu durumda, tek tek Otomatik ayarlama özelliklerini etkinleştirme veya devre dışı bırakma seçenekleri sunucu düzeyinde tanımlanır.

  • ON

    Yinelenen veya artık yararlı olmayan dizinleri otomatik olarak performans iş yüküne bırakır.

  • OFF

    Eksik dizinleri veritabanında otomatik olarak bırakmaz.

FORCE_LAST_GOOD_PLAN = { DEFAULT | ON | KAPALI }

FORCE_LAST_GOOD_PLAN ayar otomatik plan düzeltme seçeneğini etkinleştirir veya devre dışı bırakır. Bu seçeneğin durumunu Azure portalında veya T-SQL aracılığıyla sys.database_automatic_tuning_optionsgörünümünde görüntüleyebilirsiniz.

  • DEFAULT

    Varsayılan ayarları sunucudan devralır. Bu durumda, tek tek Otomatik ayarlama özelliklerini etkinleştirme veya devre dışı bırakma seçenekleri sunucu düzeyinde tanımlanır. Bu varsayılan değerdir. Yeni Azure SQL sunucularının varsayılan değeri ON'dır; yani yeni veritabanları varsayılan olarak ON ayarını devralır.

  • ON

    Veritabanı Altyapısı, yeni sorgu planının performans regresyonlarına neden olduğu Transact-SQL sorgularda bilinen son iyi planı otomatik olarak zorlar. Veritabanı Altyapısı, zorlamalı planla Transact-SQL sorgunun sorgu performansını sürekli izler. Performans kazançları varsa Veritabanı Altyapısı bilinen son iyi planı kullanmaya devam eder. Performans kazanımları algılanmamışsa Veritabanı Altyapısı yeni bir sorgu planı oluşturur. Query Store etkin değilse veya Okuma-Yazma modunda değilse bu ifade başarısız olur.

  • OFF

    Veritabanı Motoru, sys.dm_db_tuning_recommendations görünümdeki sorgu planı değişikliklerinden kaynaklanabilecek olası sorgu performansı gerilemelerini bildirir. Ancak bu öneriler otomatik olarak uygulanmaz. Kullanıcılar, görünümde gösterilen Transact-SQL betikleri uygulayarak etkin önerileri izleyebilir ve tanımlanan sorunları çözebilir.

< > change_tracking_option ::=

Değişiklik izleme seçeneklerini denetler. Değişiklik izlemeyi etkinleştirebilir, seçenekleri ayarlayabilir, seçenekleri değiştirebilir ve değişiklik izlemeyi devre dışı bırakabilirsiniz. Örnekler için, bu makalenin ilerleyen bölümlerinde Örnekler bölümüne bakınız.

  • ON

    Veritabanı için değişiklik izlemeyi etkinleştirir. Değişiklik izlemeyi etkinleştirdiğinizde, AUTO CLEANUP ve CHANGE RETENTION seçeneklerini de ayarlayabilirsiniz.

    • AUTO_CLEANUP = { ON | KAPALI }

      • ON

        Değişiklik izleme bilgileri belirtilen saklama süresinden sonra otomatik olarak kaldırılır.

      • OFF

        Değişiklik izleme verileri veritabanından kaldırılmaz.

    • CHANGE_RETENTION = retention_period { GÜNLER | SAATLER | DAKIKALAR }

      Değişiklik izleme bilgilerini veritabanında tutmak için en düşük süreyi belirtir. Veriler yalnızca AUTO_CLEANUP değeri AÇILDI olduğunda kaldırılır.

      retention_period , tutma süresinin sayısal bileşenini belirten bir tam sayıdır.

      Varsayılan tutma süresi 2 gündür. En düşük saklama süresi 1 dakikadır. Varsayılan tutma türü DAYS'tir.

  • OFF

    Veritabanı için değişiklik izlemeyi devre dışı bırakır. Veritabanında değişiklik izlemeyi devre dışı bırakmadan önce tüm tablolarda değişiklik izlemeyi devre dışı bırakın.

< > cursor_option ::=

İmleç seçeneklerini denetler.

CURSOR_CLOSE_ON_COMMIT { ON | KAPALI }

  • ON

    bir işlemi işlediğiniz veya geri aldığınızda açılan tüm imleçler kapatılır.

  • OFF

    bir işlem işlendiğinde imleçler açık kalır; bir işlemi geri döndürmek, DUYARSIZ veya STATIK olarak tanımlanan imleçler dışında tüm imleçleri kapatır.

SET deyimi kullanılarak ayarlanan bağlantı düzeyi ayarları, CURSOR_CLOSE_ON_COMMIT için varsayılan veritabanı ayarını geçersiz kılar. ODBC ve OLE DB istemcileri, oturum için varsayılan olarak OFF olarak CURSOR_CLOSE_ON_COMMIT bir bağlantı düzeyi SET deyimi ayarı gönderir. SQL Server örneğine bağlandığınızda istemciler deyimini çalıştırır. Daha fazla bilgi için bkz. SET CURSOR_CLOSE_ON_COMMIT.

Bu seçeneğin durumunu is_cursor_close_on_commit_on katalog görünümündeki sütunu veya IsCloseCursorsOnCommitEnabled fonksiyonunun özelliğini inceleyerek belirleyebilirsiniz. İmleç örtük olarak yalnızca bağlantı kesildiğinde serbest bırakılır. Daha fazla bilgi için bkz. DECLARE CURSOR.

< > db_encryption_option ::=

Veritabanı şifreleme durumunu denetler.

ŞIFRELEME { ON | KAPALI }

Veritabanını şifrelenecek (ON) veya şifrelenmez (KAPALI) olarak ayarlar. Veritabanı şifrelemesi hakkında daha fazla bilgi için bkz. Saydam veri şifrelemesi (TDE)ve Azure SQL Veritabanı, Azure SQL Yönetilen Örneği ve Azure Synapse Analyticsiçin saydam veri şifrelemesi.

Şifreleme veritabanı düzeyinde etkinleştirildiğinde, tüm dosya grupları şifrelenir. Tüm yeni dosya grupları şifrelenmiş özelliği devralır. Veritabanındaki herhangi bir dosya grubu SALT OKUNUR olarak ayarlanırsa, veritabanı şifreleme işlemi başarısız olur.

Veritabanının şifreleme durumunu sys.dm_database_encryption_keys dinamik yönetim görünümünü kullanarak görebilirsiniz.

< > db_update_option ::=

Veritabanında güncelleştirmelere izin verilip verilmeyeceğini denetler.

  • READ_ONLY

    Kullanıcılar veritabanındaki verileri okuyabilir ancak değiştiremez.

    Note

    Sorgu performansını geliştirmek için veritabanını READ_ONLY olarak ayarlamadan önce istatistikleri güncelleştirin. Veritabanı READ_ONLY olarak ayarlandıktan sonra ek istatistikler gerekiyorsa, Veritabanı Altyapısı tempdbiçinde istatistikler oluşturur. Sadece okunabilir bir veritabanı için istatistik hakkında daha fazla bilgi için İstatistikler sayfasına bakınız.

  • READ_WRITE

    Veritabanı okuma ve yazma işlemleri için kullanılabilir.

Bu durumu değiştirmek için veritabanına özel erişime sahip olmanız gerekir. Daha fazla bilgi için SINGLE_USER yan tümcesine bakın.

Note

Azure SQL Veritabanı federasyon veritabanlarında SET { READ_ONLY | READ_WRITE } devre dışı bırakılır.

< > db_user_access_option ::=

Veritabanına kullanıcı erişimini denetler.

  • RESTRICTED_USER

    Yalnızca db_owner sabit veritabanı rolünün üyelerine ve dbcreator ve sysadmin sabit sunucu rollerinin veritabanına bağlanmasına izin verir, ancak bunların sayısını sınırlamaz. Veritabanına yönelik tüm bağlantıların bağlantısı ALTER DATABASE deyiminin sonlandırma yan tümcesi tarafından belirtilen zaman çerçevesi içinde kesilir. Veritabanı RESTRICTED_USER durumuna geçtikten sonra, nitelenmemiş kullanıcıların bağlantı girişimleri reddedilir. Azure SQL Veritabanı'nda, kullanıcı veritabanının içinden yürütülmelidir. master veritabanından bir hata iletisiyle karşılaşabilirsiniz Msg 42008, Level 16, State 3, Line 1 ODBC error: State: 28000: Error: 18456 Message:'[Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Login failed for user '##MS_InstanceCertificate##'.'.

  • MULTI_USER

    Veritabanına bağlanmak için uygun izinlere sahip tüm kullanıcılara izin verilir. Bu seçeneğin durumunu user_access katalog görünümündeki sütunu veya UserAccess fonksiyonunun özelliğini inceleyerek belirleyebilirsiniz. Azure SQL Veritabanı'nda, kullanıcı veritabanının içinden yürütülmelidir. master veritabanından bir hata iletisiyle karşılaşabilirsiniz Msg 42008, Level 16, State 3, Line 1 ODBC error: State: 28000: Error: 18456 Message:'[Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Login failed for user '##MS_InstanceCertificate##'.'.

< > delayed_durability_option ::=

İşlemlerin tamamen dayanıklı mı yoksa gecikmeli dayanıklı mı işlediğini denetler.

  • DISABLED

    SET DISABLED izleyen tüm işlemler tamamen dayanıklıdır. Atomik blokta veya işleme deyiminde ayarlanan tüm dayanıklılık seçenekleri yoksayılır.

  • ALLOWED

    SET ALLOWED izleyen tüm işlemler, atomik blokta veya işleme deyiminde ayarlanan dayanıklılık seçeneğine bağlı olarak tamamen dayanıklı veya gecikmeli dayanıklıdır.

  • FORCED

    SET FORCED izleyen tüm işlemler gecikmeli dayanıklıdır. Atomik blokta veya işleme deyiminde ayarlanan tüm dayanıklılık seçenekleri yoksayılır.

< > PARAMETERIZATION_option ::=

Parametreleştirme seçeneğini denetler.

PARAMETRELEŞTIRME { SIMPLE | FORCED }

  • SIMPLE

    Sorgular, veritabanının varsayılan davranışına göre parametreleştirilir.

  • FORCED

    SQL Server, veritabanındaki tüm sorguları parametreleştirir.

Bu seçeneğin mevcut ayarı, is_parameterization_forced katalog görünümündeki sütunu inceleyerek belirlenebilir.

< > query_store_options ::=

  • ON | KAPALI | CLEAR [ ALL ]

    Bu veritabanında Sorgu Deposu'nun etkinleştirilip etkinleştirilmediğini denetler ve ayrıca Sorgu Deposu'nun içeriğini kaldırmayı denetler.

    • ON

      Sorgu Deposu'na olanak tanır. ON varsayılan değerdir.

    • OFF

      Sorgu Deposu'nı devre dışı bırakır.

      Note

      Sorgu Deposu, Azure SQL Veritabanı tek veritabanında ve Elastik Havuz'da devre dışı bırakılamaz. ALTER DATABASE [database] SET QUERY_STORE = OFF yürütülürken 'QUERY_STORE=OFF' is not supported in this version of SQL Server.uyarısını döndürür.

    • CLEAR

      Sorgu Deposu'nun içeriğini kaldırın.

OPERATION_MODE

Sorgu Deposu'nun işlem modunu açıklar. Geçerli değerler READ_ONLY ve READ_WRITE. READ_WRITE modunda Sorgu Deposu sorgu planı ve çalışma zamanı yürütme istatistikleri bilgilerini toplar ve kalıcı hale toplar. READ_ONLY modunda bilgiler Sorgu Deposu'ndan okunabilir, ancak yeni bilgiler eklenmez. Sorgu Deposu'nun ayrılan en fazla alanı tükendiyse, Sorgu Deposu işlem modunu READ_ONLY olarak değiştirir.

CLEANUP_POLICY

Sorgu Deposu'nun veri saklama ilkesini açıklar. STALE_QUERY_THRESHOLD_DAYS, sorgu bilgilerinin Sorgu Deposu'nda tutulduğu gün sayısını belirler. STALE_QUERY_THRESHOLD_DAYS büyük tip. Varsayılan değer 30'dur. SQL Database Basic sürümünde varsayılan süre 7 gündür.

DATA_FLUSH_INTERVAL_SECONDS

Sorgu Deposu'na yazılan verilerin diskte kalıcı olduğu sıklığı belirler. Performansı iyileştirmek için Sorgu Deposu tarafından toplanan veriler zaman uyumsuz olarak diske yazılır. Bu zaman uyumsuz aktarımın gerçekleşme sıklığı, DATA_FLUSH_INTERVAL_SECONDS bağımsız değişkeni kullanılarak yapılandırılır. DATA_FLUSH_INTERVAL_SECONDS büyük tip. Varsayılan değer 900 (15 dakika).

MAX_STORAGE_SIZE_MB

Sorgu Deposu'na ayrılan alanı belirler. MAX_STORAGE_SIZE_MB büyük tip.

Note

Azure SQL Veritabanı'nda varsayılan MAX_STORAGE_SIZE_MB değer hizmet katmanına göre şu şekilde farklılık gösterir: Premium, İş Kritik ve Hiper Ölçek: 1.024 MB; Standart ve Genel Amaç: 100 MB; Temel: 10 MB İzin MAX_STORAGE_SIZE_MB verilen maksimum değer 10.240 MB'dir.

Note

MAX_STORAGE_SIZE_MB sınırı kesinlikle uygulanmaz. Depolama boyutu yalnızca Sorgu Deposu diske veri yazdığında denetlenmektedir. Bu aralık, veri temizleme aralığı seçeneği veya Management Studio Sorgu Deposu iletişim kutusu seçeneği tarafından ayarlanır. Aralık varsayılan değeri 900 saniyedir (veya 15 dakika). Sorgu Deposu depolama boyutu denetimleri arasındaki MAX_STORAGE_SIZE_MB sınırını aştıysa salt okunur moda geçer. SIZE_BASED_CLEANUP_MODE etkinleştirilirse, MAX_STORAGE_SIZE_MB sınırını zorlamak için temizleme mekanizması da tetikler. Yeterli alan temizlendikten sonra Sorgu Deposu modu otomatik olarak yeniden okuma-yazma moduna geçer.

Important

İş yükünüzü yakalamanızın 10 GB'dan fazla disk alanına ihtiyacı olduğunu düşünüyorsanız, muhtemelen iş yükünüzü sorgu planlarını yeniden kullanmak için optimize etmelisiniz (örneğin zorunlu parametreleştirme kullanmak veya Sorgu Mağazası yapılandırmalarını ayarlamak). SQL Server 2019'dan (15.x) başlayarak ve Azure SQL Veritabanı'nda sorgu yakalama ilkesi üzerinde ek denetim için QUERY_CAPTURE_MODE CUSTOM olarak ayarlayabilirsiniz.

INTERVAL_LENGTH_MINUTES

Çalışma zamanı yürütme istatistikleri verilerinin Sorgu Deposu'nda toplandığı zaman aralığını belirler. Alan kullanımını iyileştirmek için, çalışma zamanı istatistikleri deposundaki çalışma zamanı yürütme istatistikleri sabit bir zaman aralığı boyunca toplanır. Bu sabit zaman penceresi INTERVAL_LENGTH_MINUTES bağımsız değişkeni kullanılarak yapılandırılır. INTERVAL_LENGTH_MINUTES büyük tip. Varsayılan değer 60'tır.

SIZE_BASED_CLEANUP_MODE = { AUTO | KAPALI }

Toplam veri miktarı maksimum boyuta yaklaştığında temizlemenin otomatik olarak etkinleştirilip etkinleştirilmediğini denetler.

  • OFF

    Boyut tabanlı temizleme otomatik olarak etkinleştirilmez.

  • AUTO

    Boyut tabanlı temizlik, diskteki boyut 90% max_storage_size_mb'ye ulaştığında otomatik olarak aktive olur. Boyut tabanlı temizleme, önce en düşük maliyetli ve en eski sorguları kaldırır. Yaklaşık 80% max_storage_size_mb noktasında durur. Bu varsayılan yapılandırma değeridir.

SIZE_BASED_CLEANUP_MODE nvarchar tipidir.

QUERY_CAPTURE_MODE { ALL | OTOMATİk | ÖZEL | NONE }

Şu anda etkin olan sorgu yakalama modunu atar. Her mod belirli sorgu yakalama ilkelerini tanımlar.

Note

sorgu yakalama modu ALL, AUTO veya CUSTOM olarak ayarlandığında imleçler, Saklı Yordamlar içindeki sorgular ve Yerel olarak derlenmiş sorgular her zaman yakalanır.

  • ALL

    Tüm sorguları yakalar.

  • AUTO

    Yürütme sayısına ve kaynak tüketimine göre ilgili sorguları yakalayın. Bu, Azure SQL Veritabanı için varsayılan yapılandırma değeridir.

  • NONE

    Yeni sorguları yakalamayı durdurun. Sorgu Deposu, zaten yakalanan sorgular için derleme ve çalışma zamanı istatistiklerini toplamaya devam eder. Önemli sorguları yakalamayı kaçırabileceğiniz için bu yapılandırmayı dikkatli kullanın.

  • CUSTOM

    QUERY_CAPTURE_POLICY seçenekleri üzerinde denetime izin verir.

QUERY_CAPTURE_MODE nvarchar tipidir.

MAX_PLANS_PER_QUERY

Her sorgu için tutulan plan sayısı üst sınırını tanımlar. MAX_PLANS_PER_QUERY tür int. Varsayılan değer 200'dür.

WAIT_STATS_CAPTURE_MODE { ON | KAPALI }

Sorgu başına bekleme istatistiklerinin yakalanıp yakalanmayacağını denetler.

  • ON

    Sorgu başına bekleme istatistikleri bilgileri yakalanır. Bu değer varsayılan yapılandırma değeridir.

  • OFF

    Sorgu başına bekleme istatistikleri bilgileri yakalanmaz.

< > query_capture_policy_option_list :: =

Sorgu Deposu yakalama ilkesi seçeneklerini denetler. STALE_CAPTURE_POLICY_THRESHOLD dışında, bu seçenekler sorguların tanımlanan Eski Yakalama İlkesi Eşiği değerinde yakalanması için gerçekleşmesi gereken OR koşullarını tanımlar.

STALE_CAPTURE_POLICY_THRESHOLD = tam sayı { GÜNLER | SAATLER }

Bir sorgunun yakalanması gerekip gerekmediğini belirlemek için değerlendirme aralığını tanımlar. Varsayılan değer 1 gündür ve 1 saatten yedi güne ayarlanabilir. NumaraINT'dir.

EXECUTION_COUNT = tam sayı

Bir sorgunun değerlendirme süresi boyunca yürütülme sayısını tanımlar. Varsayılan değer 30'dur. Bu, varsayılan Eski Yakalama İlkesi Eşiği için sorgunun Sorgu Deposu'nda kalıcı olması için bir günde en az 30 kez yürütülmesi gerektiği anlamına gelir. EXECUTION_COUNT tür int.

TOTAL_COMPILE_CPU_TIME_MS = tam sayı

Değerlendirme süresi boyunca sorgu tarafından kullanılan toplam derleme CPU süresini tanımlar. Varsayılan değer 1000'dir ve bu da varsayılan Eski Yakalama İlkesi Eşiği için sorgunun Sorgu Deposu'nda kalıcı olması için sorgu derlemesi sırasında harcanan cpu süresinin bir gün içinde toplam en az bir saniye olması gerektiği anlamına gelir. TOTAL_COMPILE_CPU_TIME_MS tür int.

TOTAL_EXECUTION_CPU_TIME_MS = tam sayı

Değerlendirme süresi boyunca sorgu tarafından kullanılan toplam yürütme CPU süresini tanımlar. Varsayılan değer 100'dür. Bu, varsayılan Eski Yakalama İlkesi Eşiği için sorgunun Sorgu Deposu'nda kalıcı olması için bir günde yürütme sırasında harcanan toplam CPU süresi en az 100 ms olması gerektiği anlamına gelir. TOTAL_EXECUTION_CPU_TIME_MS tür int.

< > snapshot_option ::=

İşlem yalıtım düzeyini belirler.

ALLOW_SNAPSHOT_ISOLATION { ON | KAPALI }

  • ON

    Veritabanı düzeyinde Anlık Görüntü seçeneğini etkinleştirir. Etkinleştirildiğinde, hiçbir işlem Anlık Görüntü Yalıtımı kullanmasa bile DML deyimleri satır sürümleri oluşturmaya başlar. Bu seçenek etkinleştirildikten sonra işlemler SNAPSHOT işlem yalıtım düzeyini belirtebilir. Bir işlem SNAPSHOT yalıtım düzeyinde çalıştırıldığında, tüm deyimler işlemin başlangıcında mevcut olan verilerin anlık görüntüsünü görür. SNAPSHOT yalıtım düzeyinde çalışan bir işlem birden çok veritabanındaki verilere erişiyorsa, ALLOW_SNAPSHOT_ISOLATION tüm veritabanlarında AÇILACAK şekilde ayarlanmalıdır veya işlemdeki her deyim, from yan tümcesindeki herhangi bir başvuruda kilit ipuçlarını ALLOW_SNAPSHOT_ISOLATION OFF olduğu bir veritabanındaki bir tabloya kilitleme ipuçlarını kullanmalıdır.

  • OFF

    Veritabanı düzeyinde Anlık Görüntü seçeneğini kapatır. İşlemler SNAPSHOT işlemi yalıtım düzeyini belirtemez.

ALLOW_SNAPSHOT_ISOLATION yeni bir duruma ayarladığınızda (ON'dan KAPALI'ya veya KAPALI'dan ON'a), VERITABANıNDAki tüm mevcut işlemler işlenmeden ALTER DATABASE denetimi çağırana döndürmez. Veritabanı ZATEN ALTER DATABASE deyiminde belirtilen durumdaysa, denetim çağırana hemen döndürülür. ALTER DATABASE ifadesi hızlı dönmezse, uzun süreli işlemler olup olmadığını belirlemek için sys.dm_tran_active_snapshot_database_transactions kullanın. ALTER DATABASE deyimi iptal edilirse, veritabanı ALTER DATABASE başlatıldığında olduğu durumda kalır. sys.databases katalog görünümü, veritabanındaki anlık görüntü izolasyon işlemlerinin durumunu gösterir. snapshot_isolation_state_desc = IN_TRANSITION_TO_ONise, ALTER DATABASE .... ALLOW_SNAPSHOT_ISOLATION OFF deyimi altı saniye duraklatılır ve işlemi yeniden dener.

Veritabanı ÇEVRİmDIŞI olduğunda ALLOW_SNAPSHOT_ISOLATION durumunu değiştiremezsiniz.

READ_ONLY veritabanında ALLOW_SNAPSHOT_ISOLATION ayarlarsanız, veritabanı daha sonra READ_WRITE olarak ayarlanırsa ayar korunur.

Bu seçeneğin mevcut ayarı, snapshot_isolation_state katalog görünümündeki sütunu inceleyerek belirlenebilir.

READ_COMMITTED_SNAPSHOT { ON | KAPALI }

  • ON

    Veritabanı düzeyinde Read-Committed Anlık Görüntü seçeneğini etkinleştirir. Etkinleştirildiğinde, hiçbir işlem Anlık Görüntü Yalıtımı kullanmasa bile DML deyimleri satır sürümleri oluşturmaya başlar. Bu seçenek etkinleştirildikten sonra, READ COMMITTED yalıtım düzeyini belirten işlemler kilitleme yerine satır sürümü oluşturma kullanır. Tüm deyimler, bir işlem READ COMMITTED yalıtım düzeyinde çalıştırıldığında deyiminin başında mevcut olan verilerin anlık görüntüsünü görür.

  • OFF

    Veritabanı düzeyinde Read-Committed Anlık Görüntü seçeneğini kapatır. READ COMMITTED yalıtım düzeyini belirten işlemler kilitlemeyi kullanır.

AÇıK veya KAPALI READ_COMMITTED_SNAPSHOT ayarlamak için, ALTER DATABASE komutunu çalıştıran bağlantı dışında veritabanına etkin bağlantı olmaması gerekir. Ancak veritabanının tek kullanıcı modunda olması gerekmez. Veritabanı ÇEVRİmDIŞI olduğunda bu seçeneğin durumunu değiştiremezsiniz.

READ_ONLY veritabanında READ_COMMITTED_SNAPSHOT ayarlarsanız, veritabanı daha sonra READ_WRITE olarak ayarlandığında ayar korunur.

READ_COMMITTED_SNAPSHOT master, tempdbveya msdb sistem veritabanları için AÇIlamıyor. modelayarını değiştirirseniz, bu ayar tempdbdışında oluşturulan tüm yeni veritabanları için varsayılan ayar olur.

Bu seçeneğin mevcut ayarı, is_read_committed_snapshot_on katalog görünümündeki sütunu inceleyerek belirlenebilir.

Warning

Bir tablo oluşturulduğunda DURABILITY = SCHEMA_ONLYve READ_COMMITTED_SNAPSHOT daha sonra kullanılarak ALTER DATABASEdeğiştirildiğinde, tablodaki veri kaybolur.

Tip

Azure SQL Veritabanı'nda, bir veritabanı için READ_COMMITTED_SNAPSHOT ON veya OFF ayarlamak için ALTER DATABASE komutu master veritabanında yürütülmelidir.

MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | KAPALI }

  • ON

    İşlem yalıtım düzeyi SNAPSHOT'dan daha düşük bir yalıtım düzeyine ayarlandığında, bellek için iyileştirilmiş tablolardaki tüm yorumlanan Transact-SQL işlemleri SNAPSHOT yalıtımı altında çalıştırılır. Anlık görüntüden düşük yalıtım düzeylerine örnek olarak READ COMMITTED veya READ UNCOMMITTED verilebilir. Bu işlemler, işlem yalıtım düzeyinin oturum düzeyinde açıkça ayarlanıp ayarlanmadığını veya varsayılanın örtük olarak kullanılıp kullanılmadığını çalıştırır.

  • OFF

    Bellek için iyileştirilmiş tablolarda yorumlanan Transact-SQL işlemleri için işlem yalıtım düzeyini yükseltmez.

Veritabanı ÇEVRİmDIŞI olduğunda MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT durumunu değiştiremezsiniz.

Varsayılan değer KAPALI'dır.

Bu seçeneğin mevcut ayarı, is_memory_optimized_elevate_to_snapshot_on katalog görünümündeki sütunu inceleyerek belirlenebilir.

< > sql_option ::=

VERITABANı düzeyinde ANSI uyumluluk seçeneklerini denetler.

ANSI_NULL_DEFAULT { ON | KAPALI }

Create TABLE veya ALTER TABLE deyimlerinde null atanabilirliğin açıkça tanımlanmadığı clr kullanıcı tanımlı tür bir sütunun veya null veya NOT NULL varsayılan değerini belirler. Kısıtlamalarla tanımlanan sütunlar, bu ayar ne olursa olsun kısıtlama kurallarına uyar.

  • ON

    Varsayılan değer NULL'dir.

  • OFF

    Varsayılan değer NULL DEĞİlDİr.

SET deyimi kullanılarak ayarlanan bağlantı düzeyi ayarları, ANSI_NULL_DEFAULT için varsayılan veritabanı düzeyi ayarını geçersiz kılar. ODBC ve OLE DB istemcileri, oturum için varsayılan olarak AÇıK olarak ANSI_NULL_DEFAULT bir bağlantı düzeyi SET deyimi ayarı gönderir. SQL Server örneğine bağlandığınızda istemciler deyimini çalıştırır. Daha fazla bilgi için bkz. SET ANSI_NULL_DFLT_ON.

ANSI uyumluluğu için, ANSI_NULL_DEFAULT veritabanı seçeneğinin ON olarak ayarlanması, veritabanının varsayılan değerini NULL olarak değiştirir.

Bu seçeneğin durumunu is_ansi_null_default_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsAnsiNullDefault fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

ANSI_NULLS { ON | KAPALI }

  • ON

    Null değerle yapılan tüm karşılaştırmalar BİlİNMEYEN olarak değerlendirilir.

  • OFF

    Unicode olmayan değerlerin null değerle karşılaştırmaları, her iki değer de NULL ise TRUE olarak değerlendirilir.

Important

SQL Server'ın gelecekteki bir sürümünde ANSI_NULLS her zaman AÇIK olur ve seçeneği açıkça KAPALI olarak ayarlayan tüm uygulamalar hata oluşturur. Bu özelliği yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özelliği kullanan uygulamaları değiştirmeyi planlayın.

SET deyimi kullanılarak ayarlanan bağlantı düzeyi ayarları, ANSI_NULLS için varsayılan veritabanı ayarını geçersiz kılar. ODBC ve OLE DB istemcileri, oturum için varsayılan olarak AÇıK olarak ANSI_NULLS bir bağlantı düzeyi SET deyimi ayarı gönderir. SQL Server örneğine bağlandığınızda istemciler deyimini çalıştırır. Daha fazla bilgi için bkz. SET ANSI_NULLS.

Note

SET ANSI_NULLS hesaplanan sütunlarda veya dizinlenmiş görünümlerde dizin oluşturduğunuzda veya dizinlerde değişiklik yaptığınızda da ON olarak ayarlanmalıdır.

Bu seçeneğin durumunu is_ansi_nulls_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsAnsiNullsEnabled fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

ANSI_PADDING { ON | KAPALI }

  • ON

    Dizeler dönüştürmeden önce aynı uzunlukta doldurulur. Ayrıca varchar veya nvarchar veri tipine eklemeden önce aynı uzunluğa dolgu yaptım.

  • OFF

    Karakter değerlerinde takip eden boşlukları varchar veya nvarchar sütunlarına ekler. Ayrıca, varbinar sütunlara eklenen ikili değerlerde de geride duran sıfırlar bırakılır. Değerler sütunun uzunluğuna göre doldurulamaz.

    KAPALI belirtildiğinde, bu ayar yalnızca yeni sütunların tanımını etkiler.

Important

SQL Server'ın gelecekteki bir sürümünde, ANSI_PADDING her zaman AÇIK olur ve seçeneği açıkça KAPALI olarak ayarlayan tüm uygulamalar bir hata oluşturur. Bu özelliği yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özelliği kullanan uygulamaları değiştirmeyi planlayın. ANSI_PADDING her zaman ON olarak ayarlamanızı öneririz. ANSI_PADDING hesaplanan sütunlarda veya dizinlenmiş görünümlerde dizin oluştururken veya işlerken ON olmalıdır.

null izin veren char(n) ve ikili (n) sütunları, ANSI_PADDING ON olarak ayarlandığında sütun uzunluğuna doldurulur. ANSI_PADDING KAPALI olduğunda sondaki boşluklar ve sıfırlar kırpılır. Null izin vermeyen char(n) ve binary(n) sütunları her zaman sütunun uzunluğuna doldurulur.

SET deyimi kullanılarak ayarlanan bağlantı düzeyi ayarları, ANSI_PADDING için varsayılan veritabanı düzeyi ayarını geçersiz kılar. ODBC ve OLE DB istemcileri, varsayılan olarak oturum için AÇıK olarak ANSI_PADDING bir bağlantı düzeyi SET deyimi ayarı gönderir. SQL Server örneğine bağlandığınızda istemciler deyimini çalıştırır. Daha fazla bilgi için bkz . SET ANSI_PADDING.

Bu seçeneğin durumunu is_ansi_padding_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsAnsiPaddingEnabled fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

ANSI_WARNINGS { ON | KAPALI }

  • ON

    Sıfıra bölme gibi koşullar oluştuğunda hatalar veya uyarılar verilir. Toplama işlevlerinde null değerler göründüğünde de hatalar ve uyarılar verilir.

  • OFF

    Sıfıra bölme gibi koşullar oluştuğunda hiçbir uyarı tetiklenmez ve null değerler döndürülür.

Note

HESAPLANAN sütunlarda veya dizinlenmiş görünümlerde dizin oluşturduğunuzda veya dizinlerde değişiklik yaptığınızda SET ANSI_WARNINGS ON olarak ayarlanmalıdır.

SET deyimi kullanılarak ayarlanan bağlantı düzeyi ayarları, ANSI_WARNINGS için varsayılan veritabanı ayarını geçersiz kılar. ODBC ve OLE DB istemcileri, oturum için varsayılan olarak AÇıK olarak ANSI_WARNINGS bir bağlantı düzeyi SET deyimi ayarı gönderir. SQL Server örneğine bağlandığınızda istemciler deyimini çalıştırır. Daha fazla bilgi için bkz. SET ANSI_WARNINGS.

Bu seçeneğin durumunu is_ansi_warnings_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsAnsiWarningsEnabled fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

ARITHABORT { ON | KAPALI }

  • ON

    Sorgu yürütme sırasında taşma veya sıfıra bölme hatası oluştuğunda sorgu sonlandırılır.

  • OFF

    Bu hatalardan biri oluştuğunda bir uyarı iletisi görüntülenir. Sorgu, toplu iş veya işlem, bir uyarı görüntülense bile hata oluşmamış gibi işlemeye devam eder.

Note

SET ARITHABORT, hesaplanan sütunlarda veya dizinlenmiş görünümlerde dizin oluşturduğunuzda veya dizinlerde değişiklik yaptığınızda ON olarak ayarlanmalıdır.

Bu seçeneğin durumunu is_arithabort_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsArithmeticAbortEnabled fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

COMPATIBILITY_LEVEL = { 170 | 160 | 150 | 140 | 130 | 120 | 110 | 100 }

Daha fazla bilgi için bkz. alter database uyumluluk düzeyi.

CONCAT_NULL_YIELDS_NULL { ON | KAPALI }

  • ON

    bir birleştirme işleminin sonucu, işlenenlerden biri NULL olduğunda NULL'dır. Örneğin, "This is" ve NULL karakter dizesini birleştirmek"This is" değeri yerine NULL değerine neden olur.

  • OFF

    Null değer boş karakter dizesi olarak kabul edilir.

Note

CONCAT_NULL_YIELDS_NULL hesaplanan sütunlarda veya dizinlenmiş görünümlerde dizin oluştururken veya dizinlerde değişiklik yaparken ON olarak ayarlanmalıdır.

SQL Server'ın gelecekteki bir sürümünde, CONCAT_NULL_YIELDS_NULL her zaman AÇIK olur ve seçeneği açıkça KAPALI olarak ayarlayan tüm uygulamalar bir hata oluşturur. Bu özelliği yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özelliği kullanan uygulamaları değiştirmeyi planlayın.

SET deyimi kullanılarak ayarlanan bağlantı düzeyi ayarları, CONCAT_NULL_YIELDS_NULL için varsayılan veritabanı ayarını geçersiz kılar. Varsayılan olarak, ODBC ve OLE DB istemcileri SQL Server örneğine bağlanırken oturum için CONCAT_NULL_YIELDS_NULL bağlantı düzeyi SET deyimi ayarı gönderir. Daha fazla bilgi için bkz. SET CONCAT_NULL_YIELDS_NULL.

Bu seçeneğin durumunu is_concat_null_yields_null_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsNullConcat fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

NUMERIC_ROUNDABORT { ON | KAPALI }

  • ON

    İfadede duyarlık kaybı oluştuğunda bir hata oluşturulur.

  • OFF

    Duyarlık kaybı bir hata iletisi oluşturmaz ve sonuç, sonucun depolandığı sütunun veya değişkenin duyarlığına yuvarlanr.

Important

hesaplanan sütunlarda veya dizinlenmiş görünümlerde dizin oluştururken veya dizinlerde değişiklik yaparken NUMERIC_ROUNDABORT KAPALI olarak ayarlanmalıdır.

Bu seçeneğin durumunu is_numeric_roundabort_on katalog görünümündeki sütunda belirleyebilirsiniz. Ayrıca IsNumericRoundAbortEnabled fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

QUOTED_IDENTIFIER { ON | KAPALI }

  • ON

    Sınırlandırılmış tanımlayıcıları içine almak için çift tırnak işaretleri kullanılabilir.

    Çift tırnak işaretleri ile sınırlandırılan tüm dizeler nesne tanımlayıcıları olarak yorumlanır. Teklif edilen tanımlayıcıların tanımlayıcılar için Transact-SQL kurallarına uyması gerekmez. Bunlar anahtar sözcükler olabilir ve Transact-SQL tanımlayıcılarında izin verilmeyen karakterler içerebilir. Çift tırnak işareti (") tanımlayıcının bir parçasıysa, iki çift tırnak işaretiyle ("") temsil edilebilir.

  • OFF

    Tanımlayıcılar tırnak içinde olamaz ve tanımlayıcılar için tüm Transact-SQL kurallarını izlemelidir. Değişmez değerler tek veya çift tırnak işaretiyle sınırlandırılabilir.

SQL Server, tanımlayıcıların köşeli ayraçlarla ([ ve ]) sınırlandırılmasına da olanak tanır. Köşeli ayraçlı tanımlayıcılar, QUOTED_IDENTIFIER ayarı ne olursa olsun her zaman kullanılabilir. Daha fazla bilgi için bkz . Veritabanı tanımlayıcıları.

Tablo oluşturulduğunda, QUOTED IDENTIFIER seçeneği her zaman tablonun meta verilerinde ON olarak depolanır. Tablo oluşturulduğunda seçenek KAPALI olarak ayarlansa bile seçenek depolanır.

SET deyimi kullanılarak ayarlanan bağlantı düzeyi ayarları, QUOTED_IDENTIFIER için varsayılan veritabanı ayarını geçersiz kılar. ODBC ve OLE DB istemcileri, varsayılan olarak AÇıK olarak QUOTED_IDENTIFIER bir bağlantı düzeyi SET deyimi ayarı oluşturur. SQL Server örneğine bağlandığınızda istemciler deyimini çalıştırır. Daha fazla bilgi için bkz. SET QUOTED_IDENTIFIER.

Bu seçeneğin durumunu is_quoted_identifier_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsQuotedIdentifiersEnabled fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

RECURSIVE_TRIGGERS { ON | KAPALI }

  • ON

    AFTER tetikleyicilerinin özyinelemeli olarak tetiklemesine izin verilir.

  • OFF

    Bu seçeneğin durumunu is_recursive_triggers_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsRecursiveTriggersEnabled fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

Note

RECURSIVE_TRIGGERS KAPALI olarak ayarlandığında yalnızca doğrudan özyineleme engellenir. Dolaylı özyineleme özelliğini devre dışı bırakmak için iç içe tetikleyiciler sunucusu seçeneğini de 0 olarak ayarlamanız gerekir.

Bu seçeneğin durumunu is_recursive_triggers_on katalog görünümündeki sütunu veya IsRecursiveTriggersEnabled fonksiyonunun özelliğini inceleyerek belirleyebilirsiniz.

< > target_recovery_time_option ::=

Veritabanı başına dolaylı denetim noktalarının sıklığını belirtir. SQL Server 2016 (13.x) ile itibaren, yeni veritabanları için varsayılan değer 1 dakikadır, bu da veritabanının dolaylı kontrol noktaları kullandığını gösterir. Eski sürümler için varsayılan değer 0'dır ve bu, veritabanının sıklığı sunucu örneğinin kurtarma aralığı ayarına bağlı olan otomatik denetim noktaları kullandığını gösterir. Microsoft çoğu sistem için 1 dakika önerir.

TARGET_RECOVERY_TIME = target_recovery_time { SANIYE | DAKIKALAR }

  • target_recovery_time

    Kilitlenme durumunda belirtilen veritabanının kurtarılması için gereken süre üst sınırını belirtir. target_recovery_timetür int.

  • SECONDS

    target_recovery_time saniye sayısı olarak ifade edildiğini gösterir.

  • MINUTES

    target_recovery_time dakika sayısı olarak ifade edildiğini gösterir.

Dolaylı kontrol noktaları hakkında daha fazla bilgi için Veritabanı kontrol noktaları sayfasına bakınız.

WITH <sonlandırma> ::=

Veritabanı bir durumdan diğerine geçirildiğinde tamamlanmamış işlemlerin ne zaman geri alınıp alınamayacaını belirtir. Sonlandırma yan tümcesi atlanırsa, veritabanında herhangi bir kilit varsa ALTER DATABASE deyimi süresiz olarak bekler. Yalnızca bir sonlandırma yan tümcesi belirtilebilir ve SET yan tümcelerini izler.

Note

Tüm veritabanı seçenekleri WITH <sonlandırma> yan tümcesini kullanmaz. Daha fazla bilgi için, bu makalenin "Açıklamalar" bölümündeki Ayarlar seçenekleri altındaki tabloya bakınız.

  • TAM SAYI SONRASI GERİ GERİ DÖNÜŞ [SANIYELER] | HEMEN GERI DÖNÜŞ

    Belirtilen saniye sayısından sonra mı yoksa hemen mi geri alınmayacağını belirtir.

  • NO_WAIT

    İstenen veritabanı durumu veya seçenek değişikliği hemen tamamlanamadıysa isteğin başarısız olduğunu belirtir. Hemen tamamlanması, işlemlerin kendi başına işlenmesini veya geri alınması beklenmediği anlamına gelir.

< > temporal_history_retention ::=

  • TEMPORAL_HISTORY_RETENTION { ON | KAPALI }

    Varsayılan olarak AÇILDI, ancak belirli bir noktaya geri yükleme işleminden sonra otomatik olarak KAPALI olarak ayarlanır. Bu ayarı etkinleştirme hakkında daha fazla bilgi için bkz. Bekletme ilkesini yapılandırma.

    • ON

      Default. Zamansal tablo bekletme ilkesini etkinleştirir. Daha fazla bilgi için bkz. sistem tabanlı zamana bağlı tablolarda geçmiş verilerin elde tutulmasını yönetme.

    • OFF

      Zamana bağlı geçmiş saklama ilkesi gerçekleştirmeyin.

Seçenekleri ayarlama

Veritabanı seçenekleri için güncel ayarları almak için sys.databases katalog görünümünü veya DATABASEPROPERTYEX'i kullanın

Veritabanı seçeneğini ayarladıktan sonra yeni ayar hemen etkinleşir.

Yeni oluşturulan tüm veritabanları için veritabanı seçeneklerinden herhangi birinin varsayılan değerlerini değiştirebilirsiniz. Bunu yapmak için model veritabanında uygun veritabanı seçeneğini değiştirin.

Tüm veritabanı seçenekleri WITH <sonlandırma> yan tümcesini kullanmaz veya diğer seçeneklerle birlikte belirtilebilir. Aşağıdaki tabloda bu seçenekler ve bunların seçeneği ile sonlandırma durumu listelenmiştir.

Opsiyon kategorisi Diğer seçeneklerle belirtilebilir WITH <sonlandırma> yan tümcesini kullanabilir
<auto_option> Yes No
<change_tracking_option> Yes Yes
<cursor_option> Yes No
<db_encryption_option> Yes No
<db_update_option> Yes Yes
<db_user_access_option> Yes Yes
<delayed_durability_option> Yes Yes
<parameterization_option> Yes Yes
ALLOW_SNAPSHOT_ISOLATION No No
READ_COMMITTED_SNAPSHOT No Yes
MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT Yes Yes
DATE_CORRELATION_OPTIMIZATION Yes Yes
<sql_option> Yes No
<target_recovery_time_option> No Yes

Examples

A. Veritabanını READ_ONLY olarak ayarlama

Veritabanının veya dosya grubunun durumunun READ_ONLY veya READ_WRITE olarak değiştirilmesi, veritabanına özel erişim gerektirir ve tamamlanması birkaç saniye sürebilir. Aşağıdaki örnek, erişimi sınırlamak için veritabanını RESTRICTED_USER moduna ayarlar. Örnek daha sonra AdventureWorks2025 veritabanının durumunu READ_ONLY olarak ayarlar ve veritabanına erişimi tüm kullanıcılara döndürür.

--Connect to [database_name];
GO
ALTER DATABASE [database_name]
SET RESTRICTED_USER;
GO
ALTER DATABASE [database_name]
SET READ_ONLY
--`SET READ_ONLY` command might take a few seconds to complete.
GO
ALTER DATABASE [database_name]
SET MULTI_USER;
GO

Veritabanını yeniden okuma-yazma moduna ayarlamak için:

--Connect to [database_name];
GO
ALTER DATABASE [database_name]
SET READ_WRITE
GO

Doğrulamak için:

SELECT [name], user_access_desc, is_read_only FROM sys.databases
WHERE [name] = 'database_name'
GO

B. Veritabanında anlık görüntü yalıtımını etkinleştirme

Aşağıdaki örnek, AdventureWorks2025 veritabanı için anlık görüntü yalıtım çerçevesi seçeneğini etkinleştirir.

--Connect to [database_name]
GO
ALTER DATABASE [database_name]
SET ALLOW_SNAPSHOT_ISOLATION ON;
GO

Veritabanındaki snapshot_isolation_framework durumunu doğrulayın.

--Connect to [database_name]
SELECT name, snapshot_isolation_state,
    snapshot_isolation_state_desc AS description
FROM sys.databases
WHERE name = N'database_name';
GO

Sonuç kümesi, anlık görüntü yalıtım çerçevesinin etkinleştirildiğini gösterir.

name snapshot_isolation_state description
[database_name] 1 ON

C. Değişiklik izlemeyi etkinleştirme, değiştirme veya devre dışı bırakma

Aşağıdaki örnek, AdventureWorks2025 veritabanı için değişiklik izlemeyi etkinleştirir ve bekletme süresini 2 güne ayarlar.

--Connect to [database_name]
ALTER DATABASE [database_name]
SET CHANGE_TRACKING = ON
(AUTO_CLEANUP = ON, CHANGE_RETENTION = 2 DAYS);

Aşağıdaki örnekte bekletme süresinin 3 gün olarak nasıl değiştireceği gösterilmektedir.

--Connect to [database_name]
ALTER DATABASE [database_name]
SET CHANGE_TRACKING (CHANGE_RETENTION = 3 DAYS);

Aşağıdaki örnekte, AdventureWorks2025 veritabanı için değişiklik izlemeyi devre dışı bırakma gösterilmektedir.

--Connect to [database_name]
ALTER DATABASE [database_name]
SET CHANGE_TRACKING = OFF;

D. Sorgu Deposunu Etkinleştirme

Aşağıdaki örnekte Sorgu Deposu etkinleştirilip Sorgu Deposu parametreleri yapılandırılır.

--Connect to [database_name]
ALTER DATABASE [database_name]
SET QUERY_STORE = ON
    (
      OPERATION_MODE = READ_WRITE,
      CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
      DATA_FLUSH_INTERVAL_SECONDS = 900,
      QUERY_CAPTURE_MODE = AUTO,
      MAX_STORAGE_SIZE_MB = 1024,
      INTERVAL_LENGTH_MINUTES = 60
    );

E. Sorgu Deposu'nı bekleme istatistikleriyle etkinleştirme

Aşağıdaki örnek Sorgu Deposu'na olanak tanır ve parametrelerini yapılandırmaktadır.

--Connect to [database_name]
ALTER DATABASE [database_name]
SET QUERY_STORE = ON
    (
      OPERATION_MODE = READ_WRITE,
      CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
      DATA_FLUSH_INTERVAL_SECONDS = 900,
      MAX_STORAGE_SIZE_MB = 1024,
      INTERVAL_LENGTH_MINUTES = 60,
      SIZE_BASED_CLEANUP_MODE = AUTO,
      MAX_PLANS_PER_QUERY = 200,
      WAIT_STATS_CAPTURE_MODE = ON
    );

F. Özel yakalama ilkesi seçenekleriyle Sorgu Deposu'yu etkinleştirme

Aşağıdaki örnek Sorgu Deposu'na olanak tanır ve parametrelerini yapılandırmaktadır.

--Connect to [database_name]
ALTER DATABASE [database_name]
SET QUERY_STORE = ON
    (
      OPERATION_MODE = READ_WRITE,
      CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
      DATA_FLUSH_INTERVAL_SECONDS = 900,
      MAX_STORAGE_SIZE_MB = 1024,
      INTERVAL_LENGTH_MINUTES = 60,
      SIZE_BASED_CLEANUP_MODE = AUTO,
      MAX_PLANS_PER_QUERY = 200,
      WAIT_STATS_CAPTURE_MODE = ON,
      QUERY_CAPTURE_MODE = CUSTOM,
      QUERY_CAPTURE_POLICY = (
        STALE_CAPTURE_POLICY_THRESHOLD = 24 HOURS,
        EXECUTION_COUNT = 30,
        TOTAL_COMPILE_CPU_TIME_MS = 1000,
        TOTAL_EXECUTION_CPU_TIME_MS = 100
      )
    );

* SQL Yönetilen Örneği *  

Azure Synapse'i
Analiz

 

Azure SQL Yönetilen Örneği

Uyumluluk düzeyleri SET seçeneklerdir ancak ALTER DATABASE uyumluluk düzeyiaçıklanmıştır.

Note

Birçok veritabanı kümesi seçeneği, mevcut oturum için SET Statement'ları kullanılarak yapılandırılabilir ve uygulamalar bağlandıklarında genellikle yapılandırılır. Oturum düzeyi ayar seçenekleri ALTER DATABASE SET değerlerini geçersiz kılar. Aşağıdaki bölümlerde açıklanan veritabanı seçenekleri, diğer ayar seçeneği değerlerini açıkça sağlamayan oturumlar için ayarlanabilen değerlerdir.

Syntax

ALTER DATABASE { database_name | Current }
SET
{
    <optionspec> [ ,...n ]
}
;

<optionspec> ::=
{
    <auto_option>
  | <change_tracking_option>
  | <cursor_option>
  | <db_encryption_option>
  | <delayed_durability_option>
  | <parameterization_option>
  | <query_store_options>
  | <snapshot_option>
  | <sql_option>
  | <target_recovery_time_option>
  | <termination>
  | <temporal_history_retention>
}
;
<auto_option> ::=
{
    AUTO_CREATE_STATISTICS { OFF | ON [ ( INCREMENTAL = { ON | OFF } ) ] }
  | AUTO_SHRINK { ON | OFF }
  | AUTO_UPDATE_STATISTICS { ON | OFF }
  | AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
}

<automatic_tuning_option> ::=
{
    AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = { DEFAULT | ON | OFF } )
}

<change_tracking_option> ::=
{
    CHANGE_TRACKING
    {
       = OFF
     | = ON [ ( <change_tracking_option_list > [,...n] ) ]
     | ( <change_tracking_option_list> [,...n] )
    }
}

<change_tracking_option_list> ::=
   {
       AUTO_CLEANUP = { ON | OFF }
     | CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
   }

<cursor_option> ::=
{
    CURSOR_CLOSE_ON_COMMIT { ON | OFF }
}

<db_encryption_option> ::=
  ENCRYPTION { ON | OFF }

<delayed_durability_option> ::=DELAYED_DURABILITY = { DISABLED | ALLOWED | FORCED }

<parameterization_option> ::=
  PARAMETERIZATION { SIMPLE | FORCED }

<query_store_options> ::=
{
  QUERY_STORE
  {
    = OFF
    | = ON [ ( <query_store_option_list> [,... n] ) ]
    | ( < query_store_option_list> [,... n] )
    | CLEAR [ ALL ]
  }
}

<query_store_option_list> ::=
{
  OPERATION_MODE = { READ_WRITE | READ_ONLY }
  | CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = number )
  | DATA_FLUSH_INTERVAL_SECONDS = number
  | MAX_STORAGE_SIZE_MB = number
  | INTERVAL_LENGTH_MINUTES = number
  | SIZE_BASED_CLEANUP_MODE = { AUTO | OFF }
  | QUERY_CAPTURE_MODE = { ALL | AUTO | CUSTOM | NONE }
  | MAX_PLANS_PER_QUERY = number
  | WAIT_STATS_CAPTURE_MODE = { ON | OFF }
  | QUERY_CAPTURE_POLICY = ( <query_capture_policy_option_list> [,...n] )
}

<query_capture_policy_option_list> :: =
{
    STALE_CAPTURE_POLICY_THRESHOLD = number { DAYS | HOURS }
    | EXECUTION_COUNT = number
    | TOTAL_COMPILE_CPU_TIME_MS = number
    | TOTAL_EXECUTION_CPU_TIME_MS = number
}

<snapshot_option> ::=
{
    ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
  | READ_COMMITTED_SNAPSHOT { ON | OFF }
  | MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | OFF }
}
<sql_option> ::=
{
    ANSI_NULL_DEFAULT { ON | OFF }
  | ANSI_NULLS { ON | OFF }
  | ANSI_PADDING { ON | OFF }
  | ANSI_WARNINGS { ON | OFF }
  | ARITHABORT { ON | OFF }
  | COMPATIBILITY_LEVEL = { 170 | 160 | 150 | 140 | 130 | 120 | 110 | 100 }
  | CONCAT_NULL_YIELDS_NULL { ON | OFF }
  | NUMERIC_ROUNDABORT { ON | OFF }
  | QUOTED_IDENTIFIER { ON | OFF }
  | RECURSIVE_TRIGGERS { ON | OFF }
}

<temporal_history_retention>::= TEMPORAL_HISTORY_RETENTION { ON | OFF }

Arguments

database_name

Değiştirilecek veritabanının adı.

CURRENT

CURRENT eylemi geçerli veritabanında çalıştırır. CURRENT tüm bağlamlardaki tüm seçenekler için desteklenmez. CURRENT başarısız olursa veritabanı adını belirtin.

< > auto_option ::=

Otomatik seçenekleri denetler.

AUTO_CREATE_STATISTICS { ON | KAPALI }

  • ON

    Sorgu İyileştiricisi, sorgu planlarını ve sorgu performansını geliştirmek için gerektiğinde sorgu koşullarındaki tek sütunlarda istatistikler oluşturur. Bu tek sütunlu istatistikler, Sorgu İyileştiricisi sorguları derlediğinde oluşturulur. Tek sütunlu istatistikler yalnızca mevcut istatistik nesnesinin ilk sütunu olmayan sütunlarda oluşturulur.

    Varsayılan değer ON'dır. Çoğu veritabanı için varsayılan ayarı kullanmanızı öneririz.

  • OFF

    Sorgu İyileştiricisi, sorgu derlerken sorgu koşullarında tek sütunlarda istatistik oluşturmaz. Bu seçeneğin KAPALI olarak ayarlanması, yetersiz sorgu planlarına ve düşük sorgu performansına neden olabilir.

    Bu seçeneğin durumunu is_auto_create_stats_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsAutoCreateStatistics fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

    Daha fazla bilgi için İstatistik bölümündeki "İstatistik seçenekleri" bölümüne bakınız.

ARTıMLı = ON | KAPALI

AUTO_CREATE_STATISTICS AÇıK olarak ayarlayın ve ARTıMLı'yı ON olarak ayarlayın. Bu ayar, artımlı istatistikler desteklendiği her durumda otomatik olarak oluşturulan istatistikleri artımlı olarak oluşturur. Varsayılan değer KAPALI'dır. Daha fazla bilgi için bkz. CREATE STATISTICS.

AUTO_SHRINK { ON | KAPALI }

  • ON

    Veritabanı dosyaları düzenli aralıklarla daraltma için adaydır. Belirli bir gereksiniminiz yoksa AUTO_SHRINK veritabanı seçeneğini ON olarak ayarlamayın. Daha fazla bilgi için bkz. veritabanını küçültme.

    Hem veri dosyası hem de günlük dosyaları otomatik olarak küçültülebilir. AUTO_SHRINK işlem günlüğünün boyutunu yalnızca veritabanını SIMPLE kurtarma modeli olarak ayarlarsanız veya günlüğü yedeklerseniz azaltır. KAPALI olarak ayarlandığında, kullanılmayan alan için düzenli denetimler sırasında veritabanı dosyaları otomatik olarak küçültülür.

    AUTO_SHRINK seçeneği, dosyanın yüzde 25'inden fazlası kullanılmayan alan içerdiğinde dosyaların küçültülmelerine neden olur. seçeneği, dosyanın iki boyuttan birine küçültülmesini sağlar. Aşağıdakilerden hangisi daha büyükse küçülür:

    • Dosyanın yüzde 25'inin kullanılmayan alan olduğu boyut
    • Dosyanın oluşturulduğu zaman boyutu

    Salt okunur veritabanını küçültemezsiniz.

  • OFF

    Kullanılmayan alan için düzenli aralıklarla yapılan denetimler sırasında veritabanı dosyaları otomatik olarak küçülmez.

Bu seçeneğin durumunu is_auto_shrink_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsAutoShrink fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

Note

AUTO_SHRINK seçeneği, Kapsanan Veritabanında kullanılamaz.

AUTO_UPDATE_STATISTICS { ON | KAPALI }

  • ON

    Sorgu İyileştiricisi'nin bir sorgu tarafından kullanıldığında ve güncel olma durumlarında istatistikleri güncelleştirdiğini belirtir. Ekleme, güncelleştirme, silme veya birleştirme işlemleri tablodaki veya dizinli görünümdeki veri dağıtımını değiştirdikten sonra istatistikler güncel değildir. Sorgu İyileştiricisi, son istatistik güncelleştirmelerinden bu yana yapılan veri değişikliklerinin sayısını sayarak ve değişikliklerin sayısını bir eşikle karşılaştırarak istatistiklerin ne zaman güncel olabileceğini belirler. Eşik, tablodaki veya dizinli görünümdeki satır sayısını temel alır.

    Sorgu İyileştiricisi, sorgu derlemeden ve önbelleğe alınmış bir sorgu planı çalıştırmadan önce güncel olmayan istatistikleri denetler. Sorgu İyileştiricisi, hangi istatistiklerin güncel olmayabileceğini belirlemek için sorgu koşulundaki sütunları, tabloları ve dizine alınan görünümleri kullanır. Sorgu İyileştirici bu bilgileri bir sorgu derlemeden önce belirler. Önbelleğe alınmış bir sorgu planını çalıştırmadan önce Veritabanı Altyapısı, sorgu planının up-totarih istatistiklerine başvurduğunu doğrular.

    AUTO_UPDATE_STATISTICS seçeneği dizinler için oluşturulan istatistikler, sorgu koşulundaki tek sütunlar ve CREATE STATISTICS deyimi kullanılarak oluşturulan istatistikler için geçerlidir. Bu seçenek filtrelenmiş istatistikler için de geçerlidir.

    Varsayılan değer ON'dır. Çoğu veritabanı için varsayılan ayarı kullanmanızı öneririz.

    İstatistiklerin zaman uyumlu mu yoksa zaman uyumsuz olarak mı güncelleştirileceğini belirtmek için AUTO_UPDATE_STATISTICS_ASYNC seçeneğini kullanın.

  • OFF

    Sorgu İyileştirici'nin bir sorgu tarafından kullanıldığında istatistikleri güncelleştirmediğini belirtir. Sorgu İyileştiricisi ayrıca güncel olmayan istatistikleri güncelleştirmez. Bu seçeneğin KAPALI olarak ayarlanması, yetersiz sorgu planlarına ve düşük sorgu performansına neden olabilir.

Bu seçeneğin durumunu is_auto_update_stats_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsAutoUpdateStatistics fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

Daha fazla bilgi için, İstatistik bölümünde "Veritabanı çapında istatistik seçeneklerinin kullanımı" bölümüne bakınız.

AUTO_UPDATE_STATISTICS_ASYNC { ON | KAPALI }

  • ON

    AUTO_UPDATE_STATISTICS seçeneği için istatistik güncelleştirmelerinin zaman uyumsuz olduğunu belirtir. Sorgu İyileştiricisi, sorguları derlemeden önce istatistik güncelleştirmelerinin tamamlanmasını beklemez.

    AUTO_UPDATE_STATISTICS AÇıK olarak ayarlanmadığı sürece bu seçeneğiN ON olarak ayarlanmasının hiçbir etkisi olmaz.

    Varsayılan olarak, AUTO_UPDATE_STATISTICS_ASYNC seçeneği KAPALI olarak ayarlanır ve Sorgu İyileştiricisi istatistikleri zaman uyumlu olarak güncelleştirir.

  • OFF

    AUTO_UPDATE_STATISTICS seçeneği için istatistik güncelleştirmelerinin zaman uyumlu olduğunu belirtir. Sorgu İyileştiricisi, sorguları derlemeden önce istatistik güncelleştirmelerinin tamamlanmasını bekler.

    AUTO_UPDATE_STATISTICS AÇıK olarak ayarlanmadığı sürece bu seçeneği KAPALI olarak ayarlamanın hiçbir etkisi olmaz.

Bu seçeneğin durumunu is_auto_update_stats_async_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz.

Eşzamanlı veya asenkron istatistik güncellemelerinin ne zaman kullanılacağını açıklayan daha fazla bilgi için, İstatistik bölümünde "Veritabanı çapında istatistik seçeneklerinin kullanılması" bölümüne bakınız.

< > automatic_tuning_option ::=

Otomatik ayar için otomatik seçenekleri kontrol eder.

FORCE_LAST_GOOD_PLAN = { DEFAULT | ON | KAPALI }

FORCE_LAST_GOOD_PLAN seçeneğini etkinleştiriyor veya devre dışı bırakıyor.

  • DEFAULT

    Azure SQL Yönetilen Örneği için varsayılan değer ON'dır.

  • ON

    Veritabanı Altyapısı, yeni sorgu planının performans regresyonlarına neden olduğu Transact-SQL sorgularda bilinen son iyi planı otomatik olarak zorlar. Veritabanı Altyapısı, zorlamalı planla Transact-SQL sorgunun sorgu performansını sürekli izler. Performans kazançları varsa Veritabanı Altyapısı bilinen son iyi planı kullanmaya devam eder. Performans kazanımları algılanmamışsa Veritabanı Altyapısı yeni bir sorgu planı oluşturur. Query Store etkin değilse veya Okuma-Yazma modunda değilse bu ifade başarısız olur. Bu varsayılan değerdir.

  • OFF

    Veritabanı Motoru, sys.dm_db_tuning_recommendations görünümdeki sorgu planı değişikliklerinden kaynaklanabilecek olası sorgu performansı gerilemelerini bildirir. Ancak bu öneriler otomatik olarak uygulanmaz. Kullanıcılar, görünümde gösterilen Transact-SQL betikleri uygulayarak etkin önerileri izleyebilir ve tanımlanan sorunları çözebilir.

< > change_tracking_option ::=

Değişiklik izleme seçeneklerini denetler. Değişiklik izlemeyi etkinleştirebilir, seçenekleri ayarlayabilir, seçenekleri değiştirebilir ve değişiklik izlemeyi devre dışı bırakabilirsiniz. Örnekler için, bu makalenin ilerleyen bölümlerinde Örnekler bölümüne bakınız.

  • ON

    Veritabanı için değişiklik izlemeyi etkinleştirir. Değişiklik izlemeyi etkinleştirdiğinizde, AUTO CLEANUP ve CHANGE RETENTION seçeneklerini de ayarlayabilirsiniz.

AUTO_CLEANUP = { ON | KAPALI }

  • ON

    Değişiklik izleme bilgileri belirtilen saklama süresinden sonra otomatik olarak kaldırılır.

  • OFF

    Değişiklik izleme verileri veritabanından kaldırılmaz.

CHANGE_RETENTION = retention_period { GÜNLER | SAATLER | DAKIKALAR }

Değişiklik izleme bilgilerini veritabanında tutmak için en düşük süreyi belirtir. Veriler yalnızca AUTO_CLEANUP değeri AÇILDI olduğunda kaldırılır.

retention_period , tutma süresinin sayısal bileşenini belirten bir tam sayıdır.

Varsayılan tutma süresi 2 gündür. En düşük saklama süresi 1 dakikadır. Varsayılan tutma türü DAYS'tir.

  • OFF

    Veritabanı için değişiklik izlemeyi devre dışı bırakır. Veritabanında değişiklik izlemeyi devre dışı bırakmadan önce tüm tablolarda değişiklik izlemeyi devre dışı bırakın.

< > cursor_option ::=

İmleç seçeneklerini denetler.

CURSOR_CLOSE_ON_COMMIT { ON | KAPALI }

  • ON

    bir işlemi işlediğiniz veya geri aldığınızda açılan tüm imleçler kapatılır.

  • OFF

    bir işlem işlendiğinde imleçler açık kalır; bir işlemi geri döndürmek, DUYARSIZ veya STATIK olarak tanımlananlar dışında tüm imleçleri kapatır.

SET deyimi kullanılarak ayarlanan bağlantı düzeyi ayarları, CURSOR_CLOSE_ON_COMMIT için varsayılan veritabanı ayarını geçersiz kılar. ODBC ve OLE DB istemcileri, oturum için varsayılan olarak OFF olarak CURSOR_CLOSE_ON_COMMIT bir bağlantı düzeyi SET deyimi ayarı gönderir. SQL Server örneğine bağlandığınızda istemciler deyimini çalıştırır. Daha fazla bilgi için bkz. SET CURSOR_CLOSE_ON_COMMIT.

Bu seçeneğin durumunu is_cursor_close_on_commit_on katalog görünümündeki sütunu veya DATABASEPROPERTYEX fonksiyonunun IsCloseCursorsOnCommitEnabled özelliğini inceleyerek belirleyebilirsiniz. İmleç örtük olarak yalnızca bağlantı kesildiğinde serbest bırakılır. Daha fazla bilgi için bkz. DECLARE CURSOR.

< > db_encryption_option ::=

Veritabanı şifreleme durumunu denetler.

ŞIFRELEME { ON | KAPALI }

Veritabanını şifrelenecek (ON) veya şifrelenmez (KAPALI) olarak ayarlar. Veritabanı şifrelemesi hakkında daha fazla bilgi için bkz. Saydam veri şifrelemesi (TDE)ve Azure SQL Veritabanı, Azure SQL Yönetilen Örneği ve Azure Synapse Analyticsiçin saydam veri şifrelemesi.

Şifreleme veritabanı düzeyinde etkinleştirildiğinde, tüm dosya grupları şifrelenir. Tüm yeni dosya grupları şifrelenmiş özelliği devralır. Veritabanındaki herhangi bir dosya grubu SALT OKUNUR olarak ayarlanırsa, veritabanı şifreleme işlemi başarısız olur.

Veritabanının şifreleme durumunu sys.dm_database_encryption_keys dinamik yönetim görünümünü kullanarak görebilirsiniz.

< > delayed_durability_option ::=

İşlemlerin tamamen dayanıklı mı yoksa gecikmeli dayanıklı mı işlediğini denetler.

  • DISABLED

    SET DISABLED izleyen tüm işlemler tamamen dayanıklıdır. Atomik blokta veya işleme deyiminde ayarlanan tüm dayanıklılık seçenekleri yoksayılır.

  • ALLOWED

    SET ALLOWED izleyen tüm işlemler, atomik blokta veya işleme deyiminde ayarlanan dayanıklılık seçeneğine bağlı olarak tamamen dayanıklı veya gecikmeli dayanıklıdır.

  • FORCED

    SET FORCED izleyen tüm işlemler gecikmeli dayanıklıdır. Atomik blokta veya işleme deyiminde ayarlanan tüm dayanıklılık seçenekleri yoksayılır.

< > PARAMETERIZATION_option ::=

Parametreleştirme seçeneğini denetler.

PARAMETRELEŞTIRME { SIMPLE | FORCED }

  • SIMPLE

    Sorgular, veritabanının varsayılan davranışına göre parametreleştirilir.

  • FORCED

SQL Server, veritabanındaki tüm sorguları parametreleştirir.

Bu seçeneğin mevcut ayarı, is_parameterization_forced katalog görünümündeki sütunu inceleyerek belirlenebilir.

< > query_store_options ::=

  • ON | KAPALI | CLEAR [ ALL ]

    Bu veritabanında Sorgu Deposu'nun etkinleştirilip etkinleştirilmediğini denetler ve ayrıca Sorgu Deposu'nun içeriğini kaldırmayı denetler.

    • ON

      Sorgu Deposu'na olanak tanır.

    • OFF

      Sorgu Deposu'nı devre dışı bırakır. Bu varsayılan değerdir.

    • CLEAR

      Sorgu Deposu'nun içeriğini kaldırın.

OPERATION_MODE

Sorgu Deposu'nun işlem modunu açıklar. Geçerli değerler READ_ONLY ve READ_WRITE. READ_WRITE modunda Sorgu Deposu sorgu planı ve çalışma zamanı yürütme istatistikleri bilgilerini toplar ve kalıcı hale toplar. READ_ONLY modunda bilgiler Sorgu Deposu'ndan okunabilir, ancak yeni bilgiler eklenmez. Sorgu Deposu'nun ayrılan en fazla alanı tükendiyse, Sorgu Deposu işlem modunu READ_ONLY olarak değiştirir.

CLEANUP_POLICY

Sorgu Deposu'nun veri saklama ilkesini açıklar. STALE_QUERY_THRESHOLD_DAYS, sorgu bilgilerinin Sorgu Deposu'nda tutulduğu gün sayısını belirler. STALE_QUERY_THRESHOLD_DAYS büyük tip. Varsayılan değer 30'dur. SQL Database Basic sürümünde varsayılan süre 7 gündür.

DATA_FLUSH_INTERVAL_SECONDS

Sorgu Deposu'na yazılan verilerin diskte kalıcı olduğu sıklığı belirler. Performansı iyileştirmek için Sorgu Deposu tarafından toplanan veriler zaman uyumsuz olarak diske yazılır. Bu zaman uyumsuz aktarımın gerçekleşme sıklığı, DATA_FLUSH_INTERVAL_SECONDS bağımsız değişkeni kullanılarak yapılandırılır. DATA_FLUSH_INTERVAL_SECONDS büyük tip. Varsayılan değer 900 (15 dakika).

MAX_STORAGE_SIZE_MB

Sorgu Deposu'na ayrılan alanı belirler. MAX_STORAGE_SIZE_MB büyük tip. Varsayılan değer 100 MB'dir.

MAX_STORAGE_SIZE_MB sınırı kesinlikle uygulanmaz. Depolama boyutu yalnızca Sorgu Deposu diske veri yazdığında denetlenmektedir. Bu aralık, veri temizleme aralığı seçeneği veya Management Studio Sorgu Deposu iletişim kutusu seçeneği tarafından ayarlanır. Aralık varsayılan değeri 900 saniyedir (veya 15 dakika).

Sorgu Deposu depolama boyutu denetimleri arasındaki MAX_STORAGE_SIZE_MB sınırını aştıysa salt okunur moda geçer. SIZE_BASED_CLEANUP_MODE etkinleştirilirse, MAX_STORAGE_SIZE_MB sınırını zorlamak için temizleme mekanizması da tetikler.

Yeterli alan temizlendikten sonra Sorgu Deposu modu otomatik olarak yeniden okuma-yazma moduna geçer.

Important

  • İş yükünüzü yakalamanızın 10 GB'dan fazla disk alanına ihtiyacı olduğunu düşünüyorsanız, muhtemelen iş yükünüzü sorgu planlarını yeniden kullanmak için optimize etmelisiniz (örneğin zorunlu parametreleştirme kullanmak veya Sorgu Mağazası yapılandırmalarını ayarlamak).
  • SQL Server 2019'dan (15.x) başlayarak ve Azure SQL Veritabanı'nda sorgu yakalama ilkesi üzerinde ek denetim için QUERY_CAPTURE_MODE CUSTOM olarak ayarlayabilirsiniz.
  • MAX_STORAGE_SIZE_MB ayarı sınırı Azure SQL Yönetilen Örneği'nin 10.240 MB'tır.

INTERVAL_LENGTH_MINUTES

Çalışma zamanı yürütme istatistikleri verilerinin Sorgu Deposu'nda toplandığı zaman aralığını belirler. Alan kullanımını iyileştirmek için, çalışma zamanı istatistikleri deposundaki çalışma zamanı yürütme istatistikleri sabit bir zaman aralığı boyunca toplanır. Bu sabit zaman penceresi INTERVAL_LENGTH_MINUTES bağımsız değişkeni kullanılarak yapılandırılır. INTERVAL_LENGTH_MINUTES büyük tip. Varsayılan değer 60'tır.

SIZE_BASED_CLEANUP_MODE = { AUTO | KAPALI }

Toplam veri miktarı maksimum boyuta yaklaştığında temizlemenin otomatik olarak etkinleştirilip etkinleştirilmediğini denetler.

  • OFF

    Boyut tabanlı temizleme otomatik olarak etkinleştirilmez.

  • AUTO

    Boyut tabanlı temizlik, diskteki boyut 90% max_storage_size_mb'ye ulaştığında otomatik olarak aktive olur. Boyut tabanlı temizleme, önce en düşük maliyetli ve en eski sorguları kaldırır. Yaklaşık 80% max_storage_size_mb noktasında durur. Bu varsayılan yapılandırma değeridir.

SIZE_BASED_CLEANUP_MODE nvarchar tipidir.

QUERY_CAPTURE_MODE { ALL | OTOMATİk | ÖZEL | NONE }

Şu anda etkin olan sorgu yakalama modunu atar.

  • ALL

    Tüm sorgular yakalanır.

  • AUTO

    Yürütme sayısına ve kaynak tüketimine göre ilgili sorguları yakalayın. Bu, Azure SQL Veritabanı için varsayılan yapılandırma değeridir.

  • NONE

    Yeni sorguları yakalamayı durdurun. Sorgu Deposu, zaten yakalanan sorgular için derleme ve çalışma zamanı istatistiklerini toplamaya devam eder. Önemli sorguları yakalamayı kaçırabileceğiniz için bu yapılandırmayı dikkatli kullanın.

QUERY_CAPTURE_MODE nvarchar tipidir.

MAX_PLANS_PER_QUERY

Her sorgu için tutulan plan sayısı üst sınırını temsil eden bir tamsayı. MAX_PLANS_PER_QUERY tür int. Varsayılan değer 200'dür.

WAIT_STATS_CAPTURE_MODE { ON | KAPALI }

Sorgu başına bekleme istatistiklerinin yakalanıp yakalanmayacağını denetler.

  • ON

    Sorgu başına bekleme istatistikleri bilgileri yakalanır. Bu değer varsayılan yapılandırma değeridir.

  • OFF

    Sorgu başına bekleme istatistikleri bilgileri yakalanmaz.

< > query_capture_policy_option_list :: =

Sorgu Deposu yakalama ilkesi seçeneklerini denetler. STALE_CAPTURE_POLICY_THRESHOLD dışında, bu seçenekler sorguların tanımlanan Eski Yakalama İlkesi Eşiği değerinde yakalanması için gerçekleşmesi gereken OR koşullarını tanımlar.

STALE_CAPTURE_POLICY_THRESHOLD = tam sayı { GÜNLER | SAATLER }

Bir sorgunun yakalanması gerekip gerekmediğini belirlemek için değerlendirme aralığını tanımlar. Varsayılan değer 1 gündür ve 1 saatten yedi güne ayarlanabilir.

EXECUTION_COUNT = tam sayı

Bir sorgunun değerlendirme süresi boyunca yürütülme sayısını tanımlar. Varsayılan değer 30'dur. Bu, varsayılan Eski Yakalama İlkesi Eşiği için sorgunun Sorgu Deposu'nda kalıcı olması için bir günde en az 30 kez yürütülmesi gerektiği anlamına gelir. EXECUTION_COUNT tür int.

TOTAL_COMPILE_CPU_TIME_MS = tam sayı

Değerlendirme süresi boyunca sorgu tarafından kullanılan toplam derleme CPU süresini tanımlar. Varsayılan değer 1000'dir ve bu da varsayılan Eski Yakalama İlkesi Eşiği için sorgunun Sorgu Deposu'nda kalıcı olması için sorgu derlemesi sırasında harcanan cpu süresinin bir gün içinde toplam en az bir saniye olması gerektiği anlamına gelir. TOTAL_COMPILE_CPU_TIME_MS tür int.

TOTAL_EXECUTION_CPU_TIME_MS = tam sayı

Değerlendirme süresi boyunca sorgu tarafından kullanılan toplam yürütme CPU süresini tanımlar. Varsayılan değer 100'dür; başka bir deyişle, varsayılan Eski Yakalama İlkesi Eşiği için sorgunun Sorgu Deposu'nda kalıcı olması için bir günde yürütme sırasında harcanan toplam CPU süresi en az 100 ms olmalıdır. TOTAL_EXECUTION_CPU_TIME_MS tür int.

< > snapshot_option ::=

İşlem yalıtım düzeyini belirler.

ALLOW_SNAPSHOT_ISOLATION { ON | KAPALI }

  • ON

    Veritabanı düzeyinde Anlık Görüntü seçeneğini etkinleştirir. Etkinleştirildiğinde, hiçbir işlem Anlık Görüntü Yalıtımı kullanmasa bile DML deyimleri satır sürümleri oluşturmaya başlar. Bu seçenek etkinleştirildikten sonra işlemler SNAPSHOT işlem yalıtım düzeyini belirtebilir. Bir işlem SNAPSHOT yalıtım düzeyinde çalıştırıldığında, tüm deyimler işlemin başlangıcında mevcut olan verilerin anlık görüntüsünü görür. SNAPSHOT yalıtım düzeyinde çalışan bir işlem birden çok veritabanındaki verilere erişiyorsa, ALLOW_SNAPSHOT_ISOLATION tüm veritabanlarında AÇILACAK şekilde ayarlanmalıdır veya işlemdeki her deyim, from yan tümcesindeki herhangi bir başvuruda kilit ipuçlarını ALLOW_SNAPSHOT_ISOLATION OFF olduğu bir veritabanındaki bir tabloya kilitleme ipuçlarını kullanmalıdır.

  • OFF

    Veritabanı düzeyinde Anlık Görüntü seçeneğini kapatır. İşlemler SNAPSHOT işlemi yalıtım düzeyini belirtemez.

ALLOW_SNAPSHOT_ISOLATION yeni bir duruma ayarladığınızda (ON'dan KAPALI'ya veya KAPALI'dan ON'a), VERITABANıNDAki tüm mevcut işlemler işlenmeden ALTER DATABASE denetimi çağırana döndürmez. Veritabanı ZATEN ALTER DATABASE deyiminde belirtilen durumdaysa, denetim çağırana hemen döndürülür. ALTER DATABASE ifadesi hızlı dönmezse, uzun süreli işlemler olup olmadığını belirlemek için sys.dm_tran_active_snapshot_database_transactions kullanın. ALTER DATABASE deyimi iptal edilirse, veritabanı ALTER DATABASE başlatıldığında olduğu durumda kalır. sys.databases katalog görünümü, veritabanındaki anlık görüntü izolasyon işlemlerinin durumunu gösterir. snapshot_isolation_state_desc = IN_TRANSITION_TO_ONise, ALTER DATABASE ... ALLOW_SNAPSHOT_ISOLATION OFF deyimi altı saniye duraklatılır ve işlemi yeniden dener.

Veritabanı ÇEVRİmDIŞI olduğunda ALLOW_SNAPSHOT_ISOLATION durumunu değiştiremezsiniz.

master, model, msdbve tempdb veritabanlarının ALLOW_SNAPSHOT_ISOLATION ayarlarını değiştirebilirsiniz. tempdbayarını değiştirirseniz, Veritabanı Altyapısı örneği her durdurulduğunda ve yeniden başlatıldığında ayar korunur. model sistem veritabanının ayarını değiştirirseniz, bu ayar tempdbdışında oluşturulan tüm yeni veritabanları için varsayılan ayar olur.

seçenek, master ve msdb veritabanları için varsayılan olarak ON'dır.

Bu seçeneğin mevcut ayarı, snapshot_isolation_state katalog görünümündeki sütunu inceleyerek belirlenebilir.

READ_COMMITTED_SNAPSHOT { ON | KAPALI }

  • ON

    Veritabanı düzeyinde Read-Committed Anlık Görüntü seçeneğini etkinleştirir. Etkinleştirildiğinde, hiçbir işlem Anlık Görüntü Yalıtımı kullanmasa bile DML deyimleri satır sürümleri oluşturmaya başlar. Bu seçenek etkinleştirildikten sonra, READ COMMITTED yalıtım düzeyini belirten işlemler kilitleme yerine satır sürümü oluşturma kullanır. Tüm deyimler, bir işlem READ COMMITTED yalıtım düzeyinde çalıştırıldığında deyiminin başında mevcut olan verilerin anlık görüntüsünü görür.

  • OFF

    Veritabanı düzeyinde Read-Committed Anlık Görüntü seçeneğini kapatır. READ COMMITTED yalıtım düzeyini belirten işlemler kilitlemeyi kullanır.

READ_COMMITTED_SNAPSHOT AÇI veya KAPALI olarak ayarlamak için ALTER DATABASE komutunu çalıştıran bağlantı dışında veritabanına etkin bağlantı olmaması gerekir. Ancak veritabanının tek kullanıcı modunda olması gerekmez. Veritabanı ÇEVRİmDIŞI olduğunda bu seçeneğin durumunu değiştiremezsiniz.

READ_COMMITTED_SNAPSHOT master, tempdbveya msdb sistem veritabanları için AÇIlamıyor. model sistem veritabanının ayarını değiştirirseniz, bu ayar tempdbdışında oluşturulan tüm yeni veritabanları için varsayılan ayar olur.

Bu seçeneğin mevcut ayarı, is_read_committed_snapshot_on katalog görünümündeki sütunu inceleyerek belirlenebilir.

Warning

DAYANıKLıLıK = SCHEMA_ONLYile bir tablo oluşturulduğunda ve READ_COMMITTED_SNAPSHOT daha sonra ALTER DATABASE kullanılarak değiştirildiğinde, tablodaki veriler kaybolur.

MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | KAPALI }

  • ON

    İşlem yalıtım düzeyi SNAPSHOT'dan daha düşük bir yalıtım düzeyine ayarlandığında, bellek için iyileştirilmiş tablolardaki tüm yorumlanan Transact-SQL işlemleri SNAPSHOT yalıtımı altında çalıştırılır. Anlık görüntüden düşük yalıtım düzeylerine örnek olarak READ COMMITTED veya READ UNCOMMITTED verilebilir. Bu işlemler, işlem yalıtım düzeyinin oturum düzeyinde açıkça ayarlanıp ayarlanmadığını veya varsayılanın örtük olarak kullanılıp kullanılmadığını çalıştırır.

  • OFF

    Bellek için iyileştirilmiş tablolarda yorumlanan Transact-SQL işlemleri için işlem yalıtım düzeyini yükseltmez.

Veritabanı ÇEVRİmDIŞI olduğunda MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT durumunu değiştiremezsiniz.

Varsayılan değer KAPALI'dır.

Bu seçeneğin mevcut ayarı, is_memory_optimized_elevate_to_snapshot_on katalog görünümündeki sütunu inceleyerek belirlenebilir.

< > sql_option ::=

VERITABANı düzeyinde ANSI uyumluluk seçeneklerini denetler.

ANSI_NULL_DEFAULT { ON | KAPALI }

Create TABLE veya ALTER TABLE deyimlerinde null atanabilirliğin açıkça tanımlanmadığı clr kullanıcı tanımlı tür bir sütunun veya null veya NOT NULL varsayılan değerini belirler. Kısıtlamalarla tanımlanan sütunlar, bu ayar ne olursa olsun kısıtlama kurallarına uyar.

  • ON

    Varsayılan değer NULL'dir.

  • OFF

    Varsayılan değer NULL DEĞİlDİr.

SET deyimi kullanılarak ayarlanan bağlantı düzeyi ayarları, ANSI_NULL_DEFAULT için varsayılan veritabanı düzeyi ayarını geçersiz kılar. ODBC ve OLE DB istemcileri, oturum için varsayılan olarak AÇıK olarak ANSI_NULL_DEFAULT bir bağlantı düzeyi SET deyimi ayarı gönderir. SQL Server örneğine bağlandığınızda istemciler deyimini çalıştırır. Daha fazla bilgi için bkz. SET ANSI_NULL_DFLT_ON.

ANSI uyumluluğu için, ANSI_NULL_DEFAULT veritabanı seçeneğinin ON olarak ayarlanması, veritabanının varsayılan değerini NULL olarak değiştirir.

Bu seçeneğin durumunu is_ansi_null_default_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsAnsiNullDefault fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

ANSI_NULLS { ON | KAPALI }

  • ON

    Null değerle yapılan tüm karşılaştırmalar BİlİNMEYEN olarak değerlendirilir.

  • OFF

    Unicode olmayan değerlerin null değerle karşılaştırmaları, her iki değer de NULL ise TRUE olarak değerlendirilir.

Important

SQL Server'ın gelecekteki bir sürümünde ANSI_NULLS her zaman AÇIK olur ve seçeneği açıkça KAPALI olarak ayarlayan tüm uygulamalar hata oluşturur. Bu özelliği yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özelliği kullanan uygulamaları değiştirmeyi planlayın.

SET deyimi kullanılarak ayarlanan bağlantı düzeyi ayarları, ANSI_NULLS için varsayılan veritabanı ayarını geçersiz kılar. ODBC ve OLE DB istemcileri, oturum için varsayılan olarak AÇıK olarak ANSI_NULLS bir bağlantı düzeyi SET deyimi ayarı gönderir. SQL Server örneğine bağlandığınızda istemciler deyimini çalıştırır. Daha fazla bilgi için bkz. SET ANSI_NULLS.

Important

SET ANSI_NULLS hesaplanan sütunlarda veya dizinlenmiş görünümlerde dizin oluşturduğunuzda veya dizinlerde değişiklik yaptığınızda da ON olarak ayarlanmalıdır.

Bu seçeneğin durumunu is_ansi_nulls_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsAnsiNullsEnabled fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

ANSI_PADDING { ON | KAPALI }

  • ON

    Dizeler dönüştürmeden önce aynı uzunlukta doldurulur. Ayrıca varchar veya nvarchar veri tipine eklemeden önce aynı uzunluğa dolgu yaptım.

  • OFF

    Karakter değerlerinde takip eden boşlukları varchar veya nvarchar sütunlarına ekler. Ayrıca, varbinar sütunlara eklenen ikili değerlerde de geride duran sıfırlar bırakılır. Değerler sütunun uzunluğuna göre doldurulamaz.

    KAPALI belirtildiğinde, bu ayar yalnızca yeni sütunların tanımını etkiler.

Important

SQL Server'ın gelecekteki bir sürümünde, ANSI_PADDING her zaman AÇIK olur ve seçeneği açıkça KAPALI olarak ayarlayan tüm uygulamalar bir hata oluşturur. Bu özelliği yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özelliği kullanan uygulamaları değiştirmeyi planlayın. ANSI_PADDING her zaman ON olarak ayarlamanızı öneririz. ANSI_PADDING hesaplanan sütunlarda veya dizinlenmiş görünümlerde dizin oluştururken veya işlerken ON olmalıdır.

null izin veren char(n) ve ikili (n) sütunları, ANSI_PADDING ON olarak ayarlandığında sütun uzunluğuna doldurulur. ANSI_PADDING KAPALI olduğunda sondaki boşluklar ve sıfırlar kırpılır. Null izin vermeyen char(n) ve binary(n) sütunları her zaman sütunun uzunluğuna doldurulur.

SET deyimi kullanılarak ayarlanan bağlantı düzeyi ayarları, ANSI_PADDING için varsayılan veritabanı düzeyi ayarını geçersiz kılar. ODBC ve OLE DB istemcileri, varsayılan olarak oturum için AÇıK olarak ANSI_PADDING bir bağlantı düzeyi SET deyimi ayarı gönderir. SQL Server örneğine bağlandığınızda istemciler deyimini çalıştırır. Daha fazla bilgi için bkz . SET ANSI_PADDING.

Bu seçeneğin durumunu is_ansi_padding_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsAnsiPaddingEnabled fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

ANSI_WARNINGS { ON | KAPALI }

  • ON

    Sıfıra bölme gibi koşullar oluştuğunda hatalar veya uyarılar verilir. Toplama işlevlerinde null değerler göründüğünde de hatalar ve uyarılar verilir.

  • OFF

    Sıfıra bölme gibi koşullar oluştuğunda hiçbir uyarı tetiklenmez ve null değerler döndürülür.

Important

HESAPLANAN sütunlarda veya dizinlenmiş görünümlerde dizin oluşturduğunuzda veya dizinlerde değişiklik yaptığınızda SET ANSI_WARNINGS ON olarak ayarlanmalıdır.

SET deyimi kullanılarak ayarlanan bağlantı düzeyi ayarları, ANSI_WARNINGS için varsayılan veritabanı ayarını geçersiz kılar. ODBC ve OLE DB istemcileri, oturum için varsayılan olarak AÇıK olarak ANSI_WARNINGS bir bağlantı düzeyi SET deyimi ayarı gönderir. SQL Server örneğine bağlandığınızda istemciler deyimini çalıştırır. Daha fazla bilgi için bkz. SET ANSI_WARNINGS.

Bu seçeneğin durumunu is_ansi_warnings_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsAnsiWarningsEnabled fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

ARITHABORT { ON | KAPALI }

  • ON

    Sorgu yürütme sırasında taşma veya sıfıra bölme hatası oluştuğunda sorgu sonlandırılır.

  • OFF

    Bu hatalardan biri oluştuğunda bir uyarı iletisi görüntülenir. Sorgu, toplu iş veya işlem, bir uyarı görüntülense bile hata oluşmamış gibi işlemeye devam eder.

Important

SET ARITHABORT hesaplanan sütunlarda veya dizinlenmiş görünümlerde dizin oluştururken veya dizinlerde değişiklik yaparken (ON) etkinleştirilmelidir.

Bu seçeneğin durumunu is_arithabort_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsArithmeticAbortEnabled fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

COMPATIBILITY_LEVEL = { 170 | 160 | 150 | 140 | 130 | 120 | 110 | 100 }

Daha fazla bilgi için bkz. alter database uyumluluk düzeyi.

CONCAT_NULL_YIELDS_NULL { ON | KAPALI }

  • ON

    bir birleştirme işleminin sonucu, işlenenlerden biri NULL olduğunda NULL'dır. Örneğin, "This is" ve NULL karakter dizesini birleştirmek"This is" değeri yerine NULL değerine neden olur.

  • OFF

    Null değer boş karakter dizesi olarak kabul edilir.

Important

CONCAT_NULL_YIELDS_NULL hesaplanan sütunlarda veya dizinlenmiş görünümlerde dizin oluştururken veya dizinlerde değişiklik yaparken ON olarak ayarlanmalıdır.

SQL Server'ın gelecekteki bir sürümünde, CONCAT_NULL_YIELDS_NULL her zaman AÇIK olur ve seçeneği açıkça KAPALI olarak ayarlayan tüm uygulamalar bir hata oluşturur. Bu özelliği yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özelliği kullanan uygulamaları değiştirmeyi planlayın.

SET deyimi kullanılarak ayarlanan bağlantı düzeyi ayarları, CONCAT_NULL_YIELDS_NULL için varsayılan veritabanı ayarını geçersiz kılar. Varsayılan olarak, ODBC ve OLE DB istemcileri SQL Server örneğine bağlanırken oturum için CONCAT_NULL_YIELDS_NULL bağlantı düzeyi SET deyimi ayarı gönderir. Daha fazla bilgi için bkz. SET CONCAT_NULL_YIELDS_NULL.

Bu seçeneğin durumunu is_concat_null_yields_null_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsNullConcat fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

NUMERIC_ROUNDABORT { ON | KAPALI }

  • ON

    İfadede duyarlık kaybı oluştuğunda bir hata oluşturulur.

  • OFF

    Duyarlık kaybı bir hata iletisi oluşturmaz ve sonuç, sonucun depolandığı sütunun veya değişkenin duyarlığına yuvarlanr.

Important

hesaplanan sütunlarda veya dizinlenmiş görünümlerde dizin oluştururken veya dizinlerde değişiklik yaparken NUMERIC_ROUNDABORT KAPALI olarak ayarlanmalıdır.

Bu seçeneğin durumunu is_numeric_roundabort_on katalog görünümündeki sütunda belirleyebilirsiniz. Ayrıca IsNumericRoundAbortEnabled fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

QUOTED_IDENTIFIER { ON | KAPALI }

  • ON

    Sınırlandırılmış tanımlayıcıları içine almak için çift tırnak işaretleri kullanılabilir.

    Çift tırnak işaretleri ile sınırlandırılan tüm dizeler nesne tanımlayıcıları olarak yorumlanır. Teklif edilen tanımlayıcıların tanımlayıcılar için Transact-SQL kurallarına uyması gerekmez. Bunlar anahtar sözcükler olabilir ve Transact-SQL tanımlayıcılarında izin verilmeyen karakterler içerebilir. Çift tırnak işareti (") tanımlayıcının bir parçasıysa, iki çift tırnak işaretiyle ("") temsil edilebilir.

  • OFF

    Tanımlayıcılar tırnak içinde olamaz ve tanımlayıcılar için tüm Transact-SQL kurallarını izlemelidir. Değişmez değerler tek veya çift tırnak işaretiyle sınırlandırılabilir.

SQL Server, tanımlayıcıların köşeli ayraçlarla ([ ve ]) sınırlandırılmasına da olanak tanır. Köşeli ayraçlı tanımlayıcılar, QUOTED_IDENTIFIER ayarı ne olursa olsun her zaman kullanılabilir. Daha fazla bilgi için bkz . Veritabanı tanımlayıcıları.

Tablo oluşturulduğunda, QUOTED IDENTIFIER seçeneği her zaman tablonun meta verilerinde ON olarak depolanır. Tablo oluşturulduğunda seçenek KAPALI olarak ayarlansa bile seçenek depolanır.

SET deyimi kullanılarak ayarlanan bağlantı düzeyi ayarları, QUOTED_IDENTIFIER için varsayılan veritabanı ayarını geçersiz kılar. ODBC ve OLE DB istemcileri, varsayılan olarak AÇıK olarak QUOTED_IDENTIFIER bir bağlantı düzeyi SET deyimi ayarı oluşturur. SQL Server örneğine bağlandığınızda istemciler deyimini çalıştırır. Daha fazla bilgi için bkz. SET QUOTED_IDENTIFIER.

Bu seçeneğin durumunu is_quoted_identifier_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsQuotedIdentifiersEnabled fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

RECURSIVE_TRIGGERS { ON | KAPALI }

  • ON

    AFTER tetikleyicilerinin özyinelemeli olarak tetiklemesine izin verilir.

  • OFF

    Bu seçeneğin durumunu is_recursive_triggers_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsRecursiveTriggersEnabled fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

    Note

    RECURSIVE_TRIGGERS KAPALI olarak ayarlandığında yalnızca doğrudan özyineleme engellenir. Dolaylı özyineleme özelliğini devre dışı bırakmak için iç içe tetikleyiciler sunucusu seçeneğini de 0 olarak ayarlamanız gerekir.

Bu seçeneğin durumunu is_recursive_triggers_on katalog görünümündeki sütunu veya IsRecursiveTriggersEnabled fonksiyonunun özelliğini inceleyerek belirleyebilirsiniz.

< > target_recovery_time_option ::=

target_recovery_time_option Azure SQL Managed Instance'da desteklenmiyor.

Veritabanı başına dolaylı denetim noktalarının sıklığını belirtir. SQL Server 2016 (13.x) ile itibaren, yeni veritabanları için varsayılan değer 1 dakikadır, bu da veritabanının dolaylı kontrol noktaları kullandığını gösterir. Eski sürümler için varsayılan değer 0'dır ve bu, veritabanının sıklığı sunucu örneğinin kurtarma aralığı ayarına bağlı olan otomatik denetim noktaları kullandığını gösterir. Microsoft çoğu sistem için 1 dakika önerir.

WITH <sonlandırma> ::=

Veritabanı bir durumdan diğerine geçirildiğinde tamamlanmamış işlemlerin ne zaman geri alınıp alınamayacaını belirtir. Sonlandırma yan tümcesi atlanırsa, veritabanında herhangi bir kilit varsa ALTER DATABASE deyimi süresiz olarak bekler. Yalnızca bir sonlandırma yan tümcesi belirtilebilir ve SET yan tümcelerini izler.

Note

Tüm veritabanı seçenekleri WITH <sonlandırma> yan tümcesini kullanmaz. Daha fazla bilgi için, bu makalenin "Açıklamalar" bölümündeki Ayarlar seçenekleri altındaki tabloya bakınız.

  • TAM SAYI SONRASI GERİ GERİ DÖNÜŞ [SANIYELER] | HEMEN GERI DÖNÜŞ

    Belirtilen saniye sayısından sonra mı yoksa hemen mi geri alınmayacağını belirtir.

  • NO_WAIT

    İstenen veritabanı durumu veya seçenek değişikliği hemen tamamlanamadıysa isteğin başarısız olduğunu belirtir. Hemen tamamlanması, işlemlerin kendi başına işlenmesini veya geri alınması beklenmediği anlamına gelir.

< > temporal_history_retention ::=

  • TEMPORAL_HISTORY_RETENTION { ON | KAPALI }

    Varsayılan olarak AÇILDI, ancak belirli bir noktaya geri yükleme işleminden sonra otomatik olarak KAPALI olarak ayarlanır. Bu ayarı etkinleştirme hakkında daha fazla bilgi için bkz. Bekletme ilkesini yapılandırma.

    • ON

      Default. Zamansal tablo bekletme ilkesini etkinleştirir. Daha fazla bilgi için bkz. sistem tabanlı zamana bağlı tablolarda geçmiş verilerin elde tutulmasını yönetme.

    • OFF

      Zamana bağlı geçmiş saklama ilkesi gerçekleştirmeyin.

Seçenekleri ayarlama

Veritabanı seçenekleri için güncel ayarları almak için sys.databases katalog görünümünü veya DATABASEPROPERTYEX'i kullanın

Veritabanı seçeneğini ayarladıktan sonra yeni ayar hemen etkinleşir.

Yeni oluşturulan tüm veritabanları için veritabanı seçeneklerinden herhangi birinin varsayılan değerlerini değiştirebilirsiniz. Bunu yapmak için model sistem veritabanında uygun veritabanı seçeneğini değiştirin.

Examples

A. Veritabanında anlık görüntü yalıtımını etkinleştirme

Aşağıdaki örnek, AdventureWorks2025 veritabanı için anlık görüntü yalıtım çerçevesi seçeneğini etkinleştirir.

USE master;
GO
ALTER DATABASE [database_name]
SET ALLOW_SNAPSHOT_ISOLATION ON;
GO
-- Check the state of the snapshot_isolation_framework
-- in the database.
SELECT name, snapshot_isolation_state,
    snapshot_isolation_state_desc AS description
FROM sys.databases
WHERE name = N'[database_name]';
GO

Sonuç kümesi, anlık görüntü yalıtım çerçevesinin etkinleştirildiğini gösterir.

name snapshot_isolation_state description
[database_name] 1 ON

B. Değişiklik izlemeyi etkinleştirme, değiştirme veya devre dışı bırakma

Aşağıdaki örnek, AdventureWorks2025 veritabanı için değişiklik izlemeyi etkinleştirir ve bekletme süresini 2 güne ayarlar.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING = ON
(AUTO_CLEANUP = ON, CHANGE_RETENTION = 2 DAYS);

Aşağıdaki örnekte bekletme süresinin 3 gün olarak nasıl değiştireceği gösterilmektedir.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING (CHANGE_RETENTION = 3 DAYS);

Aşağıdaki örnekte, AdventureWorks2025 veritabanı için değişiklik izlemeyi devre dışı bırakma gösterilmektedir.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING = OFF;

C. Sorgu Deposunu Etkinleştirme

Aşağıdaki örnekte Sorgu Deposu etkinleştirilip Sorgu Deposu parametreleri yapılandırılır.

ALTER DATABASE [database_name]
SET QUERY_STORE = ON
    (
      OPERATION_MODE = READ_WRITE,
      CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
      DATA_FLUSH_INTERVAL_SECONDS = 900,
      QUERY_CAPTURE_MODE = AUTO,
      MAX_STORAGE_SIZE_MB = 1024,
      INTERVAL_LENGTH_MINUTES = 60
    );

D. Sorgu Deposu'nı bekleme istatistikleriyle etkinleştirme

Aşağıdaki örnek Sorgu Deposu'na olanak tanır ve parametrelerini yapılandırmaktadır.

ALTER DATABASE [database_name]
SET QUERY_STORE = ON
    (
      OPERATION_MODE = READ_WRITE,
      CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
      DATA_FLUSH_INTERVAL_SECONDS = 900,
      MAX_STORAGE_SIZE_MB = 1024,
      INTERVAL_LENGTH_MINUTES = 60,
      SIZE_BASED_CLEANUP_MODE = AUTO,
      MAX_PLANS_PER_QUERY = 200,
      WAIT_STATS_CAPTURE_MODE = ON
    );

E. Özel yakalama ilkesi seçenekleriyle Sorgu Deposu'yu etkinleştirme

Aşağıdaki örnek Sorgu Deposu'na olanak tanır ve parametrelerini yapılandırmaktadır.

ALTER DATABASE [database_name]
SET QUERY_STORE = ON
    (
      OPERATION_MODE = READ_WRITE,
      CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
      DATA_FLUSH_INTERVAL_SECONDS = 900,
      MAX_STORAGE_SIZE_MB = 1024,
      INTERVAL_LENGTH_MINUTES = 60,
      SIZE_BASED_CLEANUP_MODE = AUTO,
      MAX_PLANS_PER_QUERY = 200,
      WAIT_STATS_CAPTURE_MODE = ON,
      QUERY_CAPTURE_MODE = CUSTOM,
      QUERY_CAPTURE_POLICY = (
        STALE_CAPTURE_POLICY_THRESHOLD = 24 HOURS,
        EXECUTION_COUNT = 30,
        TOTAL_COMPILE_CPU_TIME_MS = 1000,
        TOTAL_EXECUTION_CPU_TIME_MS = 100
      )
    );

SQL Yönetilen Örneği

* Azure Synapse
Analiz *
 

 

Azure Synapse Analytics

Syntax

ALTER DATABASE { database_name }
SET
{
    <optionspec> [ ,...n ]
}
;

<option_spec>::=
{
    <auto_option>
  | <db_encryption_option>
  | <query_store_options>
  | <result_set_caching>
  | <snapshot_option>
}
;

<auto_option> ::=
{
    AUTO_CREATE_STATISTICS { OFF | ON }
}

<db_encryption_option> ::=
{
    ENCRYPTION { ON | OFF }
}

<query_store_option> ::=
{
    QUERY_STORE { OFF | ON }
}

<result_set_caching_option> ::=
{
    RESULT_SET_CACHING { ON | OFF }
}

<snapshot_option> ::=
{
    READ_COMMITTED_SNAPSHOT { ON | OFF }
}

Arguments

database_name

Değiştirilecek veritabanının adı.

< > auto_option ::=

Otomatik seçenekleri denetler.

AUTO_CREATE_STATISTICS { ON | KAPALI }

  • ON

    Sorgu İyileştiricisi, sorgu planlarını ve sorgu performansını geliştirmek için gerektiğinde sorgu koşullarındaki tek sütunlarda istatistikler oluşturur. Bu tek sütunlu istatistikler, Sorgu İyileştiricisi sorguları derlediğinde oluşturulur. Tek sütunlu istatistikler yalnızca mevcut istatistik nesnesinin ilk sütunu olmayan sütunlarda oluşturulur.

    Varsayılan değer ON'dır. Çoğu veritabanı için varsayılan ayarı kullanmanızı öneririz.

  • OFF

    Sorgu İyileştiricisi, sorgu derlerken sorgu koşullarında tek sütunlarda istatistik oluşturmaz. Bu seçeneğin KAPALI olarak ayarlanması, yetersiz sorgu planlarına ve düşük sorgu performansına neden olabilir.

Bu komut, kullanıcı veritabanına bağlıyken çalıştırılmalıdır.

Bu seçeneğin durumunu is_auto_create_stats_on katalog görünümündeki sütunu inceleyerek belirleyebilirsiniz. Ayrıca IsAutoCreateStatistics fonksiyonunun özelliğini inceleyerek durumu belirleyebilirsiniz.

Daha fazla bilgi için, İstatistik bölümünde "Veritabanı çapında istatistik seçeneklerinin kullanımı" bölümüne bakınız.

< > db_encryption_option ::=

Veritabanı şifreleme durumunu denetler.

ŞIFRELEME { ON | KAPALI }

  • ON

    Veritabanını şifrelenecek şekilde ayarlar.

  • OFF

    Veritabanını şifrelenmemesi için ayarlar.

Veritabanı şifrelemesi hakkında daha fazla bilgi için bkz. Saydam veri şifrelemesi (TDE)ve Azure SQL Veritabanı, Azure SQL Yönetilen Örneği ve Azure Synapse Analyticsiçin saydam veri şifrelemesi.

Şifreleme veritabanı düzeyinde etkinleştirildiğinde, tüm dosya grupları şifrelenir. Tüm yeni dosya grupları şifrelenmiş özelliği devralır. Veritabanındaki herhangi bir dosya grubu SALT OKUNUR olarak ayarlanırsa, veritabanı şifreleme işlemi başarısız olur.

sys.dm_database_encryption_keys dinamik yönetim görünümünü kullanarak veritabanının şifreleme durumunu ve şifreleme taramasının durumunu görebilirsiniz.

< > query_store_option ::=

Sorgu Deposunun bu veri ambarında etkinleştirilip etkinleştirilmediğini denetler.

QUERY_STORE { ON | KAPALI }

  • ON

    Sorgu Deposu'na olanak tanır.

  • OFF

    Sorgu Deposu'nı devre dışı bırakır. OFF varsayılan değerdir.

Note

Azure Synapse Analytics için kullanıcı veritabanından ALTER DATABASE SET QUERY_STORE yürütmeniz gerekir. Deyimin başka bir veri ambarı örneğinden yürütülmesi desteklenmez.

Note

Azure Synapse Analytics için Sorgu Deposu diğer platformlarda olduğu gibi etkinleştirilebilir ancak ek yapılandırma seçenekleri desteklenmez.

< > result_set_caching_option ::=

için geçerlidir: Azure Synapse Analytics

Sorgu sonucunun veritabanında önbelleğe alınıp alınmayacağını denetler.

RESULT_SET_CACHING { ON | KAPALI }

  • ON

    Bu veritabanından döndürülen sorgu sonuç kümelerinin veritabanında önbelleğe alındığını belirtir.

  • OFF

    Bu veritabanından döndürülen sorgu sonuç kümelerinin veritabanında önbelleğe alınmayacaklarını belirtir.

Bu komut, master veritabanına bağlıyken çalıştırılmalıdır. Bu veritabanı ayarına yapılan değişiklik hemen geçerlilik kazanır. Depolama maliyetleri sorgu sonuç kümelerini önbelleğe alarak tahakkuk eder. Veritabanı için sonuç önbelleğe alma devre dışı bırakıldıktan sonra, daha önce kalıcı olan sonuç önbelleği Azure Synapse depolama alanından hemen silinir.

Veritabanının sonuç kümesi önbelleğe alma yapılandırmasını denetlemek için bu komutu çalıştırın. Sonuç kümesi önbelleğe alma açıksa, is_result_set_caching_on 1 döndürür.

SELECT name, is_result_set_caching_on FROM sys.databases
WHERE name = <'Your_Database_Name'>

Önbelleğe alınmış sonuç kullanılarak bir sorgu yürütülürse denetlemek için bu komutu çalıştırın. result_cache_hit sütunu önbellek isabeti için 1, önbellek isabeti için 0, sonuç kümesi önbelleğinin neden kullanılmaması nedeniyle negatif değerler döndürür. Detaylar için sys.dm_pdw_exec_requests kontrol edin.

SELECT request_id, command, result_cache_hit FROM sys.dm_pdw_exec_requests
WHERE request_id = <'Your_Query_Request_ID'>

Note

Sonuç kümesi önbelleğe alma işlemi DECRYPTBYKEY ile birlikte kullanılmamalıdır. Bu şifreleme işlevinin kullanılması gerekiyorsa, yürütme sırasında sonuç kümesi önbelleğinin devre dışı bırakıldığından ( oturum düzeyinde veya veritabanı düzeyinde) emin olun.

Important

Sonuç kümesi önbelleği oluşturma ve önbellekten veri alma işlemleri, veri ambarı örneğinin denetim düğümünde gerçekleşir. Sonuç kümesi önbelleğe alma açık olduğunda, büyük sonuç kümesi döndüren sorguların çalıştırılması (örneğin, >1 milyon satır) denetim düğümünde yüksek CPU kullanımına neden olabilir ve örnekteki genel sorgu yanıtını yavaşlatabilir. Bu sorgular genellikle veri keşfi veya ETL işlemleri sırasında kullanılır. Denetim düğümünün strese girmemesi ve performans sorununa neden olması için kullanıcıların bu tür sorguları çalıştırmadan önce veritabanında off sonuç kümesi önbelleğe alma özelliğini kapatması gerekir.

Sonuç kümesi önbelleğe alma ile performans ayarlama hakkında ayrıntılı bilgi içinPerformans ayarlama kılavuzuna bakın.

Permissions

RESULT_SET_CACHING seçeneğini ayarlamak için kullanıcının sunucu düzeyinde asıl oturum açma (sağlama işlemi tarafından oluşturulan) veya dbmanager veritabanı rolünün üyesi olması gerekir.

< > snapshot_option ::=

için geçerlidir: Azure Synapse Analytics

Veritabanının işlem yalıtım düzeyini denetler.

READ_COMMITTED_SNAPSHOT { ON | KAPALI }

  • ON

    Veritabanı düzeyinde READ_COMMITTED_SNAPSHOT seçeneğini etkinleştirir.

  • OFF

    Veritabanı düzeyinde READ_COMMITTED_SNAPSHOT seçeneğini kapatın.

Bu komut, master veritabanına bağlıyken çalıştırılmalıdır. Kullanıcı veritabanı için READ_COMMITTED_SNAPSHOT AÇIK veya KAPALI olarak kapatmak, bu veritabanına yönelik tüm açık bağlantıları sonlar. Bu değişikliği veritabanı bakım penceresi sırasında yapmanız veya ALTER DATABASE komutunu çalıştıran bağlantı dışında veritabanına etkin bir bağlantı kalmayıncaya kadar beklemeniz gerekir. Veritabanının tek kullanıcılı modda olması gerekmez. Oturum düzeyinde READ_COMMITTED_SNAPSHOT ayarının değiştirilmesi desteklenmez. Bir veritabanı için bu ayarı doğrulamak için is_read_committed_snapshot_oniçindeki sys.databases sütununu denetleyin.

READ_COMMITTED_SNAPSHOT etkin bir veritabanında, birden çok veri sürümü varsa, sürümlerin taranma nedeniyle sorgular daha yavaş performansla karşılaşabilir. Uzun süre açık işlemler de veritabanının boyutunda artışa neden olabilir. Bu sorun, bu işlemler tarafından sürüm temizlemeyi engelleyen veri değişiklikleri olduğunda oluşur.

Permissions

READ_COMMITTED_SNAPSHOT seçeneğini ayarlamak için kullanıcının veritabanında ALTER iznine sahip olması gerekir.

Examples

Veritabanı için istatistik ayarını denetleme

SELECT name, is_auto_create_stats_on FROM sys.databases

Veritabanı için Sorgu Deposu'yu etkinleştirme

ALTER DATABASE [database_name]
SET QUERY_STORE = ON;

Veritabanı için sonuç kümesi önbelleğini etkinleştirme

-- Run this command when connecting to the MASTER database

ALTER DATABASE [database_name]
SET RESULT_SET_CACHING ON;

Veritabanı için sonuç kümesi önbelleğe alma ayarını denetleme

SELECT name, is_result_set_caching_on
FROM sys.databases;

Veritabanı için Read_Committed_Snapshot seçeneğini etkinleştirme

master veritabanına bağlanırken bu komutu çalıştırın.

ALTER DATABASE MyDatabase
SET READ_COMMITTED_SNAPSHOT ON;

SQL Yönetilen Örneği

Azure Synapse'i
Analiz

Microsoft Fabric Data Warehouse

 

Microsoft Fabric Veri Ambarı

Microsoft Fabric Warehouse'u yönetmek için ALTER DATABASE ... SET kullanın.

Syntax

-- Microsoft Fabric Data Warehouse

ALTER DATABASE { warehouse_name | CURRENT }
SET
{
    <option_spec> [ ,...n ] 
}

<option_spec> ::=
{
    <data_lake_log_publishing>
  | <vorder>
  | <timestamp>
  | <result_set_caching>
}
;

<data_lake_log_publishing> ::=
{
    DATA_LAKE_LOG_PUBLISHING { PAUSED | AUTO }
}

<vorder> ::=
{
    VORDER = OFF
}

<timestamp> ::=
{
    TIMESTAMP = {CURRENT_TIMESTAMP | 'YYYY-MM-DDTHH:MM:SS.SS' }  
}


<result_set_caching> ::=
{    
    RESULT_SET_CACHING { ON | OFF } 
}

Arguments

DATA_LAKE_LOG_PUBLISHING

Delta Lake günlüğü yayımlamayı duraklatır veya sürdürür. Daha fazla bilgi için bkz . Delta Lake günlüğü yayımlama.

VORDER

V-Order davranışını devre dışı bırakabilir. Daha fazla bilgi için bkz. Bir ambarda V Siparişi davranışını devre dışı bırakma .

TIMESTAMP

Doku Veri Ambarı'ndaki mevcut bir ambar anlık görüntüsü için zaman damgasını güncelleştirir. Zaman damgası UTC saat diliminde sağlanmalıdır. Daha fazla bilgi için Depo anlık görüntüleri sayfasına bakınız.

RESULT_SET_CACHING

Geçerli öğe için sonuç kümesi önbelleğini (önizleme) etkinleştirir veya devre dışı bırakır. Daha fazla bilgi için bkz . Sonuç kümesi önbelleğe alma.

Permissions

Kullanıcının Doku çalışma alanında Yönetici, Üye veya Katkıda Bulunan rollerinin üyesi olması gerekir.

Examples

A. Delta Lake Günlüklerinin yayımlanmasını duraklatma

Aşağıdaki T-SQL komutu geçerli ambar bağlamında Delta Lake Log yayımlamayı duraklatır.

ALTER DATABASE CURRENT SET DATA_LAKE_LOG_PUBLISHING = PAUSED;

Çalışma alanınızdaki tüm depolarda Delta Lake Log yayınlama durumunu kontrol etmek için, yeni bir sorgu penceresinde sys.databases sorgulamak için aşağıdaki T-SQL kodunu kullanın:

SELECT [name], [DATA_LAKE_LOG_PUBLISHING_DESC] FROM sys.databases;

B. Sonuç kümesi önbelleğini ayarlama ve denetleme (önizleme)

Aşağıdaki T-SQL komutu, öğenin MyDataWarehouse geçerli SELECT sorgulara sonuç kümesi önbelleği (önizleme) oluşturmaya ve uygulamaya başlamasını sağlar. Daha fazla bilgi için bkz . Sonuç kümesi önbelleğe alma.

ALTER DATABASE [MyDataWarehouse] SET RESULT_SET_CACHING ON;

is_result_set_caching_on sütunu, sonuç kümesi önizlemesinin (önizleme) etkinleştirildiğini doğrulamak için kontrol edilebilir.

SELECT [name], [is_result_set_caching_on] FROM sys.databases;