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:

Komut Açıklama
dbo.write_dist_recommendation DA'nın analiz edeceği sorguları tanımlar. Sorguları el ile sağlayabilir veya sys.dm_pdw_exec_requests'daki gerçek iş yüklerinden 100'e kadar geçmiş sorguyu okuyabilirsiniz.
dbo.read_dist_recommendation Danışmanı çalıştırır ve öneriler oluşturur.

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 0ayarlanmalı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.

Screenshot of the output of a T-SQL result showing the Command_to_Invoke_Distribution_Advisor.

Ancak tablonun bulunduğu ikinci sonuç kümesi T-SQL komutlarını değiştirmez:

Screenshot of the output of a T-SQL result showing the Command_to_Invoke_Distribution_Advisor with a second resultset containing table change T-SQL commands.

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:

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