次の方法で共有


子プライマリ サイトでサーバー グループにサービスを提供すると、クライアントは複数のトピック ID 611 状態メッセージを送信します

この記事は、Configuration Manager の子プライマリ サイトでサーバー グループにサービスを提供しようとしたときに、クライアントが複数の Topic ID 611 状態メッセージを送信する問題を回避するのに役立ちます。

元の製品バージョン: Configuration Manager (Current Branch)、Configuration Manager (Long-Term Servicing Branch)
元の KB 番号: 4018656

現象

Configuration Manager では、リモート管理ポイントを持つ子プライマリ サイトでサーバー グループにサービスを提供しようとしたときにエラーが発生します (クラスターの修正プログラムの適用)。 次のようなエラー メッセージは、MP_ClientID.log ファイルに記録されます。

CMPDBConnection::ExecuteSQL(): ICommandText::Execute() が0x80040E09で失敗しました
MPDB エラー - 拡張情報
MPDB メソッド : ExecuteSP()
MPDB メソッド HRESULT : 0x80040E09
エラーの説明: オブジェクト 'spGetLockState'、データベース '<dbname>'、スキーマ 'dbo' に対する EXECUTE 権限が拒否されました。

さらに、クライアントは複数の Topic ID 611、Type 611 状態メッセージ (.smx ファイル) を送信できます。これにより、状態メッセージ処理のバックログが発生します。

Note

この問題は、Configuration Manager Current Branch バージョン 1606 の Update ロールアップ 1 で解決済みとして一覧表示されました。 しかし、問題は完全には修正されませんでした。

原因

現在の サーバー グループのサービス 機能が有効になっている場合、リモート管理ポイントに必要な実行アクセス許可が spGetLockState ストアド プロシージャに正しく適用されません。

回避策 1

サーバー グループを使用しない場合は機能を無効にします。

回避策 2

次の SQL スクリプトを使用して、 spGetLockState ストアド プロシージャに対する管理ポイントの実行権限を手動で付与します。

IF OBJECT_ID(N'spGetLockState') IS NOT NULL AND dbo.fnIsPrimary() = 1
BEGIN
    GRANT EXECUTE ON [spGetLockState] TO [smsdbrole_MP]
END