Tam metin: çok sayıda FT_MASTER_MERGE, birden çok tam metin dizini oluşturulduktan sonra SUSPENDED durumunda bekliyor (sunucu kilitleniyor)


9

SQL Server 2014'te 10 veritabanı, her veritabanında 100 farklı şema, her şemada 10 küçük (~ 50 satır) tablo (yani toplamda 10K tablo) olduğunda bir test yaptık ve tüm bunlar üzerinde tam metin dizinleri oluşturduk tüm bu veritabanlarındaki tabloları aynı anda.

Birkaç dakika içinde SQL Server'ın herhangi bir bağlantıyı ( ADMIN:.bağlantı hariç ) kabul etmeyi bıraktığını gördük . Sunucuyu yeniden başlatırsak, bağlanabiliriz, ancak bir süre sonra tekrar askıda kalır. Bazı araştırmalardan sonra, bunun tüm çalışan iplikleri tüketmekten kaynaklandığını tespit ettik dm_os_tasksve dm_os_waiting_tasksbize devlette çok fazla FT_MASTER_MERGEbeklemenin olduğunu gösterdik SUSPENDED. "Ana metin birleştirme işleminde tam metin bekliyor" ifadesini kullandık, ancak bununla ilgili daha fazla gerçek bilgi bulamadık.

Farklı tam metin katalog yapılandırmaları denedik: DB başına bir katalog, şema başına bir katalog, dizin başına bir katalog. Her neyse, sunucu tüm bu askıya alınmış görevlerle takılıyor.

Beklemelerin temel nedeni nedir, bu nasıl düzeltilebilir / hafifletilebilir?

Ve bu kadar çok sayıda tabloda tam metni etkinleştirmenin önerilen yolu nedir?

Yanıtlar:


3

İşlemleri aynı anda yapmak yerine işlemleri kademelendirmeniz gerekecektir. Connect öğesi yeni bağlantıları kabul etmekten bahsetmiyor. Ancak bu bekleme nedeniyle dişler serbest bırakılmıyor (sizin durumunuzda) ve yeni bağlantılar mümkün değil.

Ref:

Bu, SQL Server ile ilgili bilinen bir sorundur. Bağlan öğesinden:

Bu, mevcut iş zamanlayıcımızın kurulum biçiminden kaynaklanır, bu da birden çok ana birleştirme işleminin sıraya alınmasına neden olur, ancak asla sinyal verilmez. Açık olmak gerekirse, bu sadece birden çok indeksleme / yeniden düzenleme işlemi aynı anda çağrıldığında meydana gelir - indeksleme işlemi gayet iyi tamamlanır ve sonuçlar sorgulanabilir. Zaman aşımına uğrayan ve daha sonraki bir süre için yeniden planlanan yalnızca ana birleştirme.

Düzeltmenin karmaşıklığı nedeniyle, tetiklemeden önce bir sonraki büyük sürüme kadar beklemeye karar verdik. Şu anda, bu tür zaman aşımı sorunlarına neden olmamak için dizin popülasyonlarını kademelendirmeniz tavsiye edilir . Başka sorunuz varsa lütfen bize bildirin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.