You receive a "caller must have BTS_ADMIN or DB_OWNER rights" error message when you try to change the Authentication trusted setting for a BizTalk host (836022)
The information in this article applies to:
- Microsoft BizTalk Server 2004 Developer Edition
- Microsoft BizTalk Server 2004 Enterprise Edition
- Microsoft BizTalk Server 2004 Partner Edition
- Microsoft BizTalk Server 2004 Standard Edition
SYMPTOMSWhen you change the Authentication
trusted setting for a Microsoft BizTalk Server host, you receive an error message that is
similar to the following in your BizTalk Server application
log: Event Type: Error Event Source: BizTalk Server
2004 Event Category: BizTalk Server 2004 Event ID: 6912 Date:
1/30/2004 Time: 3:10:11 PM User: N/A Computer:
BIZTALKSERVER Description: The following stored procedure call
failed: " { call [dbo].[bts_AddTrustedUser]( ?, ?, ?)}". SQL Server
returned error string: "Caller must have BTS_ADMIN or DB_OWNER rights to
add user to BTS_TRUSTEDUSER role". For more information, see Help and
Support Center at http://support.microsoft.com. When
this problem occurs, the new Authentication trusted setting for the host does not take effect, although the BizTalk
Server Administrator interface indicates that BizTalk Server has applied the change. The
BizTalk Server Administrator interface does not indicate that an error has
occurred. CAUSEThe bts_AddTrustedUser stored procedure and the bts_RemoveTrustedUser stored procedure in a BizTalk Server MessageBox database verify that the
user account of the user who is making the change is a member of the BTS_ADMIN
role or the db_owner role for the MessageBox database before BizTalk Server permits
the change. However, the BTS_ADMIN role does not exist. Therefore, if the user account of the user who is trying to change
the Authentication trusted setting for the host is not a member of the db_owner role, the user receives the error message that appears in the "Symptoms" section.RESOLUTIONTo
resolve this problem, create a role in your MessageBox databases that is named
BTS_ADMIN, and then add the BTS_ADMIN_USERS role as a member to the new BTS_ADMIN role. By
default, BizTalk Server 2004 installs a single MessageBox database that is named
BizTalkMsgBoxDb. However, you can create additional MessageBox databases to use for load balancing. To run the SQL statements
that create the BTS_ADMIN role and that add the BTS_ADMIN_USERS role as a
member to the new BTS_ADMIN role for a specified MessageBox database, follow these steps:
- Log on to the computer that is running Microsoft SQL Server and that hosts your BizTalk Server MessageBox
databases.
- Start SQL Query Analyzer. To do this, click Start, point to Programs, point to Microsoft
SQL Server, and then click Query Analyzer.
- When you receive a prompt to do so, connect to the instance of SQL Server that
hosts your BizTalk Server MessageBox databases.
- Click the MessageBox database that you want in the list of available databases.
Note By default, the BizTalk Server MessageBox database is named
BizTalkMsgBoxDb. - Paste the following code in the Query window of SQL Query Analyzer.
if not exists (select * from sysusers where name = N'BTS_ADMIN' and issqlrole = 1)
exec sp_addrole 'BTS_ADMIN'
exec sp_addrolemember 'BTS_ADMIN', 'BTS_ADMIN_USERS' - Click Execute Query or press
F5 to run the SQL statements.
- Quit SQL Query Analyzer.
Modification Type: | Major | Last Reviewed: | 9/22/2006 |
---|
Keywords: | kbBTSMessaging kbprb KB836022 kbAudDeveloper |
---|
|