Azure SQL Veritabanı elastik sorguya genel bakış (önizleme)
ŞUNUN İÇİN GEÇERLİDİR:
Azure SQL Database
Elastik sorgu özelliği (önizlemede) Azure SQL Veritabanı’nda birden çok veritabanına yayılan Transact-SQL sorguları çalıştırabilmenizi sağlar. bu, uzak tablolara erişmek için veritabanları arası sorgular gerçekleştirmenize ve Microsoft ve üçüncü taraf araçlarına (Excel, Power BI, Tableau vb.) bağlanarak birden çok veritabanı içeren veri katmanlarında sorgulama yapmanıza olanak sağlar. Bu özelliği kullanarak sorguların ölçeğini büyük veri katmanları için genişletebilir ve sonuçta iş zekası (BI) raporları alabilirsiniz.
Neden elastik sorgular kullanılmalıdır?
Azure SQL Veritabanı
Azure SQL Veritabanı veritabanları genelinde T-SQL tamamen sorgulayın. bu, uzak veritabanlarının salt okunurdur sorgulanmasını sağlar ve şu anki SQL Server müşterilerin, üç ve dört bölümden oluşan adları veya bağlı sunucu kullanarak uygulamaları SQL Veritabanı geçirmeye geçirmesinde bir seçenek sağlar.
Tüm hizmet katmanlarında kullanılabilir
elastik sorgu Azure SQL Veritabanı tüm hizmet katmanlarında desteklenir. Daha düşük hizmet katmanları için performans sınırlamalarındaki önizleme sınırlamalarıyla ilgili bölüme bakın.
Parametreleri uzak veritabanlarına gönder
elastik sorgular artık SQL parametrelerini yürütmek üzere uzak veritabanlarına gönderebilir.
Saklı yordam yürütme
SP _ Execute _ Remotekullanarak uzak saklı yordam çağrılarını veya uzak işlevleri yürütün.
Esneklik
Elastik sorguya sahip dış tablolar, farklı bir şema veya tablo adına sahip uzak tablolara başvurabilir.
Elastik sorgu senaryoları
Amaç, birden çok veritabanının satırları tek bir genel sonuca katkıda bulunan senaryoları sorgulamayı kolaylaştırmaktır. Sorgu, Kullanıcı veya uygulama tarafından doğrudan veya veritabanına bağlı olan araçlarla dolaylı olarak oluşturulabilir. Bu özellikle, ticari bı veya veri tümleştirme araçları veya değiştirilemeyen herhangi bir uygulamayı kullanarak rapor oluştururken kullanışlıdır. elastik bir sorgu sayesinde, Excel, Power BI, Tableau veya cogno 'lar gibi araçlarla tanıdık SQL Server bağlantı deneyimini kullanarak çeşitli veritabanları arasında sorgulama yapabilirsiniz. elastik bir sorgu, SQL Server Management Studio veya Visual Studio tarafından verilen sorgular aracılığıyla bir veritabanı koleksiyonunun tamamına kolay erişim sağlar ve Entity Framework veya diğer ORM ortamlarından veritabanları arası sorgulama yapmayı kolaylaştırır. Şekil 1 ' de, var olan bir bulut uygulamasının ( elastik veritabanı istemci kitaplığınıkullanan) ölçekli bir veri katmanında derlemeleri ve veritabanları arası raporlama için esnek bir sorgu kullanıldığı bir senaryo gösterilmektedir.
Şekil 1 Ölçekli veri katmanında kullanılan elastik sorgu

Elastik sorgu için müşteri senaryoları aşağıdaki topolojilerle belirlenir:
- Dikey bölümlendirme-veritabanları arası sorgular (topoloji 1): veriler bir veri katmanındaki bir dizi veritabanı arasında dikey olarak bölümlenir. Genellikle, farklı tablo kümeleri farklı veritabanlarında bulunur. Diğer bir deyişle, şema farklı veritabanlarında farklı olur. Örneğin, tüm envanter tabloları, tüm muhasebe ile ilgili tablolar ikinci bir veritabanı üzerinde olduğunda tek bir veritabanıdır. Bu topolojideki yaygın kullanım örnekleri, bir veya birden çok veritabanında bulunan tablolarda rapor derlemek için bir tane gerektirir.
- Yatay bölümlendirme-parçalı oluşturma (topoloji 2): veriler, ölçeklendirilen bir veri katmanındaki satırları dağıtmak için yatay olarak bölümlenir. Bu yaklaşımda, şema tüm katılan veritabanlarında aynıdır. Bu yaklaşım, "parçalama" olarak da adlandırılır. Parçalama, (1) elastik veritabanı araçları kitaplıkları veya (2) kendi kendine parçalı kullanımı kullanılarak gerçekleştirilebilir ve yönetilebilir. Esnek sorgu, birçok parça genelinde raporları sorgulamak veya derlemek için kullanılır. Parçalar genellikle elastik havuz içindeki veritabanlardır. Veritabanları ortak şemayı paylaştığı sürece, elastik havuzun tüm veritabanlarını tek seferde sorgulamak için verimli bir yol olarak düşünebilirsiniz.
Not
Elastik sorgu, çoğu işlemin (filtreleme, toplama) büyük bir kısmı dış kaynak tarafında gerçekleştirilebileceği raporlama senaryolarında en iyi şekilde kullanılır. Uzak veritabanından büyük miktarda verinin aktarıldığı ETL işlemleri için uygun değildir. Daha karmaşık sorgularla ağır raporlama iş yükleri veya veri ambarı senaryoları için Azure SYNAPSE Analyticskullanmayı da düşünün.
Dikey bölümlendirme-veritabanları arası sorgular
Kodlamaya başlamak için bkz. çapraz veritabanı sorgusuna Başlarken (dikey bölümlendirme).
elastik bir sorgu, SQL Veritabanı bir veritabanında bulunan verileri SQL Veritabanı diğer veritabanları için kullanılabilir hale getirmek için kullanılabilir. bu, bir veritabanındaki sorguların SQL Veritabanı diğer herhangi bir uzak veritabanında bulunan tablolara başvurmasını sağlar. İlk adım, her uzak veritabanı için bir dış veri kaynağı tanımlamaktır. Dış veri kaynağı, uzak veritabanında bulunan tablolara erişim kazanmak istediğiniz yerel veritabanında tanımlanır. Uzak veritabanında değişiklik yapılması gerekmez. Farklı veritabanlarının farklı şemaları olduğu tipik dikey bölümleme senaryolarında, başvuru verilerine erişim ve veritabanları arası sorgulama gibi yaygın kullanım durumlarını uygulamak için esnek sorgular kullanılabilir.
Önemli
Herhangi bir dış VERI kaynağı iznine sahip olmanız gerekir. Bu izin ALTER DATABASE iznine dahildir. Temel alınan veri kaynağına başvurmak için herhangi bir dış VERI kaynağı izinlerini DEĞIŞTIRME gerekir.
Başvuru verileri: topoloji, başvuru veri yönetimi için kullanılır. Aşağıdaki şekilde, başvuru verileriyle birlikte iki tablo (T1 ve T2) adanmış bir veritabanında tutulur. Esnek sorgu kullanarak artık T1 ve T2 tablolarına, şekilde gösterildiği gibi diğer veritabanlarından uzaktan erişebilirsiniz. Başvuru tablolarının küçük olması veya başvuru tablosuna uzak sorguların seçmeli koşullara sahip olması durumunda topoloji 1 ' i kullanın.
Şekil 2 Dikey bölümleme-başvuru verilerini sorgulamak için elastik sorgu kullanma

veritabanları arası sorgulama: elastik sorgular, SQL Veritabanı çeşitli veritabanları arasında sorgulama gerektiren kullanım örneklerini etkinleştirir. Şekil 3 ' te dört farklı veritabanı gösterilmektedir: CRM, envanter, HR ve ürünler. Veritabanlarından birinde gerçekleştirilen sorguların aynı zamanda diğer veritabanlarına bir veya diğer veritabanına erişmesi gerekir. Esnek sorgu kullanarak, dört veritabanının her birinde birkaç basit DDL deyimi çalıştırarak, bu durum için veritabanınızı yapılandırabilirsiniz. bu tek seferlik yapılandırmadan sonra, uzak bir tabloya erişim, T-SQL sorgulardan veya bı araçlarınızdaki yerel bir tabloya başvurmak kadar basittir. Bu yaklaşım, uzak sorgular büyük sonuçlar döndürmezse önerilir.
Şekil 3 Dikey bölümleme-çeşitli veritabanları genelinde sorgulamak için elastik sorgu kullanma

aşağıdaki adımlar, aynı şemaya sahip SQL Veritabanı uzak veritabanlarında bulunan bir tabloya erişim gerektiren dikey bölümleme senaryolarına yönelik elastik veritabanı sorgularını yapılandırır:
- Ana anahtar oluştur mymasterkey
- VERITABANı KAPSAMLı KIMLIK bilgisi oluştur myCredential
- Yalnızca RDBMS türünde dış veri kaynağı oluştur/bırak myDataSource
- Dış tablo MyTable oluştur/bırak
DDL deyimlerini çalıştırdıktan sonra, "MyTable" uzak tablosuna bir yerel tablo gibi erişebilirsiniz. Azure SQL Veritabanı uzak veritabanı bağlantısını otomatik olarak açar, isteğinizi uzak veritabanında işler ve sonuçları döndürür.
Yatay bölümleme-parçalama
Veri katmanı, veri katmanının veritabanlarını temsil etmesi için esnek bir veritabanı parça eşlemesi gerektiren bir parçalar üzerinde raporlama görevlerini gerçekleştirmek için elastik sorgu kullanma. Genellikle, bu senaryoda yalnızca tek bir parça eşlemesi kullanılır ve elastik sorgu özelliklerine (baş düğüm) sahip adanmış bir veritabanı, raporlama sorguları için giriş noktası görevi görür. Yalnızca bu adanmış veritabanının parça eşlemesine erişmesi gerekir. Şekil 4 ' te, elastik sorgu veritabanı ve parça haritası ile ilgili bu topoloji ve yapılandırma gösterilmektedir. Elastik veritabanı istemci kitaplığı ve parça haritaları oluşturma hakkında daha fazla bilgi için bkz. parça eşleme yönetimi.
Şekil 4 Yatay bölümleme-parçalı veri katmanları üzerinde raporlama için elastik sorgu kullanma

Not
Elastik sorgu veritabanı (baş düğüm) ayrı veritabanı olabilir veya parça haritasını barındıran veritabanı aynı olabilir. Seçtiğiniz yapılandırma ne olursa olsun, bu veritabanının hizmet katmanının ve işlem boyutunun beklenen oturum açma/sorgu isteği miktarını işleyecek kadar yüksek olduğundan emin olun.
aşağıdaki adımlar, SQL Veritabanı ' de bulunan çeşitli uzak veritabanlarında (genellikle) bulunan bir dizi tabloya erişim gerektiren yatay bölümleme senaryoları için elastik veritabanı sorgularını yapılandırır:
- Ana anahtar oluştur mymasterkey
- VERITABANı KAPSAMLı KIMLIK bilgisi oluştur myCredential
- Elastik veritabanı istemci kitaplığını kullanarak veri katmanınızı temsil eden bir parça Haritası oluşturun.
- Dış VERI kaynağı oluştur/bırak SHARD_MAP_MANAGER türünde myDataSource
- Dış tablo MyTable oluştur/bırak
Bu adımları gerçekleştirdikten sonra, "MyTable" yatay bölümlenmiş tablosuna bir yerel tablo gibi erişebilirsiniz. Azure SQL Veritabanı, tabloların fiziksel olarak depolandığı uzak veritabanlarına otomatik olarak birden çok paralel bağlantı açar, uzak veritabanlarındaki istekleri işler ve sonuçları döndürür. Yatay bölümleme senaryosu için gereken adımlar hakkında daha fazla bilgi, yatay bölümlendirme için elastik sorgu'da bulunabilir.
Kodlamaya başlamak için bkz. Yatay bölümleme (parçalama) için elastik sorgu ile çalışmayabaşlama.
Önemli
Esnek sorgunun büyük bir veritabanı kümesi üzerinde başarılı yürütülmesi, sorgu yürütme sırasında her bir veritabanı için kullanılabilirliği yoğun bir şekilde kullanır. Veritabanlarından biri kullanılabilir değilse, sorgunun tamamı başarısız olur. Yüzlerce veya binlerce veritabanını aynı anda sorgulamayı planlıyorsanız, istemci uygulamanızın yeniden deneme mantığı ' na sahip olduğundan emin olun veya elastik veritabanı işleri (Önizleme) ve veritabanlarının daha küçük alt kümelerini kullanarak her bir sorgunun sonuçlarını tek bir hedefe birleştirin.
T-SQL sorgulama
dış veri kaynaklarınızı ve dış tablolarınızı tanımladıktan sonra, dış tablolarınızı tanımladığınız veritabanlarına bağlanmak için normal SQL Server bağlantı dizelerini kullanabilirsiniz. daha sonra, bu bağlantı üzerindeki dış tablolarınız üzerinde T-SQL deyimlerini aşağıda özetlenen sınırlamalara göre çalıştırabilirsiniz. yatay bölümlendirme ve dikey bölümlendirmeiçin belge konularında daha fazla bilgi ve T SQL sorgusu örnekleri bulabilirsiniz.
Araçlar için bağlantı
uygulamalarınızı ve bı veya veri tümleştirme araçlarınızı, dış tabloları olan veritabanlarına bağlamak için normal SQL Server bağlantı dizelerini kullanabilirsiniz. SQL Server, aracınız için bir veri kaynağı olarak desteklendiğinden emin olun. bağlandıktan sonra, bu veritabanındaki elastik sorgu veritabanına ve dış tablolara, aracsınız ile bağlandığınız diğer SQL Server veritabanları ile yaptığınız gibi bakın.
Önemli
elastik sorgularla Azure Active Directory kullanan kimlik doğrulaması şu anda desteklenmiyor.
Maliyet
esnek sorgu Azure SQL Veritabanı maliyetine dahildir. Uzak veritabanlarınızın, elastik sorgu uç noktasının desteklenenden farklı bir veri merkezinde olduğu, ancak uzak veritabanlarından gelen veri çıkışları düzenli olarak Azure ücretleriüzerinden ücretlendirildiğini unutmayın.
Önizleme sınırlamaları
- İlk elastik sorgunuzu çalıştırmak, daha küçük kaynak ve standart ve Genel Amaçlı hizmet katmanı için birkaç dakika sürebilir. Bu süre, elastik sorgu işlevinin yüklenmesi için gereklidir; daha yüksek hizmet katmanları ve işlem boyutları ile yükleme performansı artar.
- SSMS veya SSDT 'den dış veri kaynaklarının veya dış tabloların betiği henüz desteklenmiyor.
- SQL Veritabanı için İçeri/Dışarı Aktarma henüz dış veri kaynaklarını ve dış tabloları desteklemez. İçeri/Dışarı Aktarma kullanmanız gerekiyorsa, dışarı aktarmadan önce bu nesneleri bırakın ve içeri aktardıktan sonra yeniden oluşturun.
- Elastik sorgu şu anda yalnızca dış tablolara salt okuma erişimini desteklemektedir. ancak, dış tablonun tanımlandığı veritabanında tam T-SQL işlevselliğini kullanabilirsiniz. Bu, örneğin, kullanarak geçici sonuçları kalıcı hale getirmek için faydalı olabilir, örneğin, <column_list> <local_table> veya dış tablolara başvuran elastik sorgu veritabanında saklı yordamları tanımlamak için yararlı olabilir.
- Nvarchar (max) dışında, LOB türleri (uzamsal türler dahil) dış tablo tanımlarında desteklenmez. Geçici bir çözüm olarak, LOB türünü nvarchar (max) olarak veren uzak veritabanında bir görünüm oluşturabilir, dış tablonuzu temel tablo yerine görünüm üzerinden tanımlayabilir ve sonra Sorgularınızdaki özgün LOB türüne geri çevirebilirsiniz.
- Sonuç kümesindeki nvarchar (max) veri türü sütunları, esnek sorgu uygulamasında kullanılan gelişmiş toplu işlem Technics devre dışı bırakır ve bir büyüklük sırası için sorgunun performansını etkileyebilir, hatta büyük miktarda toplanmış verilerin bir sorgu sonucu olarak aktarılmakta olduğu gibi, kurallı olmayan kullanım durumlarında iki farklı şekilde büyüklüğü olabilir.
- Dış tablolar üzerinde sütun istatistikleri Şu anda desteklenmiyor. Tablo istatistikleri desteklenir, ancak el ile oluşturulması gerekir.
- elastik sorgu yalnızca Azure SQL Veritabanı ile çalışmaktadır. SQL Server örneğini sorgulamak için kullanamazsınız.
Geri bildiriminizi paylaşma
Aşağıda, MSDN forumlarında veya Stack Overflow üzerinde bizimle elastik sorgular ile deneyiminizle ilgili geri bildirim paylaşabilirsiniz. Hizmetle ilgili her türlü geri bildirimde bulunmak istiyoruz (kusur, kaba kenarlar, özellik boşlukları).
Sonraki adımlar
- Dikey bölümleme öğreticisi için bkz. çapraz veritabanı sorgusuna Başlarken (dikey bölümlendirme).
- Dikey olarak bölümlenmiş verilere yönelik sözdizimi ve örnek sorgular için bkz. dikey olarak bölümlenmiş verileri sorgulama)
- Yatay bölümleme (parçalama) öğreticisi için bkz. Yatay bölümleme (parçalama) için elastik sorgu ile çalışmayabaşlama.
- Yatay olarak bölümlenmiş veriler için sözdizimi ve örnek sorgular için bkz. yatay olarak bölümlenmiş verileri sorgulama)
- tek bir uzak Azure SQL Veritabanı veya bir yatay bölümleme düzeninde parçalar olarak hizmet veren veritabanları kümesinde bir Transact-SQL ifadesini yürüten saklı yordam için bkz. sp _ execute _ remote .