BTS2004: Stopping and Starting remote BizTalk servers via WMI

BTS2004: Stopping and Starting remote BizTalk servers via WMI

Post by TGluY29sbi » Thu, 02 Dec 2004 15:25:02


Hi,

I am trying to stop and start a remote BizTalk server via WMI using the
following code:
Query = "SELECT * FROM MSBTS_HostInstance"
Set HostInstSet =
GetObject("Winmgmts:\\RemoteServerName\root\MicrosoftBizTalkServer").ExecQuery(Query)

When I replace RemoteServerName with LocalServerName the code returns the
host instance, however when called with RemoteServerName I get the following
error:
---
BizTalk Server cannot access SQL server. This could be due to one of the
following reasons:
1. Access permissions have been denied to the current user. Either log on
as a user that has been granted permissions to SQL and try again, or grant
the current user permission to access SQL Server.
2. The SQL Server does not exist or an invalid database name has been
specified. Check the name entered for the SQL Server and database to make
sure they are correct as provided during SQL Server installation.
3. The SQL Server exists, but is not currently running. Use the Windows
Service Control Manager or SQL Enterprise Manager to start SQL Server, and
try again.
4. A SQL database file with the same name as the specified database already
exists in the Microsoft SQL Server data folder.

Internal error from OLEDB provider: "Login failed for user '(null)'. Reason:
Not associated with a trusted SQL Server connection."
---
The user that is calling the vbs is in the BizTalk Administrators Group, and
the BizTalk Administrators Group has permissions to the BizTalk databases.

The SQL Server that BizTalk uses is not on the RemoteServerName but another
server.

Any ideas?

Regards,

Lincoln
 
 
 

BTS2004: Stopping and Starting remote BizTalk servers via WMI

Post by Anthony » Thu, 02 Dec 2004 19:39:23

Lincoln,

As shown in the error message, there are several things that could be wrong.
Let's start by checking the following:
1. Just to be sure we take this out of the way, are you pointing to the
right server
2. Is your SQL server set to use Windows and SQL authentication or Windows
authentication only.

I've always resolved these error messages by setting my SQL server to the
correct authentication mode.

regards,

Anthony O.

"Lincoln Broomhall" < XXXX@XXXXX.COM > wrote in

GetObject("Winmgmts:\\RemoteServerName\root\MicrosoftBizTalkServer").ExecQue
ry(Query)
following
already
Reason:
and
another

 
 
 

BTS2004: Stopping and Starting remote BizTalk servers via WMI

Post by TGluY29sbi » Fri, 03 Dec 2004 07:23:04

i Anthony,

I am pointing to the BizTalk Server and not the SQL Server (the SQL Server
doesnt have the BizTalk WMI namespaces). The SQL Server is set-up as
mixed-mode authentication.

I did some further testing with WBEMTEST.EXE:

On my local Biztalk Server (DEVBIZTALK), I open WBEMTEST.EXE, connected to
root\MicrosoftBizTalkServer, ran the query:
SELECT * FROM MSBTS_HostInstance WHERE HostType =1
and I get the HostInstance.

Still on my local server I connect to the remote biztalk server (MELBIZTALK)
via WBEMTEST.EXE with \\melbiztalk\root\MicrosoftBizTalkServer, ran the same
query and I get the SQL error we are looking into.

To rule out SQL permissions, I then Remote Desktoped into MELBIZTALK, logged
in as the same user I was using on DEVBIZTALK, ran WBEMTEST.EXE, connected to
root\MicrosoftBizTalkServer, ran the query and it returned the HostInstance.

So it appears to be a remote WMI restriction for BizTalk... I can obtain
other WMI information remotely (ie Amount of memory the server has:
Win32_LogicalMemoryConfiguration)

Any help appreciated.

Regards,

Lincoln

"Anthony O" wrote:

 
 
 

BTS2004: Stopping and Starting remote BizTalk servers via WMI

Post by vladimi » Thu, 09 Dec 2004 04:33:48

his is by design.
You should always specify name of the local server when using WMI. It will
return all the host instances, including host instances on remote server.
You can call start/stop method on them.

The reason it works this way is that operating on host instances requires
acess to the management database and if you do it from the remote box you
hit an issue with the second network hop where credentials of the
interactive user are not forwarded (this is usually turned off in the
domain).

--------------------
WMI
< XXXX@XXXXX.COM >
< XXXX@XXXXX.COM >
Server
to
(MELBIZTALK)
same
logged
connected to
HostInstance.
wrong.
Windows
the
in
the
GetObject("Winmgmts:\\RemoteServerName\root\MicrosoftBizTalkServer").ExecQue
the
the
log on
grant
make
Windows
Server, and
Group,
databases.

 
 
 

BTS2004: Stopping and Starting remote BizTalk servers via WMI

Post by TGluY29sbi » Thu, 09 Dec 2004 09:29:04

i Vladimir,

When I use the localhost, it only returns the localhost instances - not any
other BizTalk instances on other servers.

The BizTalk servers are not part of a farm, which is probably why I do not
get the result you have described.

There are also a number of issues with remotely managing BizTalk servers
from Visual Studio - ie You cannot enlist orchestrations on remote servers
unless you have the orchestration (and dependencies) in the local GAC - and
you cannot cycle the biztalk host which is a direct result of this
restriction on the WMI interface you have mentioned is by design.

Regards,

Lincoln

"Vladimir Pogrebinsky" wrote:

 
 
 

BTS2004: Stopping and Starting remote BizTalk servers via WMI

Post by vladimi » Sat, 08 Jan 2005 12:29:57

Both issues (enlisting without assemblies and administering remote boxes
which are not part of the local group) are known concerns and they are
being addressed in the next release. Stay tuned.

This posting is provided "AS IS" with no warranties, and confers no rights.

EBusiness Server Team
--------------------
WMI
< XXXX@XXXXX.COM >
< XXXX@XXXXX.COM >
< XXXX@XXXXX.COM >
< XXXX@XXXXX.COM >
cpmsftngxa10.phx.gbl!TK2MSFTFEED01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGXA0
3.phx.gbl
any
not
servers
and
will
server.
requires
you
via
via WMI
connected
the
obtain
be
to the
to
wrote
using
GetObject("Winmgmts:\\RemoteServerName\root\MicrosoftBizTalkServer").ExecQue
returns
one of
Either
or
been
database to
database
'(null)'.
but