Aracılığıyla paylaş


Dağıtılmış sorgu en iyi duruma getirme

Performansını iyileştirmek için SQL Server aşağıdaki türde dağıtılmış sorgular için özel iyileştirme gerçekleştirir:

  • ole db sql komut sağlayıcıları ile kullanılan uzak sorgu yürütme.

    Bir ole db sağlayıcı ole db sağlayıcı aşağıdaki en düşük gereksinimleri karşılıyorsa sql komut sağlayıcı olarak kabul edilir:

    • Destekler komut nesne ve tüm zorunlu arabirimleri.

    • dbpropval sql SUBMINIMUM sözdizimi veya ISO girişi düzey veya daha yüksek ya da odbc çekirdek düzeyde veya daha yüksek destekler.Sağlayıcı bu diyalekt düzey dbprop_sqlsupport ole db özellik üzerinden erişimlere.

  • ole db dizin sağlayıcıları ile kullanılan dizinlenmiş erişim.

    Bir ole db sağlayıcı ole db sağlayıcı aşağıdaki en düşük gereksinimleri karşılıyorsa, bir dizin sağlayıcı olarak kabul edilir:

    • Destekler IDBSchemaRowset tablo, sütun ve dizin şema satır kümeleri ile arabirim.

    • Bir satır kümesi üzerinde bir dizin kullanarak açmaya destekler IOpenRowset dizin adı ve karşılık gelen temel tablo adı belirterek.

    • The Index object should support all its mandatory interfaces: Irowset, IRowsetIndex, IAccessor, IColumnsInfo, IRowsetInfo, ve IConvertTypes.

    • Satır kümeleri kullanarak dizinlenmiş temel tablo karşı açılan IOpenRowset, desteklemesi gereken IRowsetLocate dizinden alınan bir yer işareti dayalı bir satırda konumlandırma için arabirim.

Uzak sorgu yürütme

SQL Server bir dağıtılmış sorgu için sql komut sağlayıcı mümkün olduğunca değerlendirmenin çok temsilci seçmek çalışır.sql sorgusu yalnızca depolanan verilerin uzak tablolara erişir kaynak , sağlayıcı özgün dağıtılmış sorgu ayıklanır ve sağlayıcıya karşı yürütülen.Bu davranış sağlayıcıdan döndürülen satırların sayısını azaltır ve sağlayıcı sorguyu değerlendirirken de, dizinleri kullanmak izin verir.

Ne kadar özgün etkileyen konuları dağıtılmış sorgu sql komut sağlayıcı için bir temsilci şunları içerir:

  • sql komut sağlayıcı tarafından desteklenen diyalekt düzey

  • Harmanlama uyumluluk

Level sql komut sağlayıcısı tarafından desteklenen Lehçe

SQL Server işlemleri yalnızca belirli bir diyalekt düzey tarafından destekleniyorsa, vekiller.En yüksekten en düşüğe doğru diyalekt düzeyleri şunlardır: SQL ServerISO girişi düzey odbc çekirdek ve Jet.Diyalekt düzey ne kadar yüksekse, daha fazla işlem SQL Server temsilci seçmek için sağlayıcı.

Not

The SQL Server dialect level is used when the provider corresponds to a SQL Server linked server.

Her diyalekt düzey daha düşük düzeyde bir üst kümesidir.Bu nedenle, bir işlemi belirli bir temsilci, düzey, işlem de tüm yüksek temsilci düzeys.

İlgili sorguları bit ve uniqueidentifer veri türleri için bir sağlayıcı hiçbir zaman temsilci ve her zaman yerel olarak değerlendirilir.

set CONCAT_NULL_YIELDS_NULL kapalı olduğu zaman, dize birleştirme her zaman yerel olarak yapılır.

Belirtilen diyalekt düzey ve tüm üst düzeyler aşağıdaki işlemleri sözdizimi öğeleri verilmiş:

  • SQL Server: Dış birleştirmek, KÜP, TOPLAMASI, mod işleç (%), Bitsel işleçler, dize işlevlerini ve aritmetik sistem işlevleri.

  • ISO girişi düzeyi: BİRLİĞİ ve UNION all.

  • odbc Çekirdek: Toplama işlevleri DISTINCT ve dize sabitleri ile.

  • Jet: Toplama işlevleri DISTINCT, sıralama (order by), iç birleşimler, yüklemler, olmadan alt sorgu işleçleri (EXISTS, tüm, bazı, ın), DISTINCT, daha yüksek düzeyler sabitleri daha yüksek düzeyler sözü geçmeyen aritmetik işleçler ve tüm mantıksal işleçler.

    Örneğin, tüm işlemleri KÜP, TOPLAMASI, ilgili olanlar dışındaki dış birleştirmek, operatör (%), bit düzey işleçler, dize işlevlerini ve aritmetik sistem işlevleri de olduğu bir ISO girişi düzeyi sağlayıcı için temsilci SQL Server.

Harmanlama uyumluluk

For a distributed query, the comparison semantics for all character data is defined by the character set and sort order of the local instance of SQL Server.SQL Server supports multiple collations.Collations can be different for each column, and each character value has an associated collation property.SQL Server interprets the collation property of character data from a remote data source and treats it accordingly.Uzak sütun harmanlama hakkında daha fazla bilgi için bkz: Dağıtılmış sorgular içinde alfabe.

SQL Serveryalnızca, aşağıdaki belirleyebilirseniz karşılaştırmaları ve karakter sütunu order by işlemleri için bir sağlayıcı temsilci seçebilirsiniz:

  • Temel veri kaynak sütun harmanlama sırası ve karakter kümesini kullanır.

  • Karakter karşılaştırma semantik ISO izleyin ve SQL Server, standart.

Konuyu Dağıtılmış sorgularda alfabe özetler nasıl SQL Server her biri için bir harmanlama belirler sütun.Uzak Veri kaynak o harmanlamayı destekliyorsa, sağlayıcı harmanlama uyumlu kabul edilir.

Diğer sql desteği hakkında önemli noktalar

Aşağıdaki sql sözdizimi öğeleri sql diyalekt düzeyleri tarafından dikte edildiği:

  • İç içe sorgu desteği

    İç içe geçmiş sorgular (alt sorgular) sağlayıcı destekliyorsa, SQL Server temsilci bu operasyonlara sağlayıcısı.ole db özellikleri otomatik olarak iç içe sorgu desteği belirlenemediğinden, sistem yöneticisinin gereken küme NestedQueries sağlayıcı seçeneği için göstermek için SQL Server olduğunu sağlayıcının desteklediği iç içe geçmiş sorgular.

  • Parametre işaretçisi desteği

    Kullanarak parametreli sorgu yürütme sağlayıcı destekliyorsa, ? parametre işaretçisi bir sorgu SQL Server temsilci parametreli sorgu yürütme sağlayıcısı.ole db özellikleri otomatik olarak parametre işaretçisi desteği belirlenemediğinden, sistem yöneticisinin gereken küme DynamicParameters sağlayıcı seçeneği için göstermek için SQL Server olduğunu sağlayıcının desteklediği parametre imleyicileri.

  • GİBİ destek

    ' De uygulandığı gibi LIKE işlecini sağlayıcı destekliyorsa, SQL Server sözdizimi ve anlambilim, SqlServerLike sağlayıcı seçeneği olabilir küme destek göstermek için.

    Bu sağlayıcı seçeneklerini ayarlama hakkında daha fazla bilgi için bkz: Dağıtılmış sorgular için ole db sağlayıcıları yapılandırma.

Sıralı erişim

SQL Server yüklemler değerlendirmek ve karşı uzak tabloları sıralama işlemlerini gerçekleştirmek için dizinler dizin sağlayıcı kullanılarak ilgili yürütme stratejiler kullanabilirsiniz.Bir sağlayıcı karşı dizinlenmiş erişim sağlamak için küme IndexAsAccessPath sağlayıcı seçeneği.

Ayrıca, character sütunları içeren dizinler kullandığınızda, küme harmanlama uyumlu bağlantılı sunucu yapılandırma seçeneği için true için karşılık gelen bağlantılı sunucu.Daha fazla bilgi için bkz: sp_serveroption (Transact-sql).

Not

Grafik yürütme planı kullanarak göstermek SQL Server Management Studio belirlemek için bir verilen dağıtılmış sorgu yürütme planıUzak sorgu yürütme yürütme planı içinde görevli zaman, onu kullanarak temsil Uzak sorgu mantıksal ve fiziksel işleç.Bu işleç bağımsız uzaktan yürütülen sorgu gösterir.