FIX SQL Server 2005 または 2008 年の SQL Server でテーブル変数を使用するとデッドロック シナリオをォします。

文書翻訳 文書翻訳
文書番号: 960283
# をバグ: 50003816 (SQL 修正プログラム)

Microsoft Microsoft SQL Server 2005年や 2008 の SQL Server として 1 つのダウンロード可能なファイルが修正されます。修正プログラムは累積的であるため、各新しいリリースすべての修正プログラムが含まれているし、以前の SQL Server 2005 または SQL Server 2008年に含まれていたすべてのセキュリティ修正プログラム リリースを修正します。
すべて展開する | すべて折りたたむ

目次

現象

次のようなクエリを実行すると Microsoft SQL Server 2005年または 2008 の Microsoft SQL Server では、デッドロック状態を発生する可能性があります。
INSERT <table variable> EXEC <stored procedure>

解決方法

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

SQL Server 2005 Service Pack 2

重要です SQL Server 2005 Service Pack 2 を実行している場合は、この修正プログラムを使用する必要があります。

この問題に対する修正は SQL Server 2005 Service Pack 2 の累積的な更新プログラム 11 で最初リリースされました。この累積的な更新プログラム パッケージの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
958735 SQL Server 2005 Service Pack 2 用の累積的な更新プログラム パッケージ 11
メモ ビルドは累積的であるため、新しい修正プログラム リリースすべての修正プログラムが含まれているし、以前の SQL Server 2005 に含まれていたすべてのセキュリティ修正プログラム リリースを修正します。マイクロソフトはこの修正プログラムを含む最新の修正プログラム リリースを適用を検討することをお勧めします。詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
937137 SQL Server 2005 Service Pack 2 のリリース以降後にリリースされた、SQL Server 2005 のビルドします。
Microsoft SQL Server 2005年の特定の SQL Server のサービス パック修正プログラムが作成されます。SQL Server 2005 Service Pack 2 のインストールに SQL Server 2005 Service Pack 2 修正プログラムを適用する必要があります。既定では、SQL Server サービス パックで提供されている修正プログラム SQL Server の次の service pack に含まれてです。

SQL Server 2005 Service Pack 3

重要です SQL Server 2005 Service Pack 3 を実行している場合は、この修正プログラムを使用する必要があります。

この問題に対する修正は SQL Server 2005 Service Pack 3 用の累積的な更新 1 でも後でリリースされました。この累積的な更新プログラム パッケージの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
959195 SQL Server 2005 Service Pack 3 用の累積的な更新プログラム パッケージ 1
メモ ビルドは累積的であるため、新しい修正プログラム リリースすべての修正プログラムが含まれているし、以前の SQL Server 2005 に含まれていたすべてのセキュリティ修正プログラム リリースを修正します。マイクロソフトはこの修正プログラムを含む最新の修正プログラム リリースを適用を検討することをお勧めします。詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
960598 SQL Server 2005 Service Pack 3 のリリース後にリリースされた、SQL Server 2005 のビルドします。
Microsoft SQL Server 2005年の特定の SQL Server のサービス パック修正プログラムが作成されます。SQL Server 2005 Service Pack 3 のインストールに SQL Server 2005 Service Pack 3 修正プログラムを適用する必要があります。既定では、SQL Server サービス パックで提供されている修正プログラム SQL Server の次の service pack に含まれてです。

SQL Server 2008

この問題に対する修正は累積的な更新プログラム 3 で初めてリリースされました。SQL Server 2008 年にこの累積的な更新プログラム パッケージの入手方法の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
960484 SQL Server 2008年の累積的な更新パッケージ 3
メモ ビルドは累積的であるため、各新しい修正プログラム リリースにはすべての修正プログラムが含まれています、以前の SQL Server 2008 に含まれていたすべてのセキュリティ修正プログラム リリースを修正します。この修正プログラムを含む最新の修正プログラム リリースを適用を検討することをお勧めします。詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
956909 SQL Server の 2008 SQL Server 2008年のリリース以降後にリリースされたビルドします。

回避策

この問題を回避するには、テーブル変数の代わりに一時テーブルを使用します。

状況

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

詳細

この問題が発生するは、次のような SQL Server のエラー ログに記録されます。
<Date Time> spid4s      Deadlock encountered .... Printing deadlock information
<Date Time> spid4s      Wait-for graph
<Date Time> spid4s      
<Date Time> spid4s      Node:1

<Date Time> spid4s      OBJECT: 2:416629173:0          CleanCnt:3 Mode:Sch-S Flags: 0x0
<Date Time> spid4s       Grant List 1:
<Date Time> spid4s         Owner:0x05617D00 Mode: Sch-S    Flg:0x0 Ref:1 Life:00000000 SPID:56 ECID:0 XactLockInfo: 0x158308D4
<Date Time> spid4s         SPID: 56 ECID: 0 Statement Type: INSERT Line #: 64
<Date Time> spid4s         Input Buf: RPC Event: Proc [Database Id = 28 Object Id = 160719625]
<Date Time> spid4s       Requested By: 
<Date Time> spid4s         ResType:LockOwner Stype:'OR'Xdes:0x1B907648 Mode: Sch-M SPID:56 BatchID:0 ECID:0 TaskProxy:(0x4B938364) Value:0x561f060 Cost:(N/A)
<Date Time> spid4s      Deadlock monitor failed to resolve this deadlock.
Server may require restart to recover from this condition
<Date Time> spid4s      Using 'dbghelp.dll' version '4.0.5'
<Date Time> spid14s     deadlock-list
<Date Time> spid14s      deadlock victim=process0
<Date Time> spid14s       process-list
<Date Time> spid14s        process id=process9285c8 waitresource=OBJECT: 2:416629173:0  waittime=12593 ownerId=1746104 transactionname=droptemp lasttranstarted=<Date Time> XDES=0x1b907648 lockMode=Sch-M schedulerid=2 kpid=8652 status=suspended spid=56 sbid=0 ecid=0 priority=0 transcount=1 lastbatchstarted=<Date Time> lastbatchcompleted=<Date Time> clientapp=WstClient hostname=PTONEBOX02 hostpid=21660 loginname=NT AUTHORITY\NETWORK SERVICE isolationlevel=read committed (2) xactid=1745726 currentdb=28 lockTimeout=4294967295 clientoption1=673316896 clientoption2=128056
<Date Time> spid14s         executionStack
<Date Time> spid14s          frame procname=Group.dbo.psp_GroupEntityChangesGet line=64 stmtstart=4052 stmtend=4830 sqlhandle=0x03001c0009639409d6a1a100289b00000100000000000000
<Date Time> spid14s     INSERT @t_Rowset
<Date Time> spid14s             EXEC @i_ReturnCode = @vc_ProcName
<Date Time> spid14s                  @i_ReleaseVersion = @i_ReleaseVersion
<Date Time> spid14s                 ,@bi_ScopeID = @bi_ScopeID
<Date Time> spid14s                 ,@dt_StartDatetime = @dt_StartDatetime
<Date Time> spid14s                 ,@dt_EndDatetime = @dt_EndDatetime
<Date Time> spid14s                 ,@f_ReturnAll = @f_ReturnAll
<Date Time> spid14s                 ,@i_MaxRows = @i_MaxRows
<Date Time> spid14s                 ,@f_MoreRows = @f_MoreRows OUTPUT     
<Date Time> spid14s         inputbuf
<Date Time> spid14s     Proc [Database Id = 28 Object Id = 160719625]    
<Date Time> spid14s       resource-list
<Date Time> spid14s        objectlock lockPartition=0 objid=416629173 subresource=FULL dbid=2 objectname=tempdb.dbo.#18D541B5 id=lock13849a80 mode=Sch-S associatedObjectId=416629173
<Date Time> spid14s         owner-list
<Date Time> spid14s          owner id=process9285c8 mode=Sch-S
<Date Time> spid14s         waiter-list
<Date Time> spid14s          waiter id=process9285c8 mode=Sch-M requestType=wait
<Date Time> spid4s      **Dump thread - spid = 4, PSS = 0x059DA7D8, EC = 0x059DA7E0
<Date Time> spid4s      ***Stack Dump being sent to <drive>:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\<dumpname>.txt
<Date Time> spid4s      * *******************************************************************************
<Date Time> spid4s      *
<Date Time> spid4s      * BEGIN STACK DUMP:
<Date Time> spid4s      *   <Date Time> spid 4
<Date Time> spid4s      *
<Date Time> spid4s      * Unresolved deadlock
<Date Time> spid4s      *
<Date Time> spid4s      *  
<Date Time> spid4s      * *******************************************************************************

SQL Server 2005

変更されるファイルの詳細については、この Knowledge Base 資料に記載されている修正プログラムを含む累積的な更新プログラム パッケージを適用するのには、前提条件の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
958735 SQL Server 2005 Service Pack 2 用の累積的な更新プログラム パッケージ 11

SQL Server 2008

変更されるファイルの詳細については、この Knowledge Base 資料に記載されている修正プログラムを含む累積的な更新プログラム パッケージを適用するのには、前提条件の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
960484 SQL Server 2008年の累積的な更新パッケージ 3

関連情報

SQL Server サービス パック 2 の後の可能なビルドの一覧の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
937137 SQL Server 2005 Service Pack 2 のリリース以降後にリリースされた、SQL Server 2005 のビルドします。
SQL Server の増分サービス モデルの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
935897 報告された問題に対する修正プログラムを提供するのには、SQL Server チームの増分サービス モデルを利用します。
SQL Server 2005 Service Pack 2 の入手方法の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
913089 SQL Server 2005 の最新の service pack を入手する方法
新機能と機能強化では、SQL Server 2005 Service Pack 2 の詳細については、次のマイクロソフト Web サイトを参照してください。
http://go.microsoft.com/fwlink/? か。LinkId 71711 =
SQL Server 更新プログラムの名前付けスキーマの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
822499 Microsoft SQL Server のソフトウェア更新プログラム パッケージの新しい命名方式は
ソフトウェアの更新の用語の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
824684 マイクロソフトのソフトウェア更新プログラムの説明に使用される一般的な用語の説明

プロパティ

文書番号: 960283 - 最終更新日: 2011年8月12日 - リビジョン: 7.0
キーワード:?
kbfix kbqfe kbhotfixrollup kbexpertiseadvanced kbmt kbsurveynew KB960283 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:960283
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com