FIX クエリとトランザクション分離レベルを READ UNCOMMITTED に設定エラー 601 で失敗します。

文書翻訳 文書翻訳
文書番号: 815008
# をバグ: 363988 (SHILOH_BUGS)
すべて展開する | すべて折りたたむ

目次

現象

そのトランザクションの分離レベル セットでクエリが実行されるときREAD UNCOMMITTED SQL Server 2000年は、クエリは中止されますして、次を返しますエラー メッセージ:

サーバー: メッセージ 601、レベル 12、状態 3、行 14
データのために nolock のスキャンを続行できません。移動します。

原因

テーブル内の行が削除されたときにこの現象発生する可能性があります。SQL Server インデックスから行の場所までの時間を読み取りし、SQL Server フェッチ行にします。

解決方法

サービス パックの情報

この問題を解決するには、最新を取得します。Microsoft SQL Server 2000年の service pack。詳細についてをクリックします。マイクロソフト サポート技術情報の資料を参照するのには、次の資料番号ベース:
290211 SQL Server 2000年の最新の service pack を入手する方法

修正プログラムの情報

この修正プログラムの英語版にファイルがあります。属性 (またはそれ以降のファイル属性) 次の表に記載されています。日付および時刻これらのファイルを世界協定時刻で一覧表示されます。(UTC) です。ファイル情報を表示すると、ローカル時刻に変換します。するにはUTC とローカル時刻との時差を確認、使用、 時間ゾーン タブ コントロール パネルの日付と時刻ツールでします。
Date		Time	Version		Size		 File name
-----------------------------------------------------------------------------

07-Feb-2003	16:14			  786,432 bytes  Distmdl.ldf
07-Feb-2003	16:14			2,359,296 bytes  Distmdl.mdf
29-Jan-2003	12:25			      180 bytes  Drop_repl_hotfix.sql
31-Jan-2003	11:02	2000.80.763.0	1,557,052 bytes	 Dtsui.dll     
29-Jan-2003	15:48			  746,470 bytes  Instdist.sql
29-Jan-2003	12:25	                    1,402 bytes  Inst_repl_hotfix.sql
07-Feb-2003	17:10	2000.80.765.0      90,692 bytes  Msgprox.dll  
29-Jan-2003	11:48	7.0.9466.0        344,064 bytes  Msvcr70.dll      
29-Jan-2003	11:48	2000.80.722.0      57,904 bytes  Osql.exe         
07-Feb-2003	14:23                   1,065,895 bytes  Replmerg.sql
07-Feb-2003	17:10	2000.80.765.0	  221,768 bytes  Replprov.dll     
07-Feb-2003	17:10	2000.80.765.0     307,784 bytes  Replrec.dll      
29-Jan-2003	15:48		   	1,084,318 bytes  Replsys.sql
29-Jan-2003	11:48	2000.80.534.0	  127,548 bytes  Sqdedev.dll    
07-Feb-2003	17:10	2000.80.765.0	  176,696 bytes  Sqlmap70.dll  
07-Feb-2003	17:10	2000.80.765.0	   57,920 bytes  Sqlrepss.dll    
14-Feb-2003	13:22	2000.80.769.0   7,512,145 bytes  Sqlservr.exe   
29-Jan-2003	11:48	2000.80.194.0     180,290 bytes  Sqlunirl.dll     
07-Feb-2003	17:10	2000.80.765.0      45,644 bytes  Sqlvdi.dll   
07-Feb-2003	17:10	2000.80.765.0      82,492 bytes  Ssnetlib.dll     
				
メモ ファイルの依存関係、最新の修正プログラムまたは機能のためのそのファイルが含まれている追加も含めることができますファイルです。


状況

マイクロソフトこれに記載されているマイクロソフト製品の問題であることを確認しています「対象」のセクションで。Microsoft ではこの問題は修正されましたSQL Server 2000 Service Pack 4。

詳細

この修正プログラムをインストールした後、トレース フラグ 9134 を使用できます。SQL Server の動作を変更します。オンになっているようにするには、トレース フラグ 9134 を有効にするのにはSQL Server を起動するたびに、SQL Server の起動時にトレース フラグを追加します。パラメーターです。SQL Server のスタートアップ パラメーターとしてトレース フラグ 9134 を追加するには、実行します。以下の手順します。
  1. SQL Server エンタープライズ マネージャーでは、サーバーを右クリックします。SQL Server を実行しているしをクリックしてプロパティ.
  2. で、 全般 タブで、クリックしてください スタートアップパラメーター.
  3. で、 パラメーター テキスト ボックス、入力-T9134をクリックして 追加、し[OK].
  4. で、 SQL Server Properties(Configure)-サーバー名前> ダイアログ ボックス、クリックして [OK].
  5. 新しいパラメーターには、SQL Server サービスを再起動します。有効にします。
代わりに、クエリで次クエリを実行します。動的にトレース フラグを有効にするには、[アナライザー] をクリックします。
DBCC TRACEON (9134, -1)
ただし、スタートアップ パラメーターとしてトレース フラグ 9134 を追加しない場合は、DBCC TRACEON コマンドの効果が失われます SQL Server サービス再起動します。

トレース フラグ 9134 をオンにし、行が削除されるかSQL Server 行の位置を読み取り、時間と時刻の間の変更bookmark lookup から行をフェッチ、いない、クエリは中止されますかエラー 601 を返します。代わりに、SQL Server に配置することはできません行を無視します。クエリ条件を満たす行をスキャンすることを続行します。そのため、クエリの実行は続行されます。ただし、結果、SQL Server削除または、クエリ実行中に移動された行は使用できませんを返します実行します。

メモ ここでと、トレース フラグの情報のみに適用するのにはトランザクションの分離レベルで実行されているクエリを読み取り」に設定コミットされていません。情報を実行するクエリには適用されません、NOLOCK オプティマイザー ヒント。この場合、動作から変わりません「現象」に記載されていますいます。

また、トレース フラグはありません。その他のエラーやデータの不一致が発生することができることは、事実に影響を与える場合コミットされていないデータを読み取っています。詳細については、独立性レベルSQL Server と各分離レベルの使用による影響でサポートされて参照してください、SQL Server Books Online の「ロック」のトピックです。

マイクロソフトはありません。次のすべてを適用する場合を除き、このトレース フラグの使用をお勧めします。
  • アプリケーションで使用する必要があります、READ UNCOMMITTED独立性レベル。
  • 使用中のアプリケーションの数が多いが発生しています。601 エラーです。
  • 行をトレース フラグを使用すると、ことを理解します。削除、または移動したは実行時にクエリを無視されます。
メモ READ UNCOMMITTED 分離レベルを使用する前に行う必要があります。その機能を理解します。詳細については、READ UNCOMMITTED独立性レベルは、次のマイクロソフト開発ネットワーク (MSDN) の Web を参照してくださいサイト:
http://msdn2.microsoft.com/en-us/library/ms171885.aspx

関連情報

詳細については、次をクリックします。文書番号を使用して「サポート技術情報」資料を参照するには:
235880INF: エラー 605 オプティマイザー ヒントとして NOLOCK または分離レベルが読み取り UNCOMMITTED を生成します。
詳細については、次の MSDN Web を参照してください。サイト:
トラブルシューティングエラー 601
.aspx の http://msdn2.microsoft.com/en-us/library/aa258726 (SQL.80)
セットトランザクションの分離レベル
.aspx の http://msdn2.microsoft.com/en-us/library/aa259216 (SQL.80)

プロパティ

文書番号: 815008 - 最終更新日: 2011年7月28日 - リビジョン: 10.0
キーワード:?
kberrmsg kbbug kbfix kbqfe kbsqlserv2000presp4fix kbhotfixserver kbmt KB815008 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:815008
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