BizTalk Server'de BizTalkMsgBoxDb veritabanına bağlanırken karşılaşılan engelleme, kilitlenme koşulları veya diğer SQL Server sorunları
Bu makalede, Microsoft BizTalk Server veritabanına bağlanırken BizTalkMsgBoxDb
karşılaşılan SQL Server sorunlarını çözme hakkında bilgi sağlanır.
Orijinal ürün sürümü: BizTalk Server
Özgün KB numarası: 917845
Belirtiler
BizTalk Server veritabanına bağlanmaya BizTalkMsgBoxDb
çalıştığınızda engelleme, kilitlenme koşulları veya diğer Microsoft SQL Server sorunlarıyla karşılaşırsınız.
Neden
Aşağıdaki koşullardan biri veya daha fazlası doğruysa bu sorun oluşabilir:
- Veritabanında Otomatik İçerik Oluşturucu İstatistikleri seçeneği etkinleştirilir
BizTalkMsgBoxDb
. - Veritabanında otomatik güncelleştirme istatistikleri seçeneği etkinleştirilir
BizTalkMsgBoxDb
. - En yüksek paralellik derecesi seçeneği, veritabanı veya bu veritabanını barındıran SQL örneği için
BizTalkMsgBoxDb
1'den farklı bir değere ayarlanır. - BizTalk Server verileri işlerken veritabanındaki bir dizini
BizTalkMsgBoxDb
birleştirin veya yeniden derleyin.
Çözüm 1: Otomatik İçerik Oluşturucu İstatistikleri seçeneğini ve İstatistikleri Otomatik Güncelleştir seçeneğini devre dışı bırakma
Bu sorunu çözmek için SQL Server veritabanındaki Otomatik İçerik Oluşturucu İstatistikleri ve Otomatik Güncelleştirme İstatistikleri seçeneklerini BizTalkMsgBoxDb
devre dışı bırakın.
Çözüm 2: En yüksek paralellik derecesini 1 olarak ayarlayın
Bu sorunu çözmek için, veritabanı ayarında veya bu veritabanını barındıran SQL örneğinde BizTalkMsgBoxDb
en yüksek paralellik derecesini1 olarak ayarlayın.
Çözüm 3: BizTalk Server verileri işlerken dizini yeniden oluşturmayın
Bu sorunu çözmek için saklı yordamı veya BizTalk Server verileri işlerken BizTalk Server veritabanındaki bir dizini yeniden oluşturan herhangi bir SQL komutunu çalıştırmayınbts_RebuildIndexes
.
Not
BizTalk Server veritabanında dizini birleştirme desteklenmez.
bts_RebuildIndexes saklı yordamı
Veritabanında bir dizini yeniden derlemek BizTalkMsgBoxDb
için desteklenen tek yöntem saklı yordamı çalıştırmaktır bts_RebuildIndexes
. BizTalk Server 2006 ve sonraki sürümlerinde, veritabanındaki dtasp_RebuildIndexes
dizinleri BizTalkDTADb
yeniden oluşturmak için saklı yordamı çalıştırabilirsiniz.
BizTalk dizinlerinin çoğu GUID tabanlıdır. Birçok test, tablolar taranmadığı sürece GUID tabanlı dizinlerin BizTalk'a özgü iş yükleri için kimlik tabanlı dizinlerden daha iyi performans gösterebileceğini göstermiştir. Bu, parçalanmalara neden olabilir. Ancak, veriler tablolara sabit bir hızda girip çıktığı için parçalanma herhangi bir soruna neden olmayabilir. Veritabanında çok fazla veri oluşturulması BizTalkMsgBox
bekleniyorsa, zamanlanmış kapalı kalma süresi boyunca dizinleri düzenli aralıklarla yeniden oluşturabilirsiniz. Aynı yönergeler izleme veritabanı için de geçerlidir.
SQL komutunu kullanarak DBCC DBREINDEX
diğer BizTalk Server veritabanlarındaki bir dizini yeniden oluşturabilirsiniz. SQL komutunun nasıl kullanılacağına DBCC DBREINDEX
ilişkin bir örnek için saklı yordama bts_RebuildIndexes
sağ tıklayın ve özellikler'e tıklayın.
Microsoft yalnızca BizTalk Server kapalı kalma süresi boyunca veritabanı dizinlerinin yeniden oluşturulmasını destekler. Dizini yeniden derlemeden önce tüm konak örneklerini ve SQL Server Agent durdurmalısınız. saklı yordamı BizTalk Server 2006 ve sonraki sürümlerde çalıştırdığınızda bts_RebuildIndexes
aşağıdaki hata iletilerinden birini alabilirsiniz:
Hata iletisi 1
Msg 5239, Düzey 16, Durum 1, Yordam bts_RebuildIndexes, Satır 4 Nesne kimliği 674101442 işlenemedi ('TrackingData' nesnesi)
Bu veritabanı tutarlılık denetleyicisi (DBCC) komutu bu tür bir nesneyi desteklemez.Hata iletisi 2
Msg 5239, Düzey 16, Durum 1, Yordam bts_RebuildIndexes, Satır 4 Nesne kimliği 722101613 işlenemiyor (nesne 'TrackingData') çünkü bu DBCC komutu bu türdeki nesneleri desteklemiyor.
Bu sorun, nesnenin TrackingData
BizTalk Server 2006 ve sonraki sürümlerde bir görünüm olması nedeniyle oluşur. Bu sorunu çözmek için aşağıdakileri yapın ve saklı yordamı yürütür bts_RebuildIndexes
:
Saklı yordamda aşağıdaki satırı açıklama satırı yapın
bts_RebuildIndexes
.DBCC DBREINDEX ('[dbo].[TrackingData]') WITH NO_INFOMSGS
Saklı yordama
bts_RebuildIndexes
aşağıdaki satırları ekleyin.DBCC DBREINDEX ('[dbo].[TrackingData_0_0]') WITH NO_INFOMSGS DBCC DBREINDEX ('[dbo].[TrackingData_0_1]') WITH NO_INFOMSGS DBCC DBREINDEX ('[dbo].[TrackingData_0_2]') WITH NO_INFOMSGS DBCC DBREINDEX ('[dbo].[TrackingData_0_3]') WITH NO_INFOMSGS DBCC DBREINDEX ('[dbo].[TrackingData_1_0]') WITH NO_INFOMSGS DBCC DBREINDEX ('[dbo].[TrackingData_1_1]') WITH NO_INFOMSGS DBCC DBREINDEX ('[dbo].[TrackingData_1_2]') WITH NO_INFOMSGS DBCC DBREINDEX ('[dbo].[TrackingData_1_3]') WITH NO_INFOMSGS