Azure Synapse SQL'de Dağıtım Danışmanı
Şunlar için geçerlidir: Azure Synapse Analytics ayrılmış SQL havuzları (eski adıYLA SQL DW)
Azure Synapse SQL'de her tablo müşteri tarafından seçilen strateji kullanılarak dağıtılır (Hepsini Bir Kez Deneme, Karma Dağıtılmış, Çoğaltılmış). Seçilen dağıtım stratejisi sorgu performansını önemli ölçüde etkileyebilir.
Azure Synapse SQL'in Dağıtım Danışmanı (DA) özelliği, müşteri sorgularını analiz eder ve sorgu performansını geliştirmek için tablolar için en iyi dağıtım stratejilerini önerir. Danışman tarafından dikkate alınması gereken sorgular müşteri tarafından sağlanabilir veya DMV'de bulunan geçmiş sorgulardan alınabilir.
Dekont
Dağıtım Danışmanı şu anda Azure Synapse Analytics için önizleme aşamasındadır. Önizleme özellikleri yalnızca test amaçlıdır ve üretim örneklerinde veya üretim verilerinde kullanılmamalıdır. Bir önizleme özelliği olarak, Dağıtım Danışmanı davranış veya işlevsellikte değişikliklere tabidir. Veriler önemliyse lütfen test verilerinizin bir kopyasını da saklayın. Dağıtım Danışmanı, Çok Sütunlu dağıtılmış tabloları desteklemez.
Önkoşullar
Azure Synapse Analytics ayrılmış SQL havuzunuzun sürüm 10.0.15669 veya üzeri olduğundan emin olmak için T-SQL deyimini
SELECT @@version
yürütür. Sürümünüz daha düşükse yeni bir sürüm, bakım döngüleri sırasında sağlanan ayrılmış SQL havuzlarınıza otomatik olarak ulaşmalıdır.Danışmanı çalıştırmadan önce istatistiklerin kullanılabilir ve güncel olduğundan emin olun. Daha fazla ayrıntı için tablo istatistiklerini yönetme, İSTATİSTİk OLUŞTURMA ve İSTATİSTİkLerİ GÜNCELLE makalelerinde istatistiklerle ilgili daha fazla ayrıntı bulabilirsiniz.
SET RECOMMENDATIONS T-SQL komutuyla geçerli oturum için Azure Synapse dağıtım danışmanını etkinleştirin.
İş yükünü analiz etme ve dağıtım önerileri oluşturma
Aşağıdaki öğreticide, müşteri sorgularını analiz etmek ve en iyi dağıtım stratejilerini önermek için Dağıtım Danışmanı özelliğini kullanmaya yönelik örnek kullanım örneği açıklanmaktadır.
Dağıtım Danışmanı yalnızca kullanıcı tablolarında çalıştırılacak sorguları analiz eder.
1. Dağıtım Danışmanı saklı yordamları oluşturma
Danışmanı kolayca çalıştırmak için veritabanında iki yeni saklı yordam oluşturun. GitHub'dan indirilebilen CreateDistributionAdvisor_PublicPreview betiğini çalıştırın:
Burada, danışmanı nasıl çalıştırabileceğinize ilişkin bir örnek verilmiştir.
2a. DMV'de geçmiş iş yükünde danışmanı çalıştırma
Analiz ve dağıtım önerileri için iş yükündeki son 100 sorguyu okumak için aşağıdaki komutları çalıştırın:
EXEC dbo.write_dist_recommendation <Number of Queries max 100>, NULL
go
EXEC dbo.read_dist_recommendation;
go
DA tarafından analiz edilen sorguları görmek için GitHub'dan indirilebilen e2e_queries_used_for_recommendations.sql betiğini çalıştırın.
2b. Seçili sorgularda danışmanı çalıştırma
içindeki dbo.write_dist_recommendation
ilk parametre olarak 0
ayarlanmalıdır ve ikinci parametre, DA'nın analiz edeceği en fazla 100 sorgunun noktalı virgülle ayrılmış listesidir. Aşağıdaki örnekte, ve noktalı virgülle select count (*) from t1;
select * from t1 join t2 on t1.a1 = t2.a1;
ayrılmış iki deyim için dağıtım önerisini görmek istiyoruz.
EXEC dbo.write_dist_recommendation 0, 'select count (*) from t1; select * from t1 join t2 on t1.a1 = t2.a1;'
go
EXEC dbo.read_dist_recommendation;
go
3. Önerileri görüntüleme
Sistem dbo.read_dist_recommendation
saklı yordamı, yürütme tamamlandığında aşağıdaki biçimde öneriler döndürür:
Sütun adı | Açıklama |
---|---|
Table_name | DA'nın analiz yaptığı tablo. Önerideki değişiklik ne olursa olsun tablo başına bir satır. |
Current_Distribution | Geçerli tablo dağıtım stratejisi. |
Recommended_Distribution | Önerilen dağıtım. Bu, herhangi bir değişiklik önerilmiyorsa aynı Current_Distribution olabilir. |
Distribution_Change_Command | Öneriyi uygulamak için bir CTAS T-SQL komutu. |
4. Öneriyi uygulayın
- Önerilen dağıtım stratejisiyle yeni tablolar oluşturmak için Dağıtım Danışmanı tarafından sağlanan CTAS komutunu çalıştırın.
- Sorguları yeni tablolarda çalışacak şekilde değiştirin.
- Performans iyileştirmelerini karşılaştırmak için eski ve yeni tablolarda sorgular yürütür.
Dekont
Dağıtım Danışmanı'nın geliştirilmesine yardımcı olmak için lütfen bu hızlı anketi doldurun.
Sorun giderme
Bu bölüm yaygın sorun giderme senaryolarını ve karşılaşabileceğiniz yaygın hataları içerir.
1. Danışmanın önceki çalıştırmasından eski durum
1a. Belirti:
Danışmanı çalıştırırken şu hata iletisini görürsünüz:
Msg 110813, Level 16, State 1, Line 1
Calling GetLastScalarResult() before executing scalar subquery.
1b. Sorun Giderme:
- Danışmanı belirli sorgularda çalıştırmak için tek tırnak '' kullandığınızdan emin olun.
- SSMS'de yeni bir oturum başlatın ve danışmanı çalıştırın.
2. Danışmanı çalıştırırken oluşan hatalar
2a. Belirti:
'Sonuç' bölmesi aşağıda gösterilir CommandToInvokeAdvisorString
ancak aşağıdakini RecommendationOutput
göstermez.
Örneğin, yalnızca sonuç kümesini Command_to_Invoke_Distribution_Advisor
görürsünüz.
Ancak tablonun bulunduğu ikinci sonuç kümesi T-SQL komutlarını değiştirmez:
2b. Sorun Giderme:
Yukarıdaki çıkışını
CommandToInvokeAdvisorString
denetleyin.Burada el ile seçilen sorgulardan veya DMV'den eklenmiş olabilecek geçerli olmayabilecek sorguları şu belgedeki düzenleme
WHERE
yan tümcesinden kaldırın: DA Tarafından Değerlendirilen Sorgular.
3. Öneri çıktısının işlenmesi sırasında hata oluştu
3a. Belirti:
Aşağıdaki hata iletisini görürsünüz.
Invalid length parameter passed to the LEFT or SUBSTRING function.
3b. Sorun Giderme:
GitHub'dan saklı yordamın en güncel sürümüne sahip olduğunuzdan emin olun:
e2e_queries_used_for_recommendations.sql betiği GitHub'dan indirilebilir
CreateDistributionAdvisor_PublicPreview.sql betiği GitHub'dan indirilebilir
Azure Synapse ürün grubu geri bildirimi
Dağıtım Danışmanı'nın geliştirilmesine yardımcı olmak için lütfen bu hızlı anketi doldurun.
Bu makalede sağlanmayan bilgilere ihtiyacınız varsa Microsoft Soru-Cevap soru sayfasında Azure Synapse'in diğer kullanıcılara ve Azure Synapse Analytics Ürün Grubu'na soru sorabileceğiniz bir yer olduğunu arayın.
Sorularınızın diğer kullanıcılar veya ekibimiz tarafından yanıtlandığından emin olmak için bu forumu sürekli takip ediyoruz. Stack Overflow ile ilgili sorularınızı sormak isterseniz Azure Synapse Analytics Stack Overflow Forumu da mevcuttur.
Özellik istekleri için Azure Synapse Analytics Geri Bildirim sayfasını kullanın. İsteklerinizi eklemek veya diğer istekleri oylamak, en çok talep alan özelliklere odaklanmamıza yardımcı olur.
Sonraki adımlar
- ÖNERİLERİ AYARLA (Transact-SQL)
- Verileri ayrılmış SQL havuzuna yükleme
- Azure Synapse Analytics'te ayrılmış SQL havuzu için veri yükleme stratejileri.
- Azure Synapse Analytics'te ayrılmış SQL havuzu (eski adı SQL DW) mimarisi
- Azure Synapse Analytics'te ayrılmış SQL havuzu (eski adı SQL DW) için bilgi sayfası