|
Product /Version |
BizTalk
2013 R2 |
BizTalk
2016 |
BizTalk
2020 |
|
Windows
Server |
2012 R2 / 2012 |
2016/2012
R2 |
2019/2016 |
|
SQL
Server |
2014/2012
SP1 |
2016/2014
SP1 |
2019/2017/2016
SP2 CU7 |
|
Visual
Studio |
2013 |
2015 |
2019 |
|
.Net |
4.6.x/4.5.x |
4.8/4.7.X/4.6.x |
4.8/4.7.2 |
Let's talk BizTalk
Ranadheer - My blog on BizTalk & EDI
Wednesday, March 3, 2021
BizTalk Server Version |
Lifecycle Start Date |
Mainstream Support End Date |
Extended Support End Date |
Currently Supported |
|
BizTalk Server 2020 |
2/1/2020 |
1/9/2024 |
1/9/2029 |
Yes |
|
BizTalk Server 2016 |
12/1/2016 |
1/11/2022 |
1/11/2027 |
Yes |
|
BizTalk Server 2013 R2 |
7/31/2014 |
7/10/2018 |
7/11/2023 |
Yes |
|
BizTalk Server 2013 |
6/12/2013 |
7/10/2018 |
7/11/2023 |
Yes |
|
BizTalk Server 2010 |
11/14/2010 |
1/12/2016 |
1/12/2021 |
Yes |
|
BizTalk Server 2009 |
6/21/2009 |
7/8/2014 |
7/9/2019 |
No |
|
BizTalk Server 2006 R2 |
6/23/2006 |
7/12/2011 |
7/12/2016 |
No |
|
BizTalk Server 2006 |
6/23/2006 |
7/12/2011 |
7/12/2016 |
No |
|
BizTalk Server 2004 |
5/20/2004 |
7/14/2009 |
7/8/2014 |
No |
|
BizTalk Server 2002 |
4/2/2002 |
4/2/2007 |
4/2/2012 |
No |
|
BizTalk Server 2000 |
5/2/2001 |
7/11/2006 |
7/12/2011 |
No |
Monday, November 20, 2017
ESBExceptionDB Maintance
ESBExceptionDB is a Database that is used to capture the Exceptions and used for Alert notifications, resubmitting of the messages ( with a bit of customization).
But over a period of time this Database will start to accumulate the messages. We don't have out-box jobs to clean the Database. We need to set up custom job similar to dtasp_BackupAndPurgeTrackingDatabase to clean Faults. Below is the script that can be used to Maintain the DB. We can further Enhance ESB Portal to allow User to delete the messages after reviewing the Expection, but in any case we need a custom job/script to clean up the DataBase.
USE [EsbExceptionDb]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[usp_PurgeEsbExceptionDb]
@DaysToKeep INT = 30
AS
BEGIN
/*
=============================================
Example:
EXEC [dbo].[usp_PurgeEsbExceptionDb] @DaysToKeep = 30
=============================================
*/
DECLARE @currentDateTime DATETIME, @deleteFromDateTime DATETIME;
SET @currentDateTime = GETUTCDATE();
SET @deleteFromDateTime = @currentDateTime - @DaysToKeep;
SET NOCOUNT ON;
/*Deleting all the records from ContextProperty table*/
DELETE conprop FROM [dbo].[ContextProperty] conprop
INNER JOIN
(SELECT msg.MessageID FROM [dbo].[Message] (NOLOCK) msg
INNER JOIN
(SELECT fault.FaultID FROM [dbo].[Fault](NOLOCK) fault WHERE fault.InsertedDate < @deleteFromDateTime) faultsToDelete
ON faultsToDelete.FaultID = msg.FaultID) msgIdsToDelete
ON msgIdsToDelete.MessageID = conprop.MessageID
/*Deleting all the records from ProcessedFault table*/
DELETE procfaults FROM [dbo].[ProcessedFault](NOLOCK) procfaults
INNER JOIN
(SELECT fault.FaultID FROM [dbo].[Fault](NOLOCK) fault WHERE fault.InsertedDate < @deleteFromDateTime) faultsToDelete
ON procfaults.ProcessedFaultID = faultsToDelete.FaultID
/*Deleting all the records from MessageData table*/
DELETE msgdata FROM [dbo].[MessageData] msgdata
INNER JOIN
(SELECT msg.MessageID FROM [dbo].[Message](NOLOCK) msg
INNER JOIN
(SELECT fault.FaultID FROM [dbo].[Fault](NOLOCK) fault WHERE fault.InsertedDate < @deleteFromDateTime) faultsToDelete
ON faultsToDelete.FaultID = msg.FaultID) msgIdsToDelete
ON msgIdsToDelete.MessageID = msgdata.MessageID
/*Deleting all the records from Message table*/
DELETE msg FROM [dbo].[Message] msg
INNER JOIN
(SELECT fault.FaultID FROM [dbo].[Fault](NOLOCK) fault WHERE fault.InsertedDate < @deleteFromDateTime) faultsToDelete
ON msg.FaultID = faultsToDelete.FaultID
/*Deleting all the records from Fault table*/
DELETE fault FROM [dbo].[Fault](NOLOCK) fault WHERE fault.InsertedDate < @deleteFromDateTime;
/*Deleting all the records from AlertSubscriptionHistory table*/
DELETE ash FROM [dbo].[AlertSubscriptionHistory] (NOLOCK) ash WHERE ash.InsertedDate < @deleteFromDateTime;
/*Deleting all the records from AlertHistory table*/
DELETE ah FROM [dbo].[AlertHistory] (NOLOCK) ah WHERE ah.InsertedDate < @deleteFromDateTime;
/*Deleting all the records from AlertEmail table*/
DELETE ae FROM [dbo].[AlertEmail] (NOLOCK) ae WHERE ae.InsertedDate < @deleteFromDateTime;
SET NOCOUNT OFF;
END
GO
But over a period of time this Database will start to accumulate the messages. We don't have out-box jobs to clean the Database. We need to set up custom job similar to dtasp_BackupAndPurgeTrackingDatabase to clean Faults. Below is the script that can be used to Maintain the DB. We can further Enhance ESB Portal to allow User to delete the messages after reviewing the Expection, but in any case we need a custom job/script to clean up the DataBase.
USE [EsbExceptionDb]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[usp_PurgeEsbExceptionDb]
@DaysToKeep INT = 30
AS
BEGIN
/*
=============================================
Example:
EXEC [dbo].[usp_PurgeEsbExceptionDb] @DaysToKeep = 30
=============================================
*/
DECLARE @currentDateTime DATETIME, @deleteFromDateTime DATETIME;
SET @currentDateTime = GETUTCDATE();
SET @deleteFromDateTime = @currentDateTime - @DaysToKeep;
SET NOCOUNT ON;
/*Deleting all the records from ContextProperty table*/
DELETE conprop FROM [dbo].[ContextProperty] conprop
INNER JOIN
(SELECT msg.MessageID FROM [dbo].[Message] (NOLOCK) msg
INNER JOIN
(SELECT fault.FaultID FROM [dbo].[Fault](NOLOCK) fault WHERE fault.InsertedDate < @deleteFromDateTime) faultsToDelete
ON faultsToDelete.FaultID = msg.FaultID) msgIdsToDelete
ON msgIdsToDelete.MessageID = conprop.MessageID
/*Deleting all the records from ProcessedFault table*/
DELETE procfaults FROM [dbo].[ProcessedFault](NOLOCK) procfaults
INNER JOIN
(SELECT fault.FaultID FROM [dbo].[Fault](NOLOCK) fault WHERE fault.InsertedDate < @deleteFromDateTime) faultsToDelete
ON procfaults.ProcessedFaultID = faultsToDelete.FaultID
/*Deleting all the records from MessageData table*/
DELETE msgdata FROM [dbo].[MessageData] msgdata
INNER JOIN
(SELECT msg.MessageID FROM [dbo].[Message](NOLOCK) msg
INNER JOIN
(SELECT fault.FaultID FROM [dbo].[Fault](NOLOCK) fault WHERE fault.InsertedDate < @deleteFromDateTime) faultsToDelete
ON faultsToDelete.FaultID = msg.FaultID) msgIdsToDelete
ON msgIdsToDelete.MessageID = msgdata.MessageID
/*Deleting all the records from Message table*/
DELETE msg FROM [dbo].[Message] msg
INNER JOIN
(SELECT fault.FaultID FROM [dbo].[Fault](NOLOCK) fault WHERE fault.InsertedDate < @deleteFromDateTime) faultsToDelete
ON msg.FaultID = faultsToDelete.FaultID
/*Deleting all the records from Fault table*/
DELETE fault FROM [dbo].[Fault](NOLOCK) fault WHERE fault.InsertedDate < @deleteFromDateTime;
/*Deleting all the records from AlertSubscriptionHistory table*/
DELETE ash FROM [dbo].[AlertSubscriptionHistory] (NOLOCK) ash WHERE ash.InsertedDate < @deleteFromDateTime;
/*Deleting all the records from AlertHistory table*/
DELETE ah FROM [dbo].[AlertHistory] (NOLOCK) ah WHERE ah.InsertedDate < @deleteFromDateTime;
/*Deleting all the records from AlertEmail table*/
DELETE ae FROM [dbo].[AlertEmail] (NOLOCK) ae WHERE ae.InsertedDate < @deleteFromDateTime;
SET NOCOUNT OFF;
END
GO
Saturday, February 4, 2017
MQSC Adapter fails with reason code 2394 when it uses UTF-8 encoding
This morning I ran
into the below error while testing a connectivity using MQSC adapter
and UTF-8 encoding after installing CU3 for Host Integration Server 2013.
I am able to read the messages out of queue without UTF-8 encoding in
receive location, but UTF-8 is causing the issue.
The adapter "MQSC" raised an error message. Details "Failure encountered while attempting to get message from queue. queue = {queueName}, queueManager = {queueManager}, reasonCode = 2394".
This issue started post CU3
Installation only.. I was able to reproduce this issue in multiple servers….
Upon some binging.. I was able to
find an article which
talk about an issue with CU3 for HIS 2013 and UTF-8 encoding. I was not
able to find the Hotfix download.. so instead I uninstalled the
CU3 for Host Integration Server 2013 and wolaa the issue is resolved…
I am able to use MQSC adapter to read messages from the Queue using
UT-8 encoding in the receive location.
I won’t not say this is a clean
solution but if you run into this issue and had the CU3 installed for HIS 2013 uninstalling it
can resolve the issue… Also check the below hotfix’s that CU3 contains which
could impact your system due to uninstallation of CU3.
CU3 Details @ : https://support.microsoft.com/en-us/help/3019572/cumulative-update-3-for-host-integration-server-2013
I will be searching for a better
solution …..
BizTalk Server 2013
R2
Host Integration Server 2013
Hope this help... If you have any question please feel
to ping me ..
Happy Integrating ..
Happy Integrating ..
Tuesday, February 23, 2016
BizTalk Server Versions and Cumulative Updates List
Below is the list of BizTalk Server Versions and Cumulative updates. Please feel free to correct them if needed.
BizTalk 2013 R2
BizTalk 2013
BizTalk 2010
BizTalk 2009
BizTalk 2006\R2\SP1
BizTalk 2013 R2
| BizTalk Edition | BizTalk Version | Release Date |
| BizTalk Server 2013 R2 | 3.11.158.0 | 6/23/2014 |
| BizTalk Server 2013 R2 Cumulative update package 1 | 3.11.217.2 | 7/2/2015 |
| BizTalk Server 2013 R2 Cumulative update package 2 | 3.11.237.2 | 12/31/2015 |
BizTalk 2013
| BizTalk Edition | BizTalk Version | Release Date |
| BizTalk Server 2013 Beta | 3.10.171.0 | 11/20/2012 |
| BizTalk Server 2013 | 3.10.229.0 | 3/21/2013 |
| BizTalk Server 2013 Cumulative update package 1 | 3.10.301.0 | 4/10/2013 |
| BizTalk Server 2013 Cumulative update package 2 | 3.10.305.2 | 10/31/2013 |
| BizTalk Server 2013 Cumulative update package 3 | 3.10.344.2 | 10/9/2015 |
BizTalk 2010
| BizTalk Edition | BizTalk Version | Release Date |
| BizTalk Server 2010 Beta | 3.9.187.0 | 5/21/2010 |
| BizTalk Server 2010 | 3.9.469.0 | 10/1/2010 |
| BizTalk Server 2010 Cumulative Update Package 1 | 3.9.522.2 | 5/21/2011 |
| BizTalk Server 2010 Cumulative Update Package 2 | 3.9.530.2 | 8/31/2011 |
| BizTalk Server 2010 Cumulative Update Package 3 | 3.9.542.2 | 11/20/2011 |
| BizTalk Server 2010 Cumulative Update Package 4 | 3.9.545.2 | 2/28/2012 |
| BizTalk Server 2010 Cumulative Update Package 5 | 3.9.556.2 | 6/19/2012 |
| BizTalk Server 2010 Cumulative Update Package 6 | 3.9.575.2 | 7/11/2013 |
| BizTalk Server 2010 Cumulative Update Package 7 | 3.9.644.2 | 3/20/2015 |
| BizTalk Server 2010 Cumulative Update Package 8 | 3.9.668.2 | 8/17/2015 |
| BizTalk Server 2010 Cumulative Update Package 9 | 3.9.674.2 | 2/1/2016 |
BizTalk 2009
| BizTalk Edition | BizTalk Version | Release Date |
| BizTalk Server 2009 | 3.8.368.0 | 4/27/2010 |
| BizTalk Server 2009 Cumulative Update Package 1 | 3.8.454.2 | 12/8/2010 |
| BizTalk Server 2009 Cumulative Update Package 2 | 3.8.463.2 | 3/17/2011 |
| BizTalk Server 2009 Cumulative Update Package 3 | 3.8.469.2 | 8/1/2011 |
| BizTalk Server 2009 Cumulative Update Package 4 | 3.8.473.2 | 11/1/2011 |
| BizTalk Server 2009 Cumulative Update Package 5 | 3.8.475.2 | 1/20/2012 |
| BizTalk Server 2009 Cumulative Update Package 6 | 3.8.477.2 | 4/27/2012 |
| BizTalk Server 2009 Cumulative Update Package 7 | 3.8.492.2 | 11/28/2014 |
BizTalk 2006\R2\SP1
| BizTalk Edition | BizTalk Version | Release Date |
| BizTalk Server 2006 | 3.5.1602.0 | 3/27/2006 |
| BizTalk Server 2006 R2 | 3.6.1404.0 | 10/2/2007 |
| BizTalk Server 2006 R2 SP1 | 3.6.2149.10 | 1/27/2010 |
| BizTalk Server 2006 R2 SP1 Cumulative Update Package 1 | 3.6.2210.12 | 4/12/2010 |
| BizTalk Server 2006 R2 SP1 Cumulative Update Package 2 | 3.6.2217.12 | 6/24/2010 |
| BizTalk Server 2006 R2 SP1 Cumulative Update Package 3 | 3.6.2224.12 | 8/30/2010 |
| BizTalk Server 2006 R2 SP1 Cumulative Update Package 4 | 3.6.2237.12 | 3/30/2012 |
BizTalk 2004
| BizTalk Edition | BizTalk Version | Release Date |
| BizTalk Server 2004 | 3.0.4902.0 | 3/2/2004 |
| BizTalk Server 2004 Rollup Package 1 | 3.0.5204.0 | 4/8/2004 |
| BizTalk Server 2004 SP1 | 3.0.6070.0 | 12/16/2004 |
| BizTalk Server 2004 SP2 | 3.0.7405.0 | 1/10/2008 |
Check if a cumulative update is installed via powershell script
With growing number of updates, keeping tack of what cumulative update's (CU) are installed on which developer machine can be painful point .. We can always go the control panel and manually get the list .. but imagine if you have stack of developer machines and you need to do this on every machine ... i know its pain full..
function SearchRegistry([string] $Name) { Write-Host "Checking Registry for $Name" $Results = Get-ChildItem -path HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\ -Recurse -ErrorAction SilentlyContinue | where { $_.Name -match $Name} if($Results.Count -gt 0) { return $true } } #Adapter Pack CU3 Install if(SearchRegistry 'Biztalk Adaptor Pack 2010 CU3*') { write-host 'Software Already Installed Skipping' } else { #install the package } #HIS 2010 CU9 Install if(SearchRegistry 'CU9: Host Integration Server 2010 Hotfix (KB2897923)*') { write-host 'Software Already Installed Skipping' } else { #install the package }
Hope this help... If you have any question please feel to ping me ..
Happy Integrating ..
Happy Integrating ..
Subscribe to:
Comments (Atom)