The TrackedMessages_Copy_BizTalkMsgBoxDb SQL Server Agent job fails and you receive a "Cannot insert the value null into column uidBodyPartID" error message in BizTalk Server 2004 (884532)
The information in this article applies to:
- Microsoft BizTalk Server 2004 Developer Edition
- Microsoft BizTalk Server 2004 Enterprise Edition
- Microsoft BizTalk Server 2004 Partner Edition
- Microsoft BizTalk Server 2004 Standard Edition
SYMPTOMSIn Microsoft BizTalk Server 2004, the Microsoft SQL Server
Agent job TrackedMessages_Copy_BizTalkMsgBoxDb fails and you receive an error message that is similar to the
following: Cannot insert the value NULL into column
'uidBodyPartID', table 'BizTalkMsgBoxDb.dbo.Tracking_Spool1'; column does not
allow nulls. CAUSEThis problem occurs because the uidBodyPartID column in the Tracking_Spool1 and Tracking_Spool2 tables in the BizTalk Server MessageBox database should allow
NULL values because this value may be null under some conditions.RESOLUTIONService pack information
To resolve this problem, obtain the latest service pack for Microsoft BizTalk Server 2004. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
888751 How to obtain the latest BizTalk Server 2004 service pack
Other resolution information
To resolve this problem, configure the uidBodyPartID column in the Tracking_Spool1 and Tracking_Spool2 tables in the BizTalk Server MessageBox database to allow NULL
values. To do this, follow these steps:
- Temporarily stop and disable the TrackingSpool_Cleanup_BizTalkMsgBoxDb SQL Server Agent job. To do this, follow these steps:
- Click Start, point to
Programs, point to Microsoft SQL Server, and
then click Enterprise Manager to start the SQL Enterprise
Manager.
- Expand the SQL Server group, expand the SQL Server,
expand Management, expand SQL Server Agent,
click Jobs, right-click the
TrackingSpool_Cleanup_BizTalkMsgBoxDb job, and then click
Stop Job.Then, right-click the
TrackingSpool_Cleanup_BizTalkMsgBoxDb job, and then click
Disable Job.
- Start SQL Query Analyzer, and then connect to the SQL
Server that houses your BizTalk Server 2004 MessageBox database. You can start
SQL Query Analyzer on the Tools menu in SQL Enterprise
Manager.
- Paste the following SQL statements in the Query window of the SQL Query Analyzer:
USE BizTalkMsgBoxDb
ALTER TABLE Tracking_Spool1 ALTER COLUMN uidBodyPartID uniqueidentifier NULL
ALTER TABLE Tracking_Spool2 ALTER COLUMN uidBodyPartID uniqueidentifier NULL Note BizTalkMsgBoxDb is a placeholder for
the name of the BizTalk Server MessageBox database. Replace
BizTalkMsgBoxDb with the name of your BizTalk Server
MessageBox database. By default, the name of the BizTalk Server MessageBox
database is BizTalkMsgBoxDb. - In SQL Query Analyzer, click Execute Query
to update the Tracking_Spool1 and Tracking_Spool2 tables so that the uidBodyPartID column will allow NULL values.
- Close SQL Query Analyzer.
- Enable and then start the TrackingSpool_Cleanup_BizTalkMsgBoxDb job.
STATUSMicrosoft
has confirmed that this is a problem in the Microsoft products that are listed
in the "Applies to" section.
This problem was corrected in BizTalk Server 2004 Service Pack 1.
MORE INFORMATIONBizTalk Server 2004 creates several SQL Server Agent jobs
that maintain BizTalk Server databases. These jobs are scheduled to run
automatically at different intervals. By default, the TrackedMessages_Copy_BizTalkMsgBoxDb job is scheduled to run every 60 seconds.
Modification Type: | Major | Last Reviewed: | 6/28/2005 |
---|
Keywords: | kbBizTalk2004sp1fix kbBTSMessaging kbprb kbinfo KB884532 kbAudDeveloper |
---|
|