Error 10 (Warning)
All receive locations are being temporarily disabled
because either the Message Box or Configuration database is not available. When
these databases become available, the receive locations will be automatically
enabled.
Cause
This error is subsequent
to Error 9. It is mainly due to BizTalkMsgBoxDb overflow.
BizTalk is losing
connection to SQL which is a 'showstopper' scenario to BizTalk in other words it
will never function.
Solution
Disable the trace in peak hours just to make sure that
you are not running into performance/networking bottle neck issues. Also execute
the query to shrink the database.
backup log BizTalkMsgBoxDb with truncate_only
dbcc
shrinkdatabase('BizTalkMsgBoxDb',truncateonly)
use BizTalkMsgBoxDb /* this is mandatory for Shrink file
*/
go
dbcc shrinkfile('BizTalkMsgBoxDb',TRUNCATEONLY )
Error 11
The Messaging Engine failed to retrieve the
configuration from the database. Details:"The database cannot be accessed
because the system is recovering from an earlier database failure. ".
Cause
This situation occurs if the BizTalkMsgBoxDb has grown
abundantly, or the database itself was sent to suspend mode.
Solution
To recover the database from suspect mode execute the
following query
EXEC sp_resetstatus 'Yourdatabasename'ALTER DATABASE Yourdatabasename SET
EMERGENCYDBCC checkdb(' Yourdatabasename
')ALTER
DATABASE Yourdatabasename SET
SINGLE_USER WITH ROLLBACK IMMEDIATEDBCC CheckDB (' Yourdatabasename ',
REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE Yourdatabasename SET
MULTI_USER
The Database will then turn to emergency mode. Then
detach the database and restore it with an earlier backup.
Now the database should be up, and working.
Error 12 (Warning)
The Messaging Engine failed while writing tracking
information to the database. Details:"Unable to acquire the necessary database
session for this operation. ".
Cause
The error is subsequent to the errors raised earlier.
The solutions to 9, 11 will resolve this issue.
Error 13
The following stored procedure call failed: " { call
[dbo].[bts_InsertMessage]( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
?, ?, ?)}". SQL Server returned error string: "could not allocate space for
object 'dbo.Spool'.'IX_Spool' in database 'BizTalkMsgBoxDb' because the
'PRIMARY' filegroup is full. Create disk space by deleting unneeded files,
dropping objects in the filegroup, adding additional files to the filegroup, or
setting auto growth on for existing files in the filegroup.".
Cause
This error is occurring because the database LOG file is
either too large for what has been allocated or the SQL server disk is full.
Solution
Disable the trace in peak hours just to make sure that
you are not running into performance/networking bottle neck issues. Also execute
the query to shrink the database.
backup log BizTalkMsgBoxDb with truncate_only
dbcc shrinkdatabase ('BizTalkMsgBoxDb',
truncateonly)
use BizTalkMsgBoxDb /* this is mandatory for Shrink file
*/
go
dbcc shrinkfile ('BizTalkMsgBoxDb',
TRUNCATEONLY)
Error 14
A message received by adapter "FILE"
on receive location
"EDI_835_Solution_1.0.0.0_EDI_835_Solution.EDI_835_ Orchestration_Receive_Port_8dd0a3b70b5b5627_ReceiveLocation"
with URI "c:\835_In\*.txt" is suspended. Error details: The published
message could not be routed because no subscribers were found. This error occurs
if the subscribing orchestration or send port has not been enlisted, or if some
of the message properties necessary for subscription evaluation have not been
promoted. Please use the BizTalk Administration console to
troubleshoot this
failure.
Cause
This error occurs if the subscribing orchestration or
send port has not been enlisted, or if some of the message properties necessary
for subscription evaluation have not been promoted.
Solution
First of all, you need to use a pipeline on your receive
location that will promote properties of the EDI message such as a custom
pipeline with an EDI disassemble component or the EdiReceive pipeline.
You want to setup a send port filter by clicking on the
"Filter" tab on a Send Port's properties. You want to use a filter that will
catch the received file. For an 835 you could use EDI.ST01 == 835 as the filter.
Error 15
There was a failure executing the receive pipeline.
Source: "Flat file Disassembler" Receive Port: "xxxxx" URI:
"ftp://xx.xx.xx.xx/\....../*.csv" Reason: No Disassemble stage components can
recognize the data.
Solution
Make sure that you have your schemas deployed, that they
are still in the GAC
Error 16 (Warning)
The adapter "SQL" raised an error message. Details
"HRESULT="0x80040e14" Description="Transaction count after EXECUTE indicates
that a COMMIT or ROLLBACK TRANSACTION statement is missing. Previous count = 1,
current count = 2."
HRESULT="0x80040e14" Description="The current transaction
cannot be committed and cannot support operations that write to the log file.
Roll back the transaction."
HRESULT="0x80040e14" Description="Cannot roll back
ShipHeaderTransaction. No transaction or save point of that name was found."
HRESULT="0x80004005" Description="Transaction count after
EXECUTE indicates that a COMMIT or ROLLBACK TRANSACTION statement is missing.
Previous count = 1, current count = 2."
HRESULT="0x80040e14" Description="Uncommittable transaction
is detected at the end of the batch. The transaction is rolled back."
".
Solution
The clue is to embed the stored procedure within try
catch and transaction statements.
USE Adventure Works;
GO
BEGIN TRANSACTION;
BEGIN TRY
-- Generate a constraint violation error.
END TRY
BEGIN CATCH
SELECT
ERROR_NUMBER () AS ErrorNumber
, ERROR_SEVERITY () AS ErrorSeverity
, ERROR_STATE () AS ErrorState
, ERROR_PROCEDURE () AS ErrorProcedure
, ERROR_LINE () AS ErrorLine
, ERROR_MESSAGE () AS ErrorMessage;
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION;
END CATCH;
IF @@TRANCOUNT > 0
COMMIT TRANSACTION;
GO
Error 17 (Warning)
Transaction (Process ID 56) was deadlocked on lock
resources with another process and has been chosen as the deadlock victim. Rerun
the transaction.
Cause
The reason for this warning is the SQL Server database
overload. The Server is looking after other applications apart from BizTalk
Solution
Use the transact statements along with try catch. Also
include the following code in the procedure.
--To handle deadlock issues
SET TRANSACTION ISOLATION LEVEL
READ COMMITTED
Error 18
A message received by adapter "FILE" on receive location
"xxxxx" with URI "C:\....\*.CSV" is suspended. Error details: There was a
failure executing the receive pipeline: "xxxxx" Source: "Flat file Disassembler"
Receive Port: "xxxxx" URI: "C:\......\*.CSV" Reason: Unexpected data found while
looking for: '^'
|