Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Kesalahan DBNetLib (Pustaka Jaringan Database) terjadi ketika runtime BizTalk Server tidak dapat berkomunikasi dengan database MessageBox atau Management. Ketika ini terjadi, instans runtime BizTalk Server yang menangkap pengecualian dimatikan dan kemudian berputar setiap menit untuk memeriksa apakah database tersedia.
Penyebab paling umum dari kesalahan DBNetLib adalah ketika salah satu server database MessageBox (mungkin banyak) menjadi sangat sibuk dan upaya lebih lanjut untuk berkomunikasi dengannya mengakibatkan waktu habis, yang menyebabkan pengecualian DBNetLib.
Selain kasus di mana database MessageBox sangat sibuk, kesalahan DBNetLib dapat terjadi di lingkungan produksi ketika server database BizTalk yang menghosting salah satu database MessageBox lainnya menjadi terikat I/O (Input/Output).
Topik ini menjelaskan kondisi yang dapat menyebabkan kesalahan dan rekomendasi DBNetLib untuk menghindari kesalahan ini.
Penyebab dan Resolusi untuk kesalahan DBNetLib
Gejala kesalahan DBNetLib
Instans host Microsoft BizTalk Server berakhir dan kemudian memulai ulang dirinya sendiri, dan kesalahan yang mirip dengan berikut ini ditulis ke log Aplikasi BizTalk Server:
Event Type:Warning
Event Source:BizTalk Server <version>
Event Category:BizTalk Server <version>
Event ID:5410
Computer:BIZTALKSERVER
Description:
An error occurred that requires the BizTalk service to terminate. The most common causes are the following:
1) An unexpected out of memory error.
OR
2) An inability to connect or a loss of connectivity to one of the BizTalk databases.
The service will shutdown and auto-restart in 1 minute. If the problematic database remains unavailable, this cycle will repeat.
Error message: [DBNETLIB][ConnectionWrite (send()).]General network error. Check your network documentation.
Error source:
BizTalk host name: BizTalkHost
Windows service name: BTSSvc$BizTalkHost
---------------------------------------------------------
Event Type:Error
Event Source:BizTalk Server <version>
Event Category:BizTalk Server <version>
Event ID:6913
Computer:BIZTALKSERVER
Description:
An attempt to connect to "BizTalkMsgBoxDb" SQL Server database on server "SQLSERVER " failed.
Error: "[DBNETLIB][ConnectionWrite (send()).]General network error. Check your network documentation."
Server database BizTalk yang menghosting database MessageBox menjadi terbatas oleh operasi I/O.
Server BizTalk berkomunikasi dan bertindak langsung dengan server database yang menghosting database MessageBox. Jika salah satu server database yang menghosting database MessageBox terlalu banyak digunakan dan masuk ke situasi terikat pada proses Input/Output, maka mungkin menjadi tidak responsif. Salah satu server BizTalk pada gilirannya mungkin kehilangan konektivitas dengan salah satu server database tersebut, dan kesalahan DBNetLib akan terjadi.
Pengujian kami menunjukkan bahwa server database yang sangat banyak digunakan menjadi terbatas oleh I/O ketika waktu%Idle disk fisiknya terus turun dan mencapai di bawah 10%. Jika "waktu%Idle" terus turun di bawah tingkat itu, ini adalah indikasi bahwa server database Anda kemungkinan menjadi tidak responsif.
Penyebab
Ada beberapa alasan yang dapat menyebabkan server database yang menghosting database MessageBox menjadi terikat I/O, beberapa di antaranya adalah sebagai berikut:
Jika mesin database yang menghosting database MessageBox terikat oleh spesifikasi perangkat keras yang rendah seperti: memori rendah, jumlah dan kecepatan prosesor dll.
Jika disk fisik pada mesin database yang menghosting database MessageBox sedang dibagikan dengan database lain yang memiliki penggunaan tinggi. Dalam kasus ketika beberapa database (termasuk MessageBox) sangat dikonsumsi pada saat yang sama, disk fisik dapat masuk ke situasi terikat I/O.
Contoh situasi seperti itu adalah sebagai berikut:
Pengujian kami menunjukkan bahwa server database yang menghosting database BizTalkDTADb dan/atau BAM terkadang mengonsumsi persentase tinggi dari waktu baca dan tulis disk fisik %Disk. Ketika disk server database yang menghosting database MessageBox sedang dibagikan oleh database lain yang banyak digunakan seperti BizTalkDTADb atau BAM, dan apabila kedua database tersebut digunakan secara intensif secara bersamaan, hal ini dapat menyebabkan disk fisik server database mengalami batas I/O dan kemudian menjadi tidak responsif.
Jika BizTalkDTADb dan satu atau beberapa database MessageBox berbagi disk fisik yang sama di server database, jika pengarsipan dan pembersihan tidak sering dijalankan, disk mungkin menjadi terikat I/O.
Resolusi
Pastikan server database yang menjalankan BizTalk MessageBox tidak masuk ke situasi di mana itu mengalami penggunaan berlebihan dan mungkin menjadi tidak responsif.
Beberapa penyebab utama disk server terpakai dalam jumlah besar tercantum di bawah ini bersama dengan rekomendasi tentang cara mengurangi masalah ini.
Spesifikasi Perangkat Keras Rendah
Pengujian kami menunjukkan bahwa server mulai lebih banyak digunakan ketika spesifikasi perangkat kerasnya tidak dapat mengikuti jumlah beban yang coba diproses. Dengan spesifikasi perangkat keras yang lebih rendah, sistem akan kewalahan dengan cepat oleh jumlah aktivitas yang terjadi pada database. Ini dapat menyebabkan waktu Baca dan Tulis %Disk server terus meningkat tanpa menstabilkan, juga waktu %Idle disk terus berkurang dan menjadi lebih rendah dari 10%, dan ini dapat menyebabkan server database Anda menjadi tidak responsif.
Bergantung pada jumlah aktivitas dan beban yang Anda miliki pada penyebaran BizTalk Anda, jika Anda menemukan bahwa Anda mendapatkan server database yang tidak responsif selama beban tinggi, Anda harus mempertimbangkan untuk meningkatkan bagian berikut di server database Anda: jumlah CPU, memori, dan menyambungkan ke SAN. Tentu saja, Anda harus melakukan diagnosis yang tepat untuk mencari tahu bagian mana (memori, jumlah CPU dll.) adalah hambatan yang perlu ditingkatkan di perangkat keras Anda.
Berbagi satu server atau disk untuk lebih dari satu grup database BizTalk
Seperti disebutkan sebelumnya, database selain MessageBoxes, seperti database BizTalk Tracking (BizTalkDTADb) dan database BAM, mungkin mengonsumsi siklus tinggi pada disk fisik server. Jadi, jika database tersebut kebetulan berbagi disk fisik yang sama dengan database MessageBox, maka mereka mungkin membebani disk dan membuatnya tidak responsif, yang sekali lagi bisa menyebabkan server BizTalk kehilangan konektivitas dengan database MessageBox dan dengan demikian menimbulkan masalah pada DBNetLib.
Sangat disarankan agar Anda memisahkan database apa pun yang diharapkan memiliki konsumsi disk fisik server yang tinggi dari BizTalk MessageBox, sehingga mereka berbagi disk fisik yang berbeda (atau memisahkannya di server yang berbeda). Disarankan agar Anda memisahkan database BizTalkDTADb dan BAM pada drive/server terpisah mereka sendiri dari MessageBox, dan disarankan juga untuk memiliki setiap database MessageBox (jika ada lebih dari satu) pada disk itu sendiri.
Pengarsipan dan Pembersihan
Dalam kasus ketika Anda memiliki database BizTalkDTADb dan MessageBox yang berbagi disk yang sama di server yang sama, Anda harus mengarsipkan dan membersihkan database BizTalkDTADb Anda secara teratur, jika tidak mereka akan tumbuh tanpa batas waktu.
Pengujian menunjukkan bahwa adalah praktik yang baik untuk mengarsipkan dan membersihkan secara berkala, tetapi jika Anda menjalankan di bawah beban yang lebih tinggi dari biasanya, Anda mungkin ingin mempertimbangkan pengarsipan dan pembersihan lebih sering. Jika pertumbuhan database BizTalkDTADb tidak dipertahankan secara teratur, maka ketika tindakan ini akhirnya dilakukan, mereka mungkin membutuhkan waktu yang cukup lama dan mengonsumsi sebagian besar sumber daya server database yang tersedia saat berjalan.