BizTalk 2016 and SQL Server AlwaysOn

Below description is a summary of: High Availability using SQL Server Always On Availability Groups. Traditionally, BizTalk uses SQL Server Failover Clustering and Log Shipping to provide high availability, backup and restore, and disaster recovery for its on-premises databases. In Azure IaaS (Azure virtual machines), previous versions of SQL Server do not support Failover Cluster Instances…

Moving BizTalk and system databases

After installation of BizTalk and SQL Server I found that the SQL Server data files were stored on the installation drive, directory D:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\. The client had explicitly indicated that the data files should be stored on the G drive and the log files on the H drive. I found that I had to…

Using xpath queries in SQL

In the ESB Portal exceptions are stored including the original message that can be resubmitted. The original message is stored in column [MessageData] with data format [varchar](max). To extract data fields from the message using xpath queries in SQL, you first have to add the XML namespaces. You can either use function Xml.Value (to get…

Database shrink

Een goede werking van SQL Server is belangrijk voor een goede werking van BizTalk. Het is belangrijk dat SQL Server voldoende vrije ruimte heeft. Hiervoor kun je periodiek een database shrink uitvoeren. Een database shrink voert een reorganisatie van gegevens op datapage niveau uit. Gegevens zijn daardoor minder gefragmenteerd. Na shrink kunnen datapages vrijgegeven worden. De beschikbare…

Repeatable SQL Deploy Script

Maak per omgeving een command (cmd) file aan. Noem command file Test, Accept resp. Productie. Inhoud van de command file is als volgt: RunDbScripts [Database Server] [Database] Command file RunDbScripts ziet er bijvoorbeeld als volgt uit: @cls @ECHO Param Server: %1 @ECHO Param Database: %2 @rem Added the columns MessageType, BusinessEntityID and BusinessTransactionID sqlcmd -E…

Output SQL queries naar HTML

Onderstaande query toont de output van een aantal queries op de ESBException database in HTML. Dit maakt het makkelijk om snel een opgemaakte standaardrapportage aan te kunnen maken. In combinatie met mailfunctionaliteit kun je rapportage automatisch versturen (niet uitgeprobeerd): EXEC master.dbo.xp_sendmail @recipients=N’danw@Adventure-Works.com’, @query = @body ; GO Voor eenvoudig copiëren worden hieronder de sql statements…

Insert statements genereren

Voor het reproduceren van fouten in de ontwikkelomgeving is het soms handig om de data uit de Productie database te inserten in de Ontwikkel database. In onderstaand voorbeeld wordt per record in de ESBExceptionDB.ContextProperty tabel een insert statement samengesteld, waarbij in de values clause de waarden uit de Productie tabel worden gezet. Voor privacy doeleinden…

SQL query op XML data

In de ESB Portal worden fouten opgeslagen incl. het bericht dat de fout heeft veroorzaakt en voor resubmit kan worden aangeboden. Berichten worden opgeslagen in kolom [MessageData] met als formaat [varchar](max). De eerste stap is dat de namespaces worden opgezocht in het receipt advice schema. Vervolgens kunnen de juiste xpath queries worden opgesteld. Let op…