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

現象

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

  • Microsoft SQL Server 2008 または SQL Server 2008 R2 のテーブルに、次のいずれかのクエリを使用して、多数の行を挿入します。

    • INSERT INTO <target_table> SELECT * FROM <target_table> WHERE <predicate>
    • SELECT * INTO <target_table> FROM <source_table> WHERE <predicate>

    注:

    • <target_table> placeholder は、実際のターゲットテーブル名を表します。

    • <述語>のプレースホルダーは、実際の述語を表します。

    • <source_table> placeholder は実際のソーステーブルを表します。

  • テーブルのロックエスカレーションのしきい値を超えています。

このシナリオでは、データベースエンジンによってテーブルのロックがエスカレートされることはありません。

原因

この問題は、INSERT 操作によって生成されたすべての新しいロックが SQL Server によって内部的にカウントされないために発生します。 そのため、ロックエスカレーションのしきい値は、必要に応じてトリガーされないことがあります。

解決方法

SQL Server 2008 の Service pack 情報

この問題を解決するには、SQL Server 2008 の最新の service pack を入手してください。詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

968382 SQL Server 2008 の最新の Service Pack を入手する方法

SQL Server 2008 R2 の Service pack 情報

この問題を解決するには、SQL Server 2008 R2 の最新の service pack を入手してください。詳細については、以下の記事の番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

2527041SQL Server 2008 R2 の最新の Service Pack を入手する方法

状態

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。この問題は、sql server 2008 Service Pack 2 で SQL Server 2008 で最初に修正されました。この問題は、sql server 2008 R2 Service Pack 1 for SQL Server 2008 R2 で最初に修正されました。

詳細情報

ロックのエスカレーションの詳細については、次の Microsoft TechNet web サイトを参照してください。

ロックのエスカレーションに関する一般的な情報テーブルのロックがエスカレートされるかどうかを判断するには、次の Transact-sql ステートメントを実行します。

USE tempdbGOCREATE TABLE x (i INT NOT NULL PRIMARY KEY)GOBEGIN TRANINSERT xSELECT TOP (40000)ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS rFROM master..spt_values a, master..spt_values bORDER BYrSELECTCOUNT(*)FROM sys.dm_tran_locksWHERE request_session_id = @@SPID ROLLBACKGODROP TABLE x 

テーブルのロックがエスカレートされた場合、最後の SELECT ステートメントは 1 または 2の値を返します。 テーブルのロックがエスカレートされていない場合、最後の SELECT ステートメントは 40066 または 40067のいずれかの値を返します。

ヘルプを表示

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

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

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

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

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

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

×