This section contains frequently asked questions related to installation, configuring and upgrading BizTalk360. The section consists of the following parts:
- Database oriented questions
- Internet Information Server oriented questions
- Issues during upgrading
Database oriented questions
Cannot See Certain Tables In Biztalkmgmtdb Database
In order to function properly, BizTalk360 requires read access to certain tables in BizTalkMgmtDb (BizTalk Management Database). The required permissions can be viewed in the download page http://www.biztalk360.com/free-trial. Recently one of the customer raised a support call saying, he cannot see some of the tables (dbo.adm_OtherDatabases, dbo.adm_Server2HostMapping, dbo.adm_ServiceClass, and dbo.BizTalkDbVersion) listed on our download page using SQL Management Studio, and BizTalk360 is complaining about the non-existent tables in BizTalkMgmtDb.
The reason you cannot see certain table using SQL Management Studio is because the user may not have appropriate rights. If you take a look at the below picture, you can notice the user access on the LHS is part of the standard "BizTalk Server Operators" group and the user access on the RHS is part of the standard "BizTalk Server Administrators" group. If you notice closely, you can see there are certain table missing on LHS (dbo.adm_ServiceClass).
Error Type: Error -2147217900: failed to execute SQL string, error detail: Must declare the scalar variable @timestamp
During installation, you may encounter the exception
Error -2147217900: failed to execute SQL string, error detail: Must declare the scalar variable "@timestamp
The main reason for this error is due to SQL server collation settings. We do not support case sensitive collation (this is the case for Microsoft BizTalk Server as well)http://technet.microsoft.com/en-us/library/dd879264(v=bts.10).aspx.aspx)
So, you should ask your DBA to change the SQL server collation to one of the supported ones. The one in bold is what normally people will have
The exact list of supported collations is:
What Are The Features That Increase The Size Of Database
There may be occasions when you face performance issues while trying to call the stored procedure(s) that result in a timeout error. The reason for this timeout error is due to the size of the BizTalk360 database. Generally, the BizTalk360 database does not contain any environment related data, but mainly has the information about the BizTalk360 configuration settings, monitoring details for dashboard, log data, and few additional information like alert history, environment settings, and so on.
The BizTalk360 database grows at an average rate of approximately 200 MB/day. The features that increase the size of the BizTalk360 database are :
- Advanced Event Viewer
- Monitoring collection
- Analytics collection
- Throttling Analyser
To prevent the database growth, you need to set the minimum number of days to purge the data under "Purge policy settings" for these features. It is recommended to keep low purging days for advanced event viewer (about 5 days), while throttling is restricted to 7 days
Error Type: Cannot open database requested by the login. The login failed. Login failed for user
Cannot open database requested by the login. The login failed. Login failed for user
You can check few things, if this error happens
- Check the connection strings in web.config file and make sure it's pointing to correct database
- If integrated SQL security is used, make sure the service account under which BizTalk360 IIS application pool is running has dbowner permission on the BizTalk360 database
- If SQL authentication is used in the connection string, make sure that account has dbowner rights on the BizTalk360 database
Work around solution
We have seen one instance where Windows Authentication was used and even after providing all the required permission (sysadmin) level, the error message persisted. We resolved the problem by creating a brand new windows account, added the account to all NT groups required by BizTalk360, assigned BizTalk360 IIS application pool to the newly created user, added the SQL Login for that user, with user mapping point to BizTalk360 database.
We also noticed a situation where the original user was deleted and then recreated again. Since the SID of both the accounts will be different, SQL server will throw security exception. You can verify this by opening SQL Management studio using that particular user account, and try to access the database. SQL server will throw an exception "The database is not accessible (ObjectExplorer)". You can fix this by assigning ownership of the database to the user again.
Manage SQL Log-File Size
If your SQL transaction log-file is taking lots of space, follow the steps as shown below to bring down the size of the log file.
Check For Disk Usage
The first step is to carry out a check to find out how much of disk space is being used by the transaction log file.
- In the SQL Server Management Studio, right click on the BizTalk360 database name and select Reports > Standard Reports > Disk Usage
- Verify the transaction log space usage. If you find a huge percentage of unused space, you need to shrink the size of the transaction log file to release unallocated space. Refer Section 2 for the process of shrinking the transaction log file size.
Shrink The Transaction Log File Size
To reduce the size of the transaction log file size, follow the steps as shown below:
- In the SQL Server Management Studio, right click on the BizTalk360 database name and select Tasks > Shrink > Files
- Select the file type and file name
- Select the Release unused space radio button. Selecting this option causes any unused space in the file to be released to the operating system and shrinks the file to the last allocated extent. This reduces the file size without moving any data.
- Click OK
You can also create a SQL script for shrinking the transaction log file and execute the script.
Even after performing the above steps, if you are not able to truncate the size of the log , it means the transaction log grows to be inordinately large on a database that's in FULL or BULK_LOGGED recovery mode. This happens after a database backup has been taken, which switches the log into a mode where it won't truncate. In these circumstances, if you do not take a transaction log backup, the log file size will continue to grow. Issue the following commands in the SQL Server Management Studio and then try to shrink the log file size:
SELECT log_reuse_wait_desc FROM sys.databases WHERE NAME = 'BizTalk360';
If the above query returns the result as LOG_BACKUP, issue the following command:
BACKUP LOG BizTalk360 WITH NO_LOG;
Then once again issue the command:
SELECT log_reuse_wait_desc FROM sys.databases WHERE NAME = 'BizTalk360';
From SQL server 2008, the below command has been Discontinued. The transaction log is automatically truncated when the database is using the SIMPLE recovery model. If you must remove the log backup chain from a database, switch to the simple recovery model.
Please find the steps to clean the database in Availability group:
- Remove the database from the Availability group as it requires "full recovery" model
- When the database is disconnected from Availability Group, change the recovery model to SIMPLE
- Then, run the cleaning job to shrink and clear the database
- Next, delete the database that was disconnected on the 2nd server
- Take a full backup of the cleaned DB and change back to FULL recovery again
- Next, add the database to the Availability group so it gets synced again
Internet Information Server oriented questions
BizTalk360 Prompts For Login Credentials When I Click Settings
There may be times when you notice BizTalk360 requesting for login credentials as shown below. This error is mainly because "Anonymous Authentication" is set to Enabled under IIS settings. Follow the steps as shown below to rectify this problem.
Open IIS Manager
Navigate to "Authentication" setting
Toggle the status of "Anonymous Authentication" to Disabled
Refresh the BizTalk360 Settings page
Error Type: This collection already contains an address with scheme http. There can be at most one address per scheme in this collection
One of our customer recently reported this error after installation of BizTalk360
Server Error in '/BizTalk360' Application.
This collection already contains an address with scheme http. There can be at most one address per scheme in this collection. If your service is being hosted in IIS you can fix the problem by setting 'system.serviceModel/serviceHostingEnvironment/multipleSiteBindingsEnabled' to true or specifying 'system.serviceModel/serviceHostingEnvironment/baseAddressPrefixFilters'.
Parameter name: item
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.ArgumentException: This collection already contains an address with scheme http. There can be at most one address per scheme in this collection. If your service is being hosted in IIS you can fix the problem by setting 'system.serviceModel/serviceHostingEnvironment/multipleSiteBindingsEnabled' to true or specifying 'system.serviceModel/serviceHostingEnvironment/baseAddressPrefixFilters'. Parameter name: item
The main reason for this exception is due to multiple bindings enabled for the the IIS website under which BizTalk360 is installed. You can check this easily by seeing the right hand side pane as shown below
There are couple of ways we can sort this issue
If ASP.NET 4.0 is installed on the server, you can change the BizTalk360 IIS Application pool to use ASP.NET 4.0 as shown in the below picture
And you can add the following line to the web.config file
If in case you don't have ASP.NET 4.0 running in the server, then your second option is to create a dedicated website for BizTalk360 with a custom port number (ex: 90) and install BizTalk360 in the dedicated website instead of the default website.
You must create the website manually before starting the BizTalk360 installer. The installer will display the options in the drop down box to choose the website.
How To Troubleshoot Process Monitoring
There may be times when the process monitoring is not working as expected and you'll receive error messages saying for example
Expected to process 1 instances of 'RL_Order_Processing'every hour, but actual instances processed : 0 at Mon:14
You may have processed lot of transactions during that time, and the above email notification may look like a false alert. Let's take a look at some basic behind the scene concepts and how to troubleshoot this scenario.
BizTalk360 process monitoring basically relies on the BizTalk server tracking data to calculate the transaction volume. As a design principle we do not want customers to deploy any custom stuff (like pipeline component, pipelines, BAM artifacts) etc and wanted to take advantage of power of BizTalk server. The same principle is applied for our Graphical Message Flow as well.
So, in order for the process monitoring to work correctly the tracking setting in the environment must be working correctly. You can easily check whether the events are captured correctly by executing the following query in the BizTalk Admin Console (with your required settings).
If the result of the above query returns no results then you have some tracking configuration problem. Here are the checks you can perform.
- Make sure Global Tracking is enabled in the environment. You can do this by checking at the BizTalk Group Settings as shown below.
- Make sure Event tracking is enabled at the pipelines utilized by the corresponding receive and send port. For example if you are using PassThru pipeline, you can check the following check boxes are enabled.
- Make sure at least one tracking host instance is running. From the below picture we can see BizTalkServerApplication is the tracking host, we need to make sure at least one host instance is running for this host.
Not Receiving Alert Emails From BizTalk360
If you are not receiving notification emails from BizTalk360, make sure the configurations are set as mentioned in the support article. In spite of making the necessary configurations, if you encounter an error message as shown below, follow the steps to rectify the issue:
Fatal exception in CreateMailActivity.
System.UnauthorizedAccessException: Access to the path 'C:\Program Files (x86)\Kovai Ltd\BizTalk360\Service\OutboundEmails\Pickup\xyz.eml' is denied.
- Make sure the service account has the required Administrator privileges. Even after granting the administrative access if you are unable to receive the emails from BizTalk360, it is a problem of unmatched files vs. DB records that is causing the problem due to the permission issue.
- Stop the service; delete all the existing files under the "pickup" folder in C:\Program Files (x86)\Kovai Ltd\BizTalk360\Service\OutboundEmails\Pickup
- Execute the following command in the BizTalk360 database to clear all the unsent messages:
- DELETE FROM dbo.b360_alert_History_Email WHERE IsTransmitted is NULL or IsTransmitted = 'false'
- Restart the BizTalk360 monitoring service
Configure The Active Directory Server With LDAP Over SSL
If you are using LDAP authentication over SSL, you need to make the following changes in the BizTalk360 database to allow BizTalk360 to use SSL for LDAP authentication.
- In the BizTalk360 database, check the dbo.b360_admin_GlobalProperties table for a row with value "AD_PATH" under the "SettingKey" Column
- If the row exists, delete the row
- Add the following row to the table
- Make sure you change the server name and DC as per your environment
- INSERT INTO dbo.b360_admin_GlobalProperties (SettingKey,SettingValue)VALUES ('AD_PATH','server01:636/OU=users,DC=kovai,DC=com'
Once you have made these changes, BizTalk360 should be able to use SSL for LDAP authentication.
Details We Need To Efficiently Diagnose Your Problems
From time to time we receive support emails from customers and trial users when something is not working in BizTalk360 as expected. There may be various reasons for it, examples:
- Could be simply lack of documentation or understanding of the functionality
- Configuration issues like IIS settings, ASP.NET setting, WCF settings, DB version issues etc
- Could be a bug in the product
Typically what we have seen is we receive a support email, and we follow up requesting set of data from the user or redirect them to our troubleshooting section for known issues/configurations. We actively update our troubleshooting section whenever we see new scenarios, as we know that will come back to us somewhere in the future. So your first point of contact for any troubleshooting issues will be in this documentation.
If you can't find the solution to the problem, then you can simply email us at firstname.lastname@example.org with the basic information and following details:
Browser console/network screen shot
Whenever there is a UI related issue, example the loading screen is spinning forever or blank screen or some error pop dialogue (Bad Request, 500 internal error etc). The best place to look for is open your browser developer tools (F12 or via the menu), navigate to the "Console" tab and refresh the screen. Typically you'll see some RED messages when there is an error.
The other place you can look at is the "Network" tab in the browser developer tools, since BizTalk360 makes lot of back end REST calls, if any of the calls fail, it will effect the UI. You can see whether all the calls are running successfully with 200 OK status or if there are any errors.
If the error message do not make much sense to you, please take a screen shot and email it to our support email address.
SVC Log Files
We use Windows Communication Foundation (WCF) for our back end API's and we log all the calls using WCF tracing/logging mechanism. Any server side issues will be logged in those files and it will help us to diagnose the problem faster. You can locate 1 or 2 files under the folder
Monitoring Service Log Files
If you experience any problems with BizTalk360 monitoring service example: Message Box Viewer not working, Not receive email alerts, data purging not working etc, then the best place to look at is the log files found under the folder
Error Type: Could not load type 'System.Runtime.Diagnostics.ITraceSourceString'...
If you face an error message as shown below,
Could not load type 'System.Runtime.Diagnostics.ITraceSourceStringProvider' from assembly 'System.ServiceModel.Internals, Version=188.8.131.52, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
You need to install the patch (Microsoft .NET Framework 4.5.2) as mentioned in the following support article: https://www.microsoft.com/en-us/download/details.aspx?id=42642.The reason for the error is mainly because .NET is not installed in the machine.
Error Type: The specified directory service attribute or value does not exist
When you are trying to create a new User Access Policy via the setting link you may encounter the error message "The specified directory service attribute or value does not exist"
This happens because if there is no container specified, the principal context class will create a System.DirectoryServices.DirectoryEntry object by binding to built in CN=Users container to start searching for users. If the user performing the search does not have permission to read the attributes of default users contain, the search operation will fail, thus causing “The specified directory service attribute or value does not exist”, exception.
Make sure the IIS application pool identity is not running under a local account and you are trying to configure a domain user. If IIS application pool is running under a domain account, make sure the account have read access on the "User" container.
For majority of the cases you will be fine with the default settings, unless the domain administrator has changed the default container (CN=Users) where the user objects are stored. In such cases, it's necessary to specify your user container store, so that BizTalk360 understand where to look for.
In order to resolve this issue, you simply add a new setting with key="AD_PATH" and value="
INSERT INTO dbo.b360_admin_GlobalProperties (SettingKey,SettingValue)VALUES ('AD_PATH','OU=Users,dc=kovai,dc=com')
Prompting To Reboot While Upgrading BizTalk360
This happens because of locked resources while upgrading. We recommend to stop all BizTalk360 runtime resources before upgrade so no reboot is requested. To stop BizTalk360 runtime resources do the following:
- Stop BizTalk360 monitoring service
- Stop the application pool called BizTalk360 in IIS
If it still prompts for a reboot, it could be because of a pending reboot because of some other software upgrade/install.
Recommended Hotfixes For BizTalk360
The "Win32_Service" WMI class leaks memory in Windows Server 2008 R2 and in Windows 7
The network path was not found. errorCode: Ox2003
If you see the below Error for the host instance in throttling analyser
errorText: Unable to collect performance data for Category:biztalk:Message Agent, Counter:Message publishing throttling state,Host Instance:BVCoreProcessingHost,Server:Server01. Error:The network path was not found. errorCode: OX2003
category: BizTalk:Message Agent
counter: Message publishing throttling state
timestamp: 02-21-2015 17:17:42.500
Follow the steps as shown below to ensure the network connectivity to that counter is available.
- Login to the server installed with BizTalk360 and its monitor service, using credentials used for BizTalk360 Monitor Service
- Run PerfMon
- Select counters from computer where BizTalk Server is installed and for which the Throttling data is to be collected
- Make sure if you are able to read data for below counters under group BizTalk:Message Agent and the instances
- a. Counter:Message publishing throttling state - For Publish Throttling
- b. Counter:Message delivery throttling state - For Delivery Throttling
- If these checks are positive, you will be able to view the data for these counters. Restart the BizTalk360 monitoring service to start collecting the throttling data.