Management Reporter 2012 Application Service の構成に失敗する

この記事では、 データベース 'model' エラーで排他的ロックを取得 できなかったため、Management Reporter 2012 Application Service を構成できないという問題の解決策を提供します。

適用対象: Microsoft Management Reporter 2012、Microsoft Dynamics GP
元の KB 番号: 3076964

現象

Management Reporter 2012 のアプリケーションとプロセス サービスを構成しようとすると、アプリケーション サービスに赤い X が表示されます。

これは、Microsoft Management Reporter 2012 の構成コンソールを使用して新しいデータ マート データベースに新しい統合を追加するときにも発生する可能性があります。 データ マート データベースの作成が失敗します。

このような場合は、 C:\ProgramData\Microsoft Dynamics ERP\Management Reporter\Logs\Deployment-Date_Time.log でデプロイ ログを確認します。 ログ ファイルに次のエラー メッセージが表示されます。

.Net SqlClient データ プロバイダー: Msg 1807、レベル 16、状態 3、行 1 データベース 'model' で排他ロックを取得できませんでした。 後で操作を再試行してください。

原因

この問題は、Microsoft SQL Serverでモデル データベースに接続されている場合に発生する可能性があります。 Management Reporter アプリケーションでは、モデル データベースに対する排他ロックを取得できないため、ManagementReporter データベースの作成が失敗します。 これは、新しい ManagementReporterDM データ マート データベースを作成しようとしたときにも発生する可能性があります。

モデル データベースに対してロックを保持する可能性がある他のアプリケーションもあります。

解決方法

管理レポーター データベースを作成しようとしている Microsoft SQL Server Management Studioで次のクエリを使用して、モデル データベースへの接続を持つプロセスの詳細を確認します。

select
'Session ID' = sp.spid
,'Database Name' = db.name
,HostName = sp.hostname
,'Program Name' = sp.program_name
,'Login Name' = sp.loginame
,'Task Manager PID' = sp.hostprocess
,Status = sp.status from sys.sysprocesses sp
join sys.databases db on db.database_id = sp.dbid
where db.name = 'model'

上記のクエリの結果を使用して、次の手順を使用して HostName 列を確認します。

  1. ホスト名の結果でサーバーにサインインし、タスク マネージャーを開きます。
  2. プロセス ビューに PID 列を追加します。
    • サーバー 2012: [名前] 列ヘッダーを右クリックし、[ PID] を選択します。
    • サーバー 2008: [表示] を選択し、[列の選択]、[PID] の順に選択します。

上記のクエリのタスク マネージャー PID の結果をタスク マネージャーの PID と比較して、プロセスに関する追加情報を取得します。

プロセスを実行しているアプリケーションに応じて、関連するサービスを停止するか、モデル データベースのロックを保持しているプログラムを閉じます。

たとえば、ロックを保持しているプロセスが SQL Management Studio に由来している場合は、モデル データベースが選択されているクエリ ウィンドウを閉じます。

ロックを保持するプロセスがアプリケーションから発生している場合は、サーバー上のサービスに移動し、そのアプリケーションのサービスを停止します。