1

WMI.NET経由でBiztalkServer2010に接続すると、任意の数のクラスタイプを正常に閲覧できますが、Biztalkクラスはどれも閲覧できません。それらのそれぞれは、次の例外の言い回しをスローします。

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 'NT AUTHORITY\ANONYMOUS LOGON'."

テストコード(セキュリティ情報なし):

ConnectionOptions options;
options = new ConnectionOptions();
options.Username = @"myusername";
options.Password = @"mypassword";
options.Authority = @"ntlmdomain:mydomain";

ManagementScope scope;
scope = new ManagementScope(@"\\BIZSERVERNAME\root\MicrosoftBizTalkServer", options);
scope.Connect();

ObjectQuery query = new ObjectQuery("SELECT * FROM MSBTS_Setting");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope,query);
var i = 0;
foreach (ManagementObject key in searcher.Get())
{
    listBox1.Items.Add(key.ToString());
    i++;
    if (i > 100) break;
}

MSBTS_Settingを任意のBiztalkクラスに変更すると、同じ例外が発生します。それを非biztalkクラスに変更すると、問題なく動作します。例:CIM_Setting。

4

2 に答える 2

2

いわゆる「ダブル ホップ」の問題が発生しています。(これは実際には WMI/BT 固有の問題ではなく、Windows 認証を使用する IIS および Sql Server の一般的な問題でもあります)

「BizTalk-WMI」を使用すると、基本的にこれが発生します (クライアント、BT-Server、および BT-Management-DB が同じドメインにあるが異なるマシンにあると仮定します)。

クライアント資格情報が BT サーバー/WMI プロバイダーに送信されます。次に、BT サーバーはクレデンシャルを Sql サーバーに送信する必要がありますが、これは (デフォルトでは) kerberos によって許可されていません。

次の Technet 記事も参照してください。

基本的に、「BT-WMI」を使用するための 3 つのオプションがあります。

  1. BT ホストで WMI を使用してコードを実行します。これには、SQL サーバーへの単一ホップのみが必要です。または、BT ホストでホストされている Web サービスを介して必要な機能を公開します。
  2. Microsoft.BizTalk.ExplorerOMコンポーネントを使用する
  3. アカウントと BT ホストの両方に対して (Active Directory で) 委任を有効にする: 特定のサービスの委任に対してコンピューターを信頼できるようにする
于 2013-02-20T22:13:30.587 に答える
0

これは、WMI オブジェクトへのアクセスに使用しているアカウントが「SSO 管理者」グループのメンバーではないことが原因であると考えられます。

非常によく似た問題 (BizTalk WMI アクセスの問題) があり、この投稿に出会いました。アカウントを「SSO管理者」グループに追加するとうまくいきました。

于 2013-02-15T14:14:57.520 に答える