sonuçlar etkiler, küme seçenekleri

Dizin oluşturulmuş görünümler ve hesaplanan sütunlar deposu veritabanını daha sonra başvurmak üzere sonuçlar dizinlerde.Saklı sonuçlar olan dizinlenmiş görünüme başvuran tüm yalnızca, geçerli bağlantılar veya dizinlenmiş hesaplanmış bir sütun aynı sonucu üretmek küme dizini oluşturulmuş bağlantı.Saklı sonuçları doğru sürdürülebilir ve tutarlı dönmek neden olduğunu, küme seçenekleri aşağıdaki emin olmak için tablo gösterilen değerlere ayarlanmalıdırDeğeri gerekli Bu koşullar gerçekleştiğinde sütun:

  • Görünüm veya hesaplanan sütun üzerinde bir dizin oluşturulur.

  • hesaplanan sütun tanımlanır ve PERSISTED belirtilir.

  • INSERT, UPDATE veya DELETE işlemi depolanan veri değerlerini değiştirir dizinli görünüm veya dizinlenmiş hesaplanan sütun.Bu, BCP, DTS, çoğaltma ve dağıtılmış sorgular gibi işlemleri içerir.

  • sorgu iyileştiricisi Sorgu yürütme planında dizini kullanır.

  • Görünüm oluşturulduğunda, meta veriler görüntüleme ile bu iki ayar saklandığından dizin oluşturulmuş görünümler için ANSI_NULLS ve QUOTED_IDENTIFIER seçenekleri ON olarak küme olması gerekir.

    küme seçenekleri

    Gerekli değer

    Varsayılan sunucu değerini

    Default

    OLE DB ve ODBC değeri

    Default

    DB-Library değeri

    ANSI_NULLS

    AÇIK

    Kapalı

    AÇIK

    Kapalı

    ANSI_PADDING

    AÇIK

    AÇIK

    AÇIK

    Kapalı

    ANSI_WARNINGS *

    AÇIK

    Kapalı

    AÇIK

    Kapalı

    ARITHABORT

    AÇIK

    AÇIK

    Kapalı

    Kapalı

    CONCAT_NULL_YIELDS_NULL

    AÇIK

    Kapalı

    AÇIK

    Kapalı

    NUMERIC_ROUNDABORT

    Kapalı

    Kapalı

    Kapalı

    Kapalı

    QUOTED_IDENTIFIER

    AÇIK

    Kapalı

    AÇIK

    Kapalı

    *kümeting ANSI_WARNINGS için dolaylı olarak küme s veritabanı uyumluluk düzey, açık ARITHABORT ON küme 90 veya daha fazla.Veritabanı uyumluluk düzey 80 veya daha önce küme ise, ARITHABORT seçeneği açıkça ON olarak ayarlanmalıdır.

, küme seçenekleri ayarlandığında yanlış, aşağıdakilerden birini veya birkaçını ortaya çıkabilir:

  • The Database Engine generates an error and rolls back any INSERT, UPDATE, or DELETE statement that changes data values stored in the index.

  • sorgu iyileştiricisi Dizini, yürütme planında dikkateTransact-SQLdeyim.

  • hesaplanan sütun ve dizinli görünüm oluşturulamıyor.

OLE DB ve ODBC bağlantıları için seçenek ayarları küme

Çoğu uygulama ya da OLE DB sağlayıcı for kullanınSQL ServerorSQL ServerÖrneğine bağlanmak için ODBC sürücüsüSQL Serverde dahil olmak üzereSQL Server Management Studiotümleştirme Services, çoğaltma ve toplu kopyalama işlemleri.OLE DB ve ODBC varsayılan ayarlarını görüntüler veya hesaplanan sütunlar üzerinde dizinler için gerekli olan altı küme seçenekleri için doğrudur.Varsayılan OLE DB ve ODBC değerleri, önceki tabloya bakın.Bu ayarları zorunlu standart ISO kurallarına ve için önerilen ayarlarıSQL Server.Daha fazla bilgi için bkz:istemci Network yapılandırma (İstemci Ağ Yapılandırması).

Not

BazılarıSQL Serveryardımcı küme kapalı hizmet programları. önceki sürümleriyle uyumluluğu korumak için ANSI küme tings birini veya birkaçını

C bağlantıları için DB-Library ve gömülü SQL küme seçenek ayarları

DB-Library ve C uygulamalar için katıştırılmış SQL yapılandırmazsanız, varsayılan olarak, küme oturum seçenekleri.Bu API'leri kullanan sistemler ya da uygun küme ifadeleri vermek için doğru ayarları veritabanı veya sunucu varsayılanlarını değiştirme uygulama kodu gerekir.

Öncelik için seçenekleri ayarlama

ON veya OFF küme seçenekleri ayarları, çeşitli düzeylerde belirtilebilir.Her oturum seçenek için son ayar seçeneği, yüksek öncelikli işlem tarafından belirlenir.Önceliği listesinin en üstündeki yüksek etkileyen operasyonlarla ayarlama oturumun aşağıda listelenmektedir:

  • Herhangi bir uygulama, sonra bir sunucuya bağlı bir küme deyim yürütme varsayılan ayarları açıkça kılabilirsiniz.küme deyim, tüm önceki ayarları geçersiz kılar ve seçenekleri etkinleştirebilir veya devre dışı dinamik uygulama çalışırken açmak için kullanılabilir.Seçenek ayarları yalnızca geçerli bağlantı oturum için geçerlidir.

  • OLE DB ve ODBC bağlantı dizeleri seçenek ayarları belirterek bağlantı saat yürürlükte olan seçenek ayarları belirtebilirsiniz.Seçenek ayarları yalnızca geçerli bağlantı oturum için geçerlidir.

  • küme seçenekleri için belirtilen birSQL ServerDenetim Masası veya ODBC ODBC uygulaması kullanarak ODBC veri kaynağıSQLConfigDataSourceişlev.

  • Bir veritabanı için varsayılan ayarlar.ALTER DATABASE veya Object Explorer'da kullanarak bu değerleri belirtebilirsinizSQL Server Management Studio.

  • Bir sunucu için varsayılan ayarlar.Bu değerler kullanarak da belirtebilirsinizsp_configure ya da Object Explorer'da SQL Server Management Studioadlı sunucu yapılandırma seçeneğini ayarlamak için Kullanıcı seçenekleri .

Örneğin, ANSI_NULLS ODBC varsayılan değeri ON, OFF, bir ODBC bağlantı dizesi için bu seçeneği ayarlayarak veya veritabanına bağlandıktan sonra küme ifadeleri kullanarak bu değeri ancak kılabilirsiniz.

Saklı yordamları ve Tetikleyicileri

Görünümler ve hesaplanan sütunlar üzerinde dizinler desteklemesi gereken altı küme seçenekleri ile çalışmak için saklı yordamları ve Tetikleyicileri yazılması gerekir.Sorgu iyileştirici bir görünüm veya hesaplanan sütun yanlış küme seçenekleri belirlendiğinde, bir saklı yordam veya tetikleyiciyi tarafından yürütülen bir SELECT deyimi içinde dizin kullanmaz.Bir INSERT, UPDATE veya DELETE deyim saklı yordam veya tetikleyici değerleri dizinlenmiş görünümde depolanan veya hesaplanmış sütun verileri değiştiren bir hata üretir.

Dikkate Alınacak Noktalar

küme deyim oturum seçenekleri dinamik olarak değiştirebilirsiniz; bu nedenle, küme deyim veren ve bir veritabanında görünümler üzerinde dizin olan sıralı hesaplanan sütunlar dikkatli bir şekilde gerçekleştirilmesi gerekir.Örneğin, uygulamanın varsayılan ayarları bir dizinlenmiş görünümün veya dizinlenmiş hesaplanan sütun için başvurulacak izin olan bağlantı yapabilirsiniz; geçersiz bağlantı, bir saklı yordam veya bir küme ANSI_WARNINGS OFF, ilk deyim olan tetikleyici çağırırsa, ancak bu ifadenin önceki varsayılan veya ANSI_WARNINGS ayarları kılar.Bu durumda, bir deyim saklı yordam veya tetikleyiciyi işlerken iyileştirici tüm dizinlenmiş görünümler ve dizinlenmiş hesaplanan sütunlar yoksayar.

Diğer üç oturum seçenekleri olası sonuç kümeleri biçimini etkileyebilir: DATEFIRST, DATEFORMAT ve LANGUAGE. Tüm işlevler sonuçlarını Bu seçeneklerde yapılan değişiklikler ile etkiler nondeterministic olarak sınıflandırılır ve dizili görünümde kullanılamaz veya hesaplanmış sütun dizini.