BizTalk 2013 Configuration Error - Invalid Column name id
Hi all,
I just have faced an interesting error while configuring new BizTalk 2013 on test environment. Actually it is not a complicated environment, it has BizTalk 2013 Enterprise edition on Windows 2012 Server and Sql Server 2012 on same machine.
While it is configuring feature the Group I got below error.
SQL script file: "C:\Program Files (x86)\Microsoft BizTalk Server 2013\Schema\BTS_Administration_Logic.sql"
SQL command batch: "CREATE PROCEDURE [dbo].[adm_Adapter_Delete]
@Name nvarchar(256)
AS
set nocount ...";
2013-08-28 11:51:55:0496 [WARN] AdminLib GetBTSMessage: hrErr=c0c02524; Msg=Failed to create Management database "BizTalkMgmtDb" on server "MSK1-SQL-P0CT".
Statement(s) could not be prepared.
Invalid column name 'id'.
SQL script file: "C:\Program Files (x86)\Microsoft BizTalk Server 2013\Schema\BTS_Administration_Logic.sql"
SQL command batch: "CREATE PROCEDURE [dbo].[adm_Adapter_Delete]
@Name nvarchar(256)
AS
set nocount ...";
First I thought that its related to security problem but after that I realized that its different problem. BizTalk Server runs several sql files to configure stable platform and establish an integration framework in backprocess.
You can check those files in the folder C:\Program Files (x86)\Microsoft BizTalk Server 20XX\Schema.
When observing the problem I realized that the root of the problem is related to [dbo].[adm_Adapter_Delete] Stored procedure in the file BTS_Administration_Logic.sql
This procedure uses a query part as "select sh.id from adm_sendhandler sh where sh.AdapterId = @AdapterId" on line 4316. But if we check the table adm_sendhandler we will see that column name is "Id", not "id".
I mean problem is that Sql Server (Colletion Turkish_CI_AS) doesnt interpret them as equal. In addition other procedures including BizTalk 2010 procedures don't use the query as adm_sendhandler.id so we don't face this error in another step.
Finally I had to change the query to solve the problem. We should change the query sh.id-to sh.Id in BTS_Administration_Logic.sql on line 4316. It worked for me I hope it works for you too.