メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

Microsoft は、Microsoft SQL Server 2008 R2 の修正プログラムを1つのダウンロード可能なファイルとして配布します。 修正プログラムは累積的であるため、新しいリリースごとに、以前の SQL Server 2008 R2 fix release に含まれていたすべての修正プログラムとセキュリティの修正プログラムが含まれています。

現象

次のような状況で問題が発生します。

  • Microsoft SQL Server 2008 R2 で、ドメインベースの属性を持つマスターデータサービス (MDS) モデルとエンティティがある。 ドメインベースの属性は、同じ属性を自己参照するように設計されています。たとえば、 Managername 属性を持つ従業員エンティティがあるとします。 Managername属性は、同じ従業員エンティティ自体を参照します。注:  管理職も従業員の一種です。

  • 属性で定義された派生階層によって、ドメインベースの属性に対して再帰的な親/子関係が表示されます。

  • MDS ステージングテーブルへの1つ以上の循環参照を含むデータ値を読み込みます。 この動作によって循環参照が発生し、属性内の最初のノードが円の一部ではありません。たとえば、次のデータパターンは循環参照を示しています。 ただし、Member1 メンバーの値は円の一部ではありません。

    Member1 > > > >----------------------------------------------------------

    insert into mdm.tblStgMemberAttribute(ModelName, EntityName, MemberType_ID, MemberCode, AttributeName, AttributeValue, Status_ID)Values ('EntityTest', 'ModelTest', 1, 'Member3', 'Manager', 'Member2', 0),('EntityTest', 'ModelTest', 1, 'Member2', 'Manager', 'Member3', 0),('EntityTest', 'ModelTest', 1, 'Member3', 'Manager', 'Member2', 0),('EntityTest', 'ModelTest', 1, 'Member2', 'Manager', 'Member1', 0)('EntityTest', 'ModelTest', 1, 'Member1', 'Manager', 'NULL', 0)
  • MDS ステージングプロセスを使用して、エンティティにデータ値を読み込むには、次のいずれかの方法を使用します。

    • Exec [mdm] を実行します。 [udpStagingSweep]手順に従って、ステージされたデータの処理に必要なパラメーターを使用します。

    • [ 統合管理 ] をクリックして、MDS web サイトのホームページにアクセスします。 [ インポートのエクスポート ] ページの [ 一括ステージングレコード ] セクションヘッダーで、 歯車アイコン をクリックして、特定のモデルとバージョンのレコードを処理します。

このシナリオでは、ステージングプロセス中のバックグラウンドプロセスで、バックグラウンドプロセスで [mdm] が内部的に呼び出されると、無限ループが発生する可能性があり ます。 [udpMemberRecursiveCircularCheck] プロシージャ。

原因

この問題は、 udpStagingSweep と udpStagingMemberAttributeSave プロシージャが、ステージング行ごとに udpMemberRecursiveCircularCheck プロシージャを1回だけ呼び出すために発生します。 この動作により、ドメインベースの属性値がチェックされ、ステージング行によって循環参照が既存のデータと共に発生した場合、エラーが返されます。 すべてのステージング行をチェックすると、次のような結果が表示されます。

  • エラーのないステージング行が適用されます。

  • エラーのあるステージング行には、エラーコードが記載されています。

"Symptoms" セクションで説明されている条件が true の場合、 [mdm]. [udpMemberRecursiveCircularCheck] プロシージャは、サーバーのリソースが使い果たされるか、タイムアウトが発生するまで、無限にループします。

解決方法

累積的な更新プログラムの情報

SQL Server 2008 R2 Service Pack 1

この問題の修正プログラムは、累積的な更新プログラム4で最初にリリースされました。SQL Server 2008 R2 SP1 用の累積更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

2633146 SQL Server 2008 R2 Service Pack 1 の累積更新プログラムパッケージ4注: ビルドは累積的であるため、それぞれの新しい修正プログラムには、以前の SQL Server 2008 R2 SP1 修正プログラムに含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

2567616 SQL Server 2008 R2 Service Pack 1 がリリースされた後にリリースされた SQL Server 2008 R2 ビルド

状態

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

回避策

この問題を回避するには、以下のいずれかの方法を使用します。

  • この問題を回避するには、次の手順を実行します。

    1. ステージングプロセスを実行する前に、ステージングテーブルに挿入されているメンバーデータ値を手動で確認します。

    2. ドメインベース属性のすべてのメンバーの値に、「Symptoms」セクションで説明されている循環参照が含まれていないことを確認します。

  • 「現象」セクションで説明されている問題が発生した場合は、次の手順に従って問題を修正します。

    1. 無限ループで実行されているセッションを特定します。

    2. ループを停止するには、セッションを終了します。

    3. 循環参照が再び処理される前に、ステージングテーブルから循環参照の値を削除します。

注意事項

  • 強制終了するセッションを特定するには、次のいずれかの方法を使用します。

    • Microsoft SQL Server Management Studio でアクティビティモニターを使用します。

    • [動的管理ビュー (DMV)] を選択sys.dm_exec_requestsして、MDS データベース内で動作しているセッション ( CPU と時間が急速に増加している) を特定します。 セッションで実行されている現在のクエリが、「原因」セクションで説明されているプロシージャ名と一致していることを確認してください。

  • セッションで現在実行されている手順を特定するには、次のいずれかの方法を使用します。

    • アクティビティモニターのプロセスリストの各プロセスで [ 詳細 ] メニューを右クリックします。

    • 次のパラメーターのいずれかを使用します。

      • セッション ID と共に DBCC 入力バッファー (spid) コマンド。

      • DMV 出力を使う場合は、 SELECT * FROM sys.dm_exec_sql_text (sqlhandle)関数と、対応する sql handle パラメーターを組み合わせて使用します。

参照情報

SQL Server Management Studio でアクティビティモニターを開く方法の詳細については、次の MSDN web サイトを参照してください。

SQL Server Management Studio でアクティビティモニターを開く方法KILL構文の詳細については、次の MSDN web サイトを参照してください。

KILL 構文に関する一般的な情報Sys.dm_exec_requests DMV の詳細については、次の MSDN web サイトを参照してください。

Sys.dm_exec_requests DMV に関する一般的な情報Sys.dm_exec_sql_text DMV の詳細については、次の MSDN web サイトを参照してください。

Sys.dm_exec_sql_text DMV に関する一般的な情報DBCC 入力バッファーコマンドの詳細については、次の MSDN web サイトを参照してください。

DBCC 入力バッファーコマンドに関する一般的な情報SQL Server の段階的サービスモデルの詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

935897 SQL Server チームが段階的なサービスモデルを利用して、報告された問題の修正プログラムを提供するSQL Server 更新プログラムの名前付けスキーマの詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

822499 Microsoft SQL Server ソフトウェア更新プログラムパッケージの新しい名前付けスキーマソフトウェア更新プログラムの用語の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

824684 マイクロソフトのソフトウェアの更新で使用される一般的な用語の説明

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。

この情報は役に立ちましたか?

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?
[送信] を押すと、Microsoft の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

フィードバックをいただき、ありがとうございます。

×