Friday, August 04, 2006

BizTalk 2004 on one Virtual machine

While configuring BizTalk 2004 on one Virtual machine (on windows 2003), and SQL Server is located remotely on another VM, I came across this kind of exception, which doesn’t give you much of information, except that the transaction has already been implicitly or explicitly committed or aborted, search on google doesn’t either give you any information, hence I have listed it over here,

c:\depot4000\jupiter\source\private\mozart\source\setup\btscfg\btswmi.cpp(266): FAILED hr = c0c025b3

[7:30:26 PM Error BtsCfg] Failed to deploy BizTalk system assembly "C:\Program Files\Microsoft BizTalk Server 2004\Microsoft.BizTalk.GlobalPropertySchemas.dll".

Unspecified exception: The transaction has already been implicitly or explicitly committed or aborted.

[7:33:09 PM Info ConfigFramework] Showing MessageBox with text: Failed to deploy BizTalk system assembly "C:\Program Files\Microsoft BizTalk Server 2004\Microsoft.BizTalk.GlobalPropertySchemas.dll".
Unspecified exception: The transaction has already been implicitly or explicitly committed or aborted.

The Solution is to provide the appropriate domain user accounts for BizTalk configuration wizard, the installer should have access to the SQL Server BizTalk databases. Initially I thought it might be some issue with the MSDTC network clients which were already enabled, how ever it is purely based on the domain accounts which were not yet been created on SQL Server and BizTalk machines..

Config error: Failed to deploy Biztalk system assembly... DefaultPipelines.dll
When running the config wizard for BizTalk2004 (on windows 2003) the following error occurred:
Failed to deploy Biztalk system assembly "C:\Program Files\Microsoft BizTalk Server 2004\Microsoft.BizTalk.DefaultPipelines.dll". Unspecified exception: Unable to generate a temporary class (result=1).
error CS2001: Source file 'C:\WINDOWS\TEMP\dbqvusoe.0.cs' could not be found.
error CS2008: No inputs specified.
The solution is to give the 'NETWORK SERVICE' user read and write access to the c:\windows\temp directory.

Monday, May 22, 2006

Microsoft Exam 74-135 Developing E-Business Solutions Using Microsoft BizTalk Server 2004

I finally got a chance to take the certification last friday, and I PASSED, It wasnt easy, needs to have lot of development experience on BizTalk,

It’s been in my mind since last year but due to the hectic schedule couldn’t make it,

FYI: This is now considered as a ‘Microsoft Certified Technology Specialist’ certification, note: this is not mentioned in the list of exams on the MCTS page (
Credential: ‘Microsoft Certified Technology Specialist’
Certification/Version: ‘BizTalk® Server 2004: Custom Applications’
Exam guide:
There is no skill assessment available for BizTalk 2004 certification, but how ever if you are planning to go for the BizTalk 2006 then Microsoft has come up with Skills Assessment for Exam 70–235, you can take the assessment here,
It contains around 30 –questions.

If you want some insight on the 74-135 certification,
Better have some strong development skill set on BizTalk 2004, there might be some lucky ones who might have passed, but in general I feel if you are string in your development skills with BizTalk, then you would sail through easily, else spend time knowing the kind of errors BizTalk applications might throw and start debugging them,

Thursday, March 23, 2006

Secure Shell SSH Enabled FTP Adapter for BizTalk

Secure Shell (SSH) Enabled FTP Adapter for BizTalk

Since there is not enough information available on the sFTP adapters for BizTalk, thought would post this one, This document is more focused on the BizTalk side rather than SSH, however I have provided some basic background information on SSH servers and clients using the RSA key based authentication.

Transfer files to and from Secure Shell (SSH) Enabled servers, need to implement using sFTP protocol,
BizTalk 2004/2006 doesn’t have any built in support for sFTP adapters, they only support traditional FTP adapters, hence we are only left with two options, either we need to develop our own custom adapters for sFTP or purchase it from other clients,
I went ahead using the /n software SFTP Adapter, this lets you add sFTP adapter using the configuration settings, and transfer files remotely using sFTP, also has the feature to implement RSA Key based authentication using public and private keys, which I would be explaining later,
Let me give you some background information for sFTP, where it is used, and how to implement it.
The /n software SFTP Adapter uses the SFTP protocol to transfer files to and from Secure Shell (SSH) Enabled servers. Using the adapter is identical to using the /n software FTPS Adapter, requiring only that you supply a server to connect to, user name, and password. As with the FTPS Adapter, simply bind your port to a BizTalk Orchestration and the SFTP Adapter will take care of the rest.

The SFTP Adapter features:
  1. Send and receive files to/from BizTalk Adapters and any FTP or Secure Shell (SSH) Enabled FTP server
  2. Secure Shell (SSH) data protection
  3. Secure Shell (SSH) - a low-level communications protocol providing security via strong encryption and advanced cryptography.
  4. Secure Shell Public-Key Authentication ( RSA Key )


Get the sFTP adapter, go ahead with the installations, once installation is complete, you have to get the keys and activate it,

Once installation is done we need to register the adapter, which can be done using the BizTalk Administration Console,

sFTP configuration:

Process: RSA key based authentication
A more secure method of authentication is through the use of RSA keys. The basic principle is as follows. Each user generates a 1024bit public/private key pair,
Any host to which the user wants to connect must be aware of his public RSA key, as the server uses it during the authentication process. The user must place his public key living on the originating client machine, into his own authorized_keys file on the server.
When he wants to connect to that server, ssh will first negotiate an encrypted session, then send the server the client's public key. The server checks that the public key is in the user's authorized_keys. If so, the server sends the client a challenge (a random number encrypted with the user's public key). If the client can then send back the random number unencrypted, it has just proven that it has the private key (there is no other way to unencrypt the challenge number), and is therefore authentic.
The user's private key is a very sensitive piece of data - with it, anyone can connect to any host on which the corresponding public key is in the authorized_keys. Therefore, the user's private key is never written to disk unencrypted.
Public key authentication solves this problem. You generate a key pair, consisting of a public key (which everybody is allowed to know) and a private key (which you keep secret and do not give to anybody). The private key is able to generate signatures. A signature created using your private key cannot be forged by anybody who does not have that key; but anybody who has your public key can verify that a particular signature is genuine.
The Authentication layer uses one or more of the following authentication methods to validate the user:
  1. Password Authentication
  2. RSA/DSA Public-Key Authentication
  3. Kerberos Authentication
  4. Host-based Client Authentication
We have focused only on the RSA Public-Key based Authentication in this process,

Summary of the steps;
Key-based authentication in a SSH environment uses public and private keys. The following is a summary of the steps required to generate a key pair for SSH:
  1. An authorized user must generate a public and private key pair.
  2. The user has the option of password protecting the private key (RSA key), which is recommended in almost all environments.
  3. The user's public key needs to be securely uploaded to the SSH server, usually stored in the user's home directory. For example, the user Vamsi would have a public key stored in /home/Vamsi/.ssh/ or Documents and Settings\Vamsi\.ssh of the SSH server.
  4. Authorization, Identification, and authorized_keys files need to be populated.
  5. Public-key authentication needs to be configured on the SSH server, which is enabled by default on many SSH installations.
  1. First, install the SFTP adapter.
  2. Then create the send and/or receive ports as needed based on sFTP configuration.
  3. Once done, assuming that we gotten this far. Let’s say that we have set up a Receive location that will pick up files from some remote SFTP server - so we have to setup a Receive location of transport type /n software SFTP.
  4. From the BizTalk Explorer, edit your receive location. In the Address (URI) configuration property, click on the ellipsis (...). This will bring up properties specific for the adapter. This is will let us configure the actual SFTP transport properties. Included here are properties to specify the sftp server, port, user, etc.
  5. Now, lets say the client has given us an RSA (private) key for authentication to this SFTP server where we will pick up files. This means we want to set the "SSH Auth Mode" property to "Public Key" (as opposed to password authentication). This tells the adapter to authenticate to the server using a username and RSA key (private) rather than a username and password. Specify the username of course in the "SSH User" property. We can leave the "SSH Password" property blank in the case of public key based authentication.
  6. Now that we've told the adapter to use public key auth, we must point it to the private key to use. I have used RSA key, (Note: If we need we can also go with a PFX file, or a PEM file, we can install the key to a machine store and access it from there as well, depending on the client needs).
  7. Anyway lets come back to the way I have implemented, I went with RSA key based authentication, hence I had to provide the SSH Cert Store with location of the rsa key(id_rsa), for the adapter to pick it up,
  8. Once this is done, we need to specify what type of SSHCertStore it is, Typically the public key might be in a PEM file, in which case you'd set the "SSH Cert Store Type" property to "PEMKey".
  9. Finally set the "SSH Cert Subject" to "*", which means the first certificate or key in the store.
  10. That’s it, we should be able to capture the file from the remote location,
SFTP Transport properties:

Here I have provided both types of authentication,
  1. Password based authentication
  2. RSA key based authentication
This is based on the userID and password based authentication:

This is based on the RSA key based authentication:

sFTP Adapter properties(nSoftware):

  1. Remote File: %SourceFileName%
  2. Remote Path: “/usr/Path/”
  3. SSH Accept Server Host Key: ALL
  4. SSH Auth Mode: Public Key
  5. SSH Cert Store: “home\RSAKey\SFTP_DEV\id_rsa”
  6. SSH Cert Store Password: <Empty>
  7. SSH Cert Store Type: PEMKey
  8. SSHCert Subject: "*"
  9. SSHHost: <IPAddress>
  10. SSHPassword: <empty>
  11. SSHPort: 22
  12. SSHUser: <user>
Thats it!!!

Overview of SFTP, FTPS, SCP and FTP

Overview of SFTP, FTPS, SCP and FTP:

I am not going go in detail about sFTP or FTPS here, since my main motive is to integrate sFTP with BizTalk, hence if you need more information need to research by yourself


"sftp is an interactive file transfer program, similar to ftp, which performs all operations over an encrypted ssh transport".

SFTP is part of the OpenSSH standard. Along with SSH you have capabilities to use commands such as SCP, SFTP, etc. So....SFTP is very secure because each packet is encrypted and compressed while sending is taking place. It utilizes public key authentication and compression. The Abbreviation SFTP nowadays invariably means Secure File Transfer Protocol, however there is another protocol with the same abbreviation (Simple File Transfer Protocol). So lets not get confused.

Differences between FTP, SFTP and FTPS:

Why not just use FTP? Why should I use Secure FTP instead of FTP? Why is SFTP better than FTP?


FTP (File Transfer Protocol) does not take any precautions to protect information transmitted during a session. This includes your username, password, and any files transmitted.

SFTP (Secure File Transfer Protocol) is a secure replacement for FTP (File Transfer Protocol) based on the Secure Shell protocol. Unlike FTP, SFTP encrypts both commands and data providing effective protection against common network security risks. SSH Client and Server provide both command-line SFTP tools and a graphical user interface for Windows users. SFTP encrypts the session, preventing the casual detection of your username, password or anything you've transmitted.

The major reason for implementing SFTP versus FTP is security. FTP is not even remotely secure. During an FTP session, your username and password are transmitted in clear text. If someone is eavesdropping, it is not difficult for them to log your FTP username and password.

In FTP all data is passed back and forth between the client and server without the use of encryption. This makes it possible for an eavesdropper to listen in and retrieve your confidential information including login details. With SFTP all the data is encrypted before it is sent across the network.

SFTP is not the same as FTP/S; the latter implements the original FTP protocol through a separately-created secure tunnel.

FTPS is a real ftp that uses TSL/SSL to encrypt the control session and if required the data session. With FTPS the control session is always encrypted, but the data session might not be. Why is this? Because with the control session encrypted the authentication is protected and you always want this (normal ftp uses clear text). If you are NOT pre-encrypting the file, you want the data session encrypted so that the file is encrypted while the data is in flight. However, if you are pre-encrypting the file then you do not need to have the data connection encrypted as you do not need to add the overhead of encrypting the data connection, since the file is already encrypted. Understand that SFTP is SSH file transfer and FTPS is FTP with SSL, FTPS is a file transport layer on top of SSL or TLS. The FTPS adds SSL-enabled FTP send and receive capabilities, uses the FTP protocol to transfer files to and from SSL-enabled FTP servers.

SCP (Secure Copy) is a non-interactive command-line tool for securely transmitting files from a machine to another. It is a secure replacement for RCP and provides a similar command-line syntax. SCP is strongly based on SFTP but is often a more suitable choice when setting up unattended file transfers using scripts.

List of SFTP Servers:
SSH Servers

OpenSSH (

  1. OpenSSH is a free version of the SSH protocol suite. OpenSSH servers and clients are available for both Unix and Windows.
  2. OpenSSH has been ported to Windows with the popular CYGWIN utility. The project was created by Network Simplicity (
SSH2 (
  1. SSH2 is a commercial version of SSH, with required license fees for commercial use (noncommercial use is free). Commercial SSH clients/servers are available for both Windows and Unix systems.
List of SFTP Clients:

There are many client tools, you can use to connect to the SFTP servers, few of them I was interested were Core FTP LE, putty.exe, freeSSHd.exe, FileZilla_Server-0.9.12c.exe, Cygwin, WINSCP,

Your choice of an SSH client is highly dependant on the type of functionality required for SSH. For example, if SSH is being deployed primarily for its file-transfer capabilities, Core FTP/WinSCP and SSH Communications' SSH clients are probably good choices. On the other hand, if SSH is being deployed for remote shell access via an HTTP proxy server, the SecureCRT and PuTTY clients are probably good choices. Lastly, if SSH is being deployed for remote access from undefined and uncontrolled terminal locations, MindTerm is probably a good choice, since it offers SSH access with the need of only a Web browser.

Operating system support
The operating systems the clients can run on.

Protocol support
Information about what internet protocols the clients support. External links lead to information about support in future versions of the clients or extensions that provide such functionality.

Monday, January 09, 2006

My new BizTalk Blog

Friday, January 06, 2006

List of various BAM Questions

I have created the list of problems or questions we might encounter with BAM, some or my own experiences and some I have gathered from different sources and bundled up in one forum, thought would be useful for everyone, any comments are welcome:

Question: 1

BAM InterceptorException


Exception from HRESULT: 0xC0C01B13.

Exception type: COMException

Source: Microsoft.BizTalk.Interop.Agent

Target Site: Microsoft.BizTalk.Agent.Interop.IBTMessage ReadReferencedMessageByID(System.Guid ByRef)

Help Link: Additional error information:


This happens when the Orchestration shapes are missing from the Orchestration View, If you delete some shapes in the new version of an orchestration, and you attempt to apply the same tracking profile, an error will display, and the invalid mappings display with a warning.

You must correctly map business milestones or events and associated actions in order for Tracking Profile Editor (TPE) to work. However, the actual implementation of orchestrations may change over time for technical reasons (for example, to add more error handling). To make the migration of tracking profiles easier in such cases, the TPE supports the reuse of tracking profile with different assemblies.

Note: When you reopen a tracking profile for an assembly that has schema changes, the Tracking Profile Editor will not detect if any data items in the schema were mapped or were removed from the updated schema.

Delete all invalid mappings, and re-do the mapping by dragging items from the orchestration message schemas and actions into the associated folders.

Question: 2

The values of "bam_ActivityName_Active" are not moved to "bam_ ActivityName_Completed"


The values from "bam_ActivityName_Active" are not moved to "bam_activity_Completed" table this happens if the continuationID is not properly linked between the orchestrations,

If you are working on BAM you would be aware with the column names ‘IsComplete’ and ‘IsVisible’, let me explain about them,

If the process is complete, the column name 'IsComplete' will get the value as '1' which means, the active trace is currently marked as complete,

So you might ask, If that is the case, wonder why it is not been moved to the
completed table, If you are using the continuationID's to follow up with several orchestrations.

For any activity record to be moved to *_Completed table, the record must meet the following criteria:

IsVisible must be 1 (True) which really indicates that it has a BeginActivity event persisted

IsCompleted must be 1 (True) which means that the record has an EndActivity event persisted.

There is no related record in Continuation table (which means it is not waiting for any record from continued segment(s) to be reconciled to the root record.

Please check if you are using the continuationID is properly configured.


The Continuation Folder contains data items that indicate a unique instance ID, also called a continuation token. By using the continuation token, developers can link to other activities using the ContinuationID folder. You must name the two folders the same. That is the key to associating the two orchestrations together. The Continuation Folder can contain multiple data items.

Question: 3

ERROR: BAM Deployment failed
, and then BAM Star Schema database has not been configured. Please run the bm.exe setup-database to configure the database.

Using BAM in BizTalk Server 2006 with SQL Server 2005


If you are trying to do Business Activity Monitoring using BizTalk Server 2006 Beta 1, and, SQL Server 2005, you may run into the same issue that I did. You'll probably notice that when you walk through the Configuration Manager, you cannot create the Analysis database if you are using SQL Server 2005. Beta 1 doesn't support Yukon Analysis Services yet.

You may not notice a problem until you try and deploy BAM configurations. When I tried to do so, I got a message saying Deploying View...Error:BAM Deployment failed, then BAMStarSchema database has not been configured, please run bm.exe setup-database to configure the database . Since I'm not able to create the StarSchemaDb via the Configuration Manager (because of the aforementioned Analysis Services issue), how do you get past this? If you look at the XML that you export out of the BAM Excel spreadsheet, you'll notice an element CreateOlapCube which is set to true. This is what caused my failure. So, just flip that to false, and re-run the bm.exe deploy-all command. Now all the needed bits get built and after applying a tracking profile, I can record data and view it in my shiny new BAM portal. So, for now with Beta 1, you won't have the OLAP aggregation features if you're using SQL 2005.


Question: 4

BAM deployment failed.

Failed to deploy BAM Analysis database.

Failed to connect to Olap server. Please make sure the Analysis Server is functional.

Cannot open connection to Analysis server 'VAMSI'.

Cannot connect to the server 'VAMSI'. The server is either not started or too busy.

Services: MSSQLServerOLAPService

Path: C:\Program Files\Microsoft Analysis Services\ Bin\msmdsrv.exe


The following MSSQLServerOLAPService services have to be started else while deploying BAM we would get the following exception.

CreateOlapCube="true" set it to CreateOlapCube="false” in the XML file,

You won't have the OLAP aggregation features, since the OLAP Cube creation was set to false. Or you can use excel and hit the button that you can set to indicate whether the pivot table goes against Real-Time Aggregation or the OLAP cubes. This button is enabled when you select the pivot table.

Question: 5

Cannot open Analysis server ‘VAMSI’, Cannot connect to the server ‘VAMSI’, The server is either not started or too busy


If the following service is stopped, MSSQLServerOLAPService you will get the above exception, kindly start the service.

Question: 6

BAM deployment failed. The same view EnrollProcessView but with different definition has already been deployed.


Always try to undeploy the previous version when the definition of the file has been modified, use ListChanges to capture the history of the deployment

Question: 7

"Mark selected Pivot Table as a real time aggregation" button in the Pivot Toolbar is grayed out.


"Mark selected Pivot Table as a real time aggregation" button in the Pivot Toolbar is required if selected would generate RTA aggressions else would generate the Olap cubes, look at the
CreateOlapCube in the xml generated, and make it fales, and it should work as required.

Question: 8

BAM deployment failed.

Failed to deploy BAM Analysis database.
Failed to connect to Olap server. Please make sure the Analysis Server is functional.

Connection failed: Server name not set.


BAMConfiguration.xml file might have been modified, open the configuration file and check the following database and server names have been set as below, modify and save it,

Once modified, save the above configuration file, and run the bm dbsetup (sets up the star schema and analysis databases), to ensure you have made the change correctly.

Note: The star-schema is dynamically created and used only for creation of OLAP cubes for analysis database setup.

Question: 9

Cannot drag LOOPING orchestration shapes in TPE


Inside an orchestration, if the shapes are looping and we need to capture a data value, if the shapes are looping you cannot capture the KPI’s of the messages inside a looping message flow,

To do this, you create another activity and map all of the new activity milestones and data inside the loop.


Note: You cannot use the Tracking Profile Editor to view the schema associated with a shape that has a message of type System.XML.XMLDocument, since it wasn’t a schema during the debug mode as well.

Question: 10

Cannot drag some defined orchestration shapes in TPE


The Orchestration engine does not allow tracking for some shapes. They are as follows:

  1. Message Assignment
  2. Transform
  3. Group (Task)
  4. Suspend
  5. Catch
  6. Throw
  7. Terminate
  8. Solution

For the Message Assignment and Transform shapes, drop the enclosing Message Construct instead.

For the group(Task) shape, use a nontransactional Scope shape instead.

Regarding the Loop(While) shape, you can track the Loop shape itself, but you cannot track the events inside the shape to the same Activity Definition file.

For the Terminate shape, there is no workaround, because the end event of this shape never happens in a normal scenario.

Important: You cannot track a compensation handler shape, and the shapes within it if they are in a different orchestration. Additionally, custom compensation handlers do not display in TPE, therefore, you cannot track them.


Question: 11

Continuation vs Relationship


Relationship: If an orchestration calls another orchestration multiple times, use relationship… to model the process.

Required: multiple activity ID’s for each process.

Continuation: If there are multiple orchestrations but each orchestration is called only once, then use continuation to model.

Required: Single ActivityID followed with multiple continuationIDs and folders.

Question: 12

How to represent date time data in Bam in local time


If you are using the tracking profile editor to map orchestration shapes/events to BAM activity, the date time value that appears in views and cubes will be in UTC (Coordinated Universal Time) time. With a little tweaking of a stored procedure for each activity, you can display the date time value in your local time.

The stored procedure to modify is: bam__PrimaryImport. Add the following couple of lines in this stored procedure:

DECLARE @TimeDifference int
SELECT @TimeDifference = ROUND(DATEDIFF(mi, GetUTCDate(), GetDate()), -1)

For each variable of datetime type passed into this stored procedure, add the following:

SELECT @yourVariable = DATEADD(mi, @TimeDifference, @yourVariable)

That's it!

by derektan

Question: 13
Server Error in '/BAMQueryWebSvc' Application.

Request format is unrecognized.

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.InvalidOperationException: Request format is unrecognized.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.


If you look in the web.config for the service you will see that the webservice section has some protocols need to be disabbled, comment this section out of the web.config and it sould work fine, essesntially MSSet up these services to be consumed not to be browsed

Question: 14

Microsoft.BizTalk.Bam.QueryWebService.BAMQueryWebServiceException: Invalid activity name


Have to provide both the parameters for activityName and relatedActivity, make sure you provide the correct activity name that can be captured from the Bam_Metadata_Activities.

Then the following webservice would be opened ‘http://localhost/BAMQueryWebSvc/QueryWebService.asmx/GetRelatedInstances’

Note: BAMQueryWebService is not fully supported in BizTalk 2004. Hence the recommended way is to access BAM data by connecting to the SQL server and capture the various views BAM creates, such as "Querying Instance Data".

Expose BAM Web Service

BAM in BizTalk Server 2006 builds on the existing Web Services available in BizTalk Server 2004. The enhanced web services interface now exposes; the query of aggregate and instance data, creation of alerts and retrieval of BAM configurations. This enhanced web services interface means that custom application can be developed, exposing BAM within their user interface.

The BAM web services are grouped into two categories:

1. BamQueryService – The following services provides, consumers the ability to specify the columns and filters for the instance data that should return.

2. BamManagementService – The following service provides, consumers the ability to manage subscriptions and alerts among other management operations

Question: 15

What would be a standard approach programmatically accessing Primary Import Database? Where could we get information about BAM Query Web Service. BAM Query Web Service has no clear usage documentation.


This is available in BTS2006,

For accessing information on PrimaryImport Database, you can use
You can access this at :
Currently, the documentation is still being worked on.

These are the methods, (those prefix with Get for accessing).


Posted by Keith

Question: 16

How to find out the BAM Assembly version?


Open the table bam_Metadata_ConfigVersion, finf the column name as ‘Version’ , you will have something like this, ‘3.0.6070.0’

Open the table ‘bam_Metadata_Transactions’ under the column ‘AssemblyVersion’ you will have something like this, ‘3.0.6070.0’

Question: 17

QueryInterface for interface DTS.CustomTask failed


This error has been fixed in SQL Server 200 Service Pack 2. Make sure you apply the service pack to the SQL Server machine, and any client machines that will be running the .Net code, since DTS is a client side tool.

Question: 18

Exception information: TDDS failed to read from source database.


Database: BizTalkMsgBoxDb.

Specified cast is not valid.


You should stay with SQL Server 2000 for BizTalk 2004, BizTalk 2004 and SQL Server 2005 won't work together. Else need to monitor all the failing queries and fix them one by one, but it will be hard, if not impossible.

Biztalk 2004 w/SP1 will not support Yukon. Our upgrade path for this is:

Biztalk2004 w/SP1 upgrade to Biztalk2006.

Upgrade SQL2000 to Yukon and migrate this is not supported/tested:

Biztalk2004 w/SP1 upgrade SQL 2000 to Yukon and then upgrade to Biztalk2006.

Posted by Keith

Question: 19

Execute batch error. Exception information: TDDS failed to batch execution
of streams. SQLServer: BIZTALKDEV, Database: BizTalkDTADb. Cannot insert
duplicate key row in object 'Hws_Tasks' with unique index 'pk_Hws_Tasks'.

The statement has been terminated..


This warning event can be safely ignored. Retry will be done with a
different key. The event is warning users for something they really
should not worry about.

Note: to be very certain check the ActivityID or continuationID’s ( if at all used ) are appropriate.

Question: 20

I would like to do an install of BAM on a BizTalk 2004 stand-alone
server which is already configured but hasn’t got BAM Analysis database.

Is that possible without affecting the rest of the BTS installation (I
would like to keep the already existing databases created by the
previous config)? I would like to install the Analysis services and then reconfigure
BizTalk to use the BAM with OLAP.


Install the SQL Server 2000 Analysis Services.

Immediately afterwards, install the SP3a (Service Pack 3a) for OLAP (SQLOLAP).

Run the ConfigFramework utility and select the Join option, and just choose the BAM Analysis databases for OLAP cubes creation, Note: The OLAP cubes and the cubing DTS package are all dynamically created by the BAM Manager command line utility bm.exe.

Question: 21

Which aggregation to choose between: real-time aggregation (RTA) and scheduled aggregation. BAM real-time aggregation vs. scheduled aggregation


BAM supports two types of aggregations: real-time aggregation (RTA) and scheduled aggregation.

The biggest difference is the underling storage.

Real-time aggregation (RTA): The storage of RTA is a SQL table and the aggregation is updated and maintained by SQL trigger. The event importing and aggregation update are completed in the same transaction, therefore its data latency is negligible and almost real-time.

The scheduled aggregation: is saved in Olap cubes which need to be processed periodically by the cubing DTS package (btw the Olap cubes and the cubing DTS package are all dynamically created by the BAM Manager command line utility bm.exe).

The biggest advantages of RTA are its zero-latency and low maintenance. Once your new instance data is in the BAM database, the aggregation instantly reflects the new data. And there's no need to run any DTS package, the sql trigger takes care of everything for you automatically. Compared to scheduled aggregation though, RTA doesn't support as many dimensions and measures, and it can only keep relatively short period of data to keep satisfactory query performance. Scheduled aggregation, on the other hand, have little problem handling years of years of enterprise data, and can support much more dimensions and measures. Scheduled aggregation's advantanges don't come without a price -- it needs Analysis Service licence, a star-schema database and scheduling of the cubing DTS. And the new instance data won't make into the cubes until the next cubing DTS run.

After you understand the pros and cons of both aggregations, it's easy to understand their usage scenarios: use RTA for time-critical, small set of Key Performance Indicators (KPI) type of tracking and use scheduled aggregation for historical/trend analysis which normally involves large volume of data and requires complex cubes.

posted by chunyu

Question: 22

Failed to open BAM Excel workbook file BAMapiSample.xls. or "fnGetString" or "Unable to get resource string" popup error dialogs or "Old Format or Invalid Type Library"


Regional settings should be set to english and it works.

To work around this problem, you can either install the Office Multilingual User Interface (MUI) pack which can be found on or change your locale to US-EN just for the duration of the deployment.

Question: 23

Failed to instantiate DSO Object. Please make sure DSO is installed and functional.


Analysis Services were not found, and the process is looking for these services, not been found hence the error, kindly install the Analysis services, the error would vanish or as Mike suggested you can just modify the BAM Excel Spreadsheet Mark by selecting pivot table as Real Time Aggregation for more info refer this site: Mike Holdorf's Blog

Question: 24

After mapping the TPE when we try to run the process we might receive the following error, ‘Stored Procedure Does Not Exist’


When you create your BAM Activities, do not use spaces in the Activity names!


Avoid using any spaces in BAM activities, since objects with no spaces would be created in the table, and the required stored procedures which is created would still try to refer to the object with space not finding will throw an exception.

for more info refer the following site

Question: 25

Error in Deploying BAM Workbook after Upgrading to SQL Server 2005

If you run into the following error message when deploying a BAM workbook with BM.exe, please read on...

SqlServerError: Source: .Net SqlClient Data Provider
Message: There is already an object named 'NS119569338444506776308359935743536951EventBatchDetails' in the database.
Procedure: NS11956933844450639793552038743536951EventBatchDetails
There is already an object named 'NS11956933844450677630038743536951EventBatchDetails' in the database.


Suppose you have a bam workbook named abc.xls (or abc.xml exported from BAM Excel add-in). You deploy this workbook with SQL Server 2000, and later you decide to remove it. Due to a SQL Server 2000 bug, some stored procedures for the NS service will not be removed from the database. After upgrading to SQL Server 2005, these stored procedures are still there.

Now, you decide to deploy abc.xls / abc.xml again to SQL Server 2005, and that's when you will probably see the above error messages. The walkaround is:

1. Open abc.xml
2. Locate the A
3. Manually change the ID to some thing else, such as ID512CA71854F642EFAF673C819F969D2B
4. Save and deploy abc.xml

posted on Wednesday, December 07, 2005 3:19 PM by xinxin

Question: 26

Error Message or BAM Cube Update DTS Package Fails

You may encounter the error "Unable to connect to registry on the server (machineName), or you are not a member of the OLAP Administrators group on this server" or the BAM cube DTS fails when you run the BAM cube update DTS Package.


There are certain permissions required to connect to an OLAP server through the OLAP Manager or through DSO script,

Step1: Make sure you have SQL2000 SP4 installed on your Analysis Server.

To resolve this problem, see "Knowledge Base Article 838166: You must install the SQL Server 2000 update that KB article 831950 describes to run BizTalk Server 2004" available at (


Need to have the admin privileges to deploy OLAP cubes to your Analysis Server. Check out this KB article to make sure you have all the necessary permissions.

Happy hunting - Vamsi

Thursday, December 22, 2005

SharePoint Services Errors for BizTalk

Error 1:

While configuring the databases used by Windows SharePoint Services
, might receive the following error,
Line 1: Incorrect syntax near 'COLLATE'. (Error code: 170).

Solution: Provide the SQL Server Access rights to the BTSService, to do this go to security, logins and add the BTSService (User) which is member of administrator, and add to the all the server roles.

Error 2:

templatepick.aspx - page not found

When you create a new top level site under a parent site in sharepoint, it brings up the page saying it has been created successfully, when we click on the sites URL to specifiy the template it should display the default template selection wizard, but instead we might receive a page not found error.

Solution: If you want to delete the following sub site under sites, click on Documents and Lists, under Sites, delete the above site and recreate it, still problem occurs delete the root sites and recreate.

Error 3:

The "WSSLib" adapter is suspending an outbound message going to destination URL:"http://localhost/sites/SomeException/Exceptions". Details:"The request failed with HTTP status 404: Not Found.".

Solution: This means that you haven’t put the WSSWebServices.dll in to the C:\Program Files\Common Files\Microsoft Shared\web server extensions\60\ISAPI\BIN folder and WSSDocLibService.asmx in to the C:\Program Files\Common Files\Microsoft Shared\web server extensions\60\ISAPI folder, hence it was not able to find these files, so the following exception occurred.

Note: Kindly check your internal path using the IIS manager,WebSites/_vti_bin, right click and view the properties, capture the local path located under virtual directory tab you should be able to find the folder path location.

Error 4:

When ever we click on Upgrade a server or virtual server’ in SharePoint site, we might get the annoying help file,

"To upgrade your server to Microsoft Windows SharePoint Services, run Setupsts.exe. Running Setupsts.exe upgrades your server and the default virtual server. If you have additional virtual servers to upgrade, you can upgrade each virtual server individually by using the upgrade operation with the Stsadm.exe command-line tool."

Solution: Prohibit the FrontPage from the IIS and remove it from add/remove program, then reset the IIS.
Try to open the site again and this time, You should see the following response, Virtual Server Successfully Extended, This would allow us to browse to the next level in the sites,
You can open the home page for your new Web site in your browser by using a link on the confirmation page. You can continue to extend other virtual servers or configure Self-Service Site Creation so users can create their own sites.

Error 5:

“1057 while trying to query service SPTimer."


Make sure you enter the user name as "domain\user name" or "machine name\user name;" otherwise, you get the following error: "System Error 1057 while trying to query service SPTimer,

Installing SharePoint:

To Install Install Windows SharePoint Services without installing MSDE,
basically need to do the following,
C:\Program Files\STS2Setup_1033>setupsts.exe remotesql=yes

for more info, Kindly go to the following sites

Saturday, April 02, 2005

Great Biztalk Blogs for starters

My First Post

Hi All,

This is my First Blog......

Will start posting soon on Biztalk!