Dear BizTalk experts,
I need you support and recommendation regarding issue:
In our production environment we are processing 900+ messages per minute and this grows the size of "BizTalkMsgBoxDb" and when "BizTalkMsgBoxDb" or "BizTalkMsgBoxDb_log.ldf" exceeds its size more than 4 GB BizTalk got very slow in processing other messages.
each time when "BizTalkMsgBoxDb" exceeds 4GB I just un-configure the BizTalk and delete databases "BizTalkMsgBoxDb" and "BizTalkDTADb" and then reconfigure the BizTalk again, doing so BizTalk processes 900+ messages per minute.
I know this is worst practice what I am doing. Now we are expecting more than 2000 messages per minute and I want to fix this issue without un-configuring the BizTalk.
Kindly suggest me best practices when the size of "BizTalkDTADb" and "BizTalkMsgBoxDb" exceeds more than 4GB, even I have much disc available.
I do not want to keep the old messages information in "BizTalkMsgBoxDb" or in "BizTalkDTADb".
If someone suggests or provide the script to clean "BizTalkMsgBoxDb" or in "BizTalkDTADb" it will be highly appreciated.
To clear the "BizTalkMsgBoxDb_log.ldf" I am using below scripts:
USE master
ALTER DATABASE BizTalkMgmtDb SET RECOVERY SIMPLE WITH NO_WAIT
ALTER DATABASE BizTalkDTADb SET RECOVERY SIMPLE WITH NO_WAIT
ALTER DATABASE BizTalkMsgBoxDb SET RECOVERY SIMPLE WITH NO_WAIT
GO
Use BizTalkMgmtDb
DBCC SHRINKFILE (N'BizTalkMgmtDb_log' , 0, TRUNCATEONLY)
GO
Use BizTalkDTADb
DBCC SHRINKFILE (N'BizTalkDTADb_log' , 0, TRUNCATEONLY)
GO
Use BizTalkMsgBoxDb
DBCC SHRINKFILE (N'BizTalkMsgBoxDb_log' , 0, TRUNCATEONLY)
GO
USE master
ALTER DATABASE BizTalkMgmtDb SET RECOVERY FULL WITH NO_WAIT
ALTER DATABASE BizTalkDTADb SET RECOVERY FULL WITH NO_WAIT
ALTER DATABASE BizTalkMsgBoxDb SET RECOVERY FULL WITH NO_WAIT
GO