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

現象

Microsoft SQL Server 2012 または Microsoft SQL Server 2014 でマージレプリケーションを使用することを前提とします。 同期プロセスの一部として、merge agent はセッションでの新しい生成を行います。 デッドロックやタイムアウトなど、何らかの理由で、トランザクションがデッドロックの対象として選択されていて、トランザクションがロールバックされている場合、今後の世代の makings に MSinternal_makegeneration_inprog アプリケーションロックが発生する可能性があるため、前に説明したセッションが head ブロックとして表示されることがあります。

原因

ジェネレーション処理をセキュリティで保護するために使用されるアプリケーションロックは、セッションレベルのアプリケーションロックです。 生成処理中にデッドロックが検出されると、トランザクションのみがロールバックされますが、セッションはログオフされません。 セッションレベルのアプリケーションロックを解放するには、セッションをログオフする必要があります。 そのため、再試行ロジックの設計 (マージレプリケーションでの生成中にエラーが発生したときにセッションはログオフされません) が発生したため、最初のジェネレーションがデッドロックで失敗した場合、トランザクションのロールバック中に、取得したセッションロック (MSinternal_makegeneration_inprog) は解放されません。 これにより、まもなく発生する生成処理でロック要求のチェーンがブロックされます。 Head ブロックは、デッドロックで失敗する最初のジェネレーションの作成要求として表示されます。 修正前に、SQL Server は、生成処理が成功した場合に限りロックをクリアします。 デッドロックが発生した場合、セッションがログオフされる前に、孤立したセッションアプリケーションロックを残します。

SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。

状態

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

ヘルプを表示

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

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

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

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

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

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

×