Aracılığıyla paylaş


Sık karşılaşılan sorgu hatalarını giderme

Şunlar için geçerlidir: Azure Synapse Analytics

Not

Azure Synapse Analytics'te şu anda etkin olan veya yakın zamanda çözülen bilinen sorunların listesini gözden geçirmeyi unutmayın.

Azure Synapse ayrılmış SQL havuzunuzda sorgu yürütürken oluşan yaygın hataları, hataları ve özel durumları gidermek için aşağıdaki kılavuzu kullanın.

Sık karşılaşılan hatalar

Hata Neden Risk azaltma
Could not allocate a new page for database 'Distribution_nn' because of insufficient disk space in filegroup 'PRIMARY'. Rowstore dizinleri (columnstore değil) ve/veya yığınları olan tablolar en az bir dağıtımda kullanılabilir alanı aştı. - Veritabanının boyut üst sınırını artırın.
- Tabloları dengesizlik için değerlendirin.
Error 8632 - Internal error: An expression services limit has been reached. Look for potentially complex expressions in your query, and try to simplify them. Sorgu, optimizasyon için fazla karmaşık. Sorguyu birden çok adıma bölün.
Database 'Distribution_nn_Cache' cannot be opened due to inaccessible files or insufficient memory or disk space. Bir hizmet durumu sorununu gösterir. Ayrılmış SQL havuzunuzu duraklatma ve sürdürme.
Unable to allocate n KB for columnstore compression because it exceeds the remaining memory from total allocated for current resource class and DWU. Yazma işlemi için bellek yetersiz. - Kullanıcının kaynak sınıfını artırın.
- Hizmet düzeyi hedefini (SLO) geçici olarak artırmayı göz önünde bulundurun.
Internal error (5123, 50) Yüksek hacimli GÇ işlemleri nedeniyle oluşur. - Kullanıcının kaynak sınıfını artırın.
- Tablonun bölüm sayısını azaltın.
- CCI tablolarını yeniden oluşturun.
Failed to execute query. Error: MSDTC on server '{NAME}' is unavailable Genel işlemleri yöneten hizmet düzgün çalışmıyor. Anında azaltma için ayrılmış SQL havuzunuzu duraklatma ve sürdürme. Sorun yeniden ortaya çıkarsa desteğe başvurun.
110806; A distributed query failed: Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server isn't responding İç meta verileri alma zaman aşımı. Sorgu başvurularını sys.pdw_table_mappings daha yüksek performanslı olduğundan sys.pdw_permanent_table_mappings ile değiştirin.
110806; A distributed query failed: ExecuteNonQuery requires an open and available Connection. The connection's current state is open. İşlem düğümleri arasındaki bağlantı sorunlarını gösteren iç sorgu hatası. - Bu sorun genellikle kendi kendine çözüleceği için sorguyu yeniden deneyin.
- Sorun devam ederse ayrılmış SQL havuzunuzu duraklatın ve sürdürebilirsiniz.
- Sorunun sıklığı artarsa desteğe başvurun.
110806; A distributed query failed: Operation not allowed. Genellikle kaynak baskısını gösteren iç sorgu hatası. - Bu sorun genellikle kendi kendine çözüleceği için sorguyu yeniden deneyin.
- Sorun devam ederse ayrılmış SQL havuzunuzu duraklatın ve sürdürebilirsiniz.
- İstatistikleri güncelleştirin ve CCI'leri yeniden oluşturun.
- SLO'nun artırılmasını göz önünde bulundurun. SLO artırıldıktan sonra sorun devam ederse desteğe başvurun.
110806; A distributed query failed: Could not allocate space for object '<ObjectName' in database 'tempdb' because the 'PRIMARY' filegroup is full. Sorgu veya sorgu dizisi en az bir işlem düğümüne doldurulmuş tempdb . Ayrılmış sql havuzundaki tempdb hatalarını giderme bölümüne bakın.
110802; An internal DMS error occurred that caused this operation to fail. Details: Please use this Error ID when contacting your Administrator for assistance. EID:(ErrorID) Yetersiz kaynak nedeniyle DMS işlemi sırasında sorgu hatası. - Kullanıcının kaynak sınıfını iş yüküyle eşleşecek şekilde artırın.
- Tempdb dolumlarını önlemek için azaltmaları gözden geçirin ve uygulayın .
110802; An internal DMS error occurred that caused this operation to fail. ... Java exception message: HdfsBridge::createRecordWriter - Unexpected error encountered when creating a record writer: ClassCastException: , desteklenmeyen EXTERNAL DATA SOURCE bir kaynağa karşı yerel veri sanallaştırma kullanılarak oluşturulduğunda deyimi sırasında CREATE EXTERNAL TABLE AS SELECT gerçekleşir. Dış Veri Kaynağı oluşturulurken belirtin TYPE = Hadoop.
110802; An internal DMS error occurred that caused this operation to fail. ... Java exception message: HdfsBridge::CreateRecordReader - Unexpected error encountered creating the record reader: ConnectException: Connection timed out: Sorguyu yürütmek için yetersiz bellek kaynakları. Kullanıcının kaynak sınıfını iş yüküyle eşleşecek şekilde artırın.
100088: The query processor could not produce a query plan because the target DML table is not hash partitioned Desteklenmeyen hepsini bir kez deneme dağıtılmış tablo DML senaryosu:
- DELETEveya UNIQUE anahtarıyla PRIMARY RR'den
- UPDATE, veya hedef tabloda güncelleştirilecek satırları belirlemek için gibi ROW_NUMBERRANKDENSE_RANK bir derecelendirme işlevi kullanır.
- DELETE + PK/UK senaryosu: Drop PK/UK ve ardından yinelenen satırları kaldırın.
- UPDATE + derecelendirme işlevi senaryosu:
  • Hedef tablo dağıtım türünü olarak HASHdeğiştirin.
  • yerine gerçekleştirinDELETEINSERT + UPDATE.
35386. Error Message: Unable to allocate 370216 {NAME} for columnstore compression because it exceeds the remaining memory from total allocated for current resource class and DWU Kümelenmiş columnstore dizini olan bir tabloyu değiştiren veya yöneten sorgunun görevi tamamlamak için yeterli belleği yok. - Kullanıcının kaynak sınıfını iş yüküyle eşleşecek şekilde artırın.
- SLO'nun artırılmasını göz önünde bulundurun .

Beklenmeyen davranışlar

Gözlem Öneri
Sözdizimi hataları Ayrılmış SQL havuzları için farklılıklar olduğundan T-SQL söz dizimi başvurularını denetleyin.
Birincil anahtarlar ve benzersiz anahtarlar zorlanmaz. Birincil anahtarlar ve benzersiz kısıtlamalar Synapse Analytics'te tutarlılığı zorlamaz. Ancak sorgu iyileştiricisi, sorgu performansını geliştirmek için anahtardan yararlanabilir.
USE deyimi başarısız oluyor. Deyimi USE ayrılmış SQL havuzunda desteklenmez. Synapse ayrılmış SQL havuzuna doğrudan bağlantı dizesi bağlanın.
sorgu veya yürütme zaman aşımı hataları iptal edildi. - İstemci uygulamasında yapılandırılan zaman aşımı değerini denetleyin.
- CREATE WORKLOAD GROUP içinde parametresini yapılandırınQUERY_EXECUTION_TIMEOUT_SEC.
Tutarsız veya beklenmeyen sonuçlar. - Verileriniz özel karakterler içeriyorsa veya farklı metin kodlamaları kullanıyorsa ve NVARCHARgibi NCHAR Unicode veri türlerini kullanın.
- Sorgunuzun yan tümcesinde WHERE mi yoksa JOIN işlemlerinde mi kullandığını GETDATE() denetleyin. Tarihi depolamak için bir değişken kullanın, ardından değişkende kullanın.
- Sorgunuzun yan tümcesinde veya JOIN işlemlerinde WHERE işlevini kullanıp kullanmadiğini ROW_NUMBER() denetleyin. İşlev sonuçlarını tutmak ROW_NUMBER() için geçici bir tablo kullanın ve ardından diğer tablolarla birleştirin.
- Varsayılan olmayan harmanlama içeren veritabanları sorguların davranışını etkileyebilir ve Microsoft dışı araçlarla etkileşim kurarken beklenmeyen sonuçlar görüntüleyebilir.
Not: Ayrılmış SQL havuzu oluşturulduktan sonra varsayılan veritabanı harmanlaması değiştirilemez. Harmanlama desteği hakkında daha fazla bilgi için bkz . Azure Synapse Analytics Ayrılmış SQL havuzu için veritabanı harmanlama desteği.
Beklenmeyen yinelenen satırlar. PRIMARY KEY öğesini tabloya bırakın ve ardından yinelenenleri denetleyin.
Sorgular yanıt vermiyor veya uzun süre çalışan sorgular var. Ayrılmış SQL havuzundaki yavaş sorgu sorunlarını gidermek için makalemizi kullanın.
Tahmini sorgu planı, ilgili bölümleri beklendiği gibi ortadan kaldırmıyor. Bu davranış tasarımdan kaynaklanır. Denetim düğümü tarafından oluşturulan tahmini sorgu planı, arama koşullarını hesaba katmıyor, ancak işlem düğümlerindeki tek tek dağıtım planları dikkate alıyor.
Gerçekleştirilmiş görünümde görünümlere başvuru yapılamıyor. Gerçekleştirilmiş görünümler diğer görünümleri sorgulamayı desteklemez. Gerçekleştirilmiş görünümler için kısıtlamaları denetleyin.
Dış tabloları sorgularken tutarsız süreler. Dış tablolar son kullanıcı sorguları için en uygun değildir. Bunun yerine, daha tutarlı bir deneyim için verileri sorgulamak için kalıcı tablolara yüklemeyi veya iş yükünü sunucusuz havuzları kullanacak şekilde değiştirmeyi göz önünde bulundurun.

Kaynaklar