[FIX] tempdb 使用中に DTC トランザクションを中止すると、7105 エラー、アサーション、および場合によっては SQL Server のシャットダウンが発生する

文書翻訳 文書翻訳
文書番号: 304847 - 対象製品
この記事は、以前は次の ID で公開されていました: JP304847
BUG #: 355018 (SHILOH_BUGS)
すべて展開する | すべて折りたたむ

目次

現象

Microsoft 分散トランザクション コーディネータ (DTC) トランザクションを tempdb がアクティブな間に中止すると、7105 エラー、リテール アサーションが発生し、場合によっては tempdb でのロールバック中に失敗し、サーバーがシャットダウンすることがあります。

解決方法

この問題を解決するには、Microsoft SQL Server 2000 の最新の Service Pack を入手します。関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
290211 最新の SQL Server 2000 Service Pack の入手方法

修正プログラム

: 次の修正プログラムは、Microsoft SQL Server 2000 Service Pack 2 がリリースされる前に作成されました。

修正プログラム (英語版) のファイル属性は次のとおりです。ただし、これより新しい修正プログラムがリリースされている可能性もあります。
   バージョン     ファイル名      プラットフォーム
   -------------------------------------
   8.00.430    Sqlservr.exe    i386
				
: ファイルの依存関係のため、上記のファイルを含む最新の修正プログラムや機能にその他のファイルが含まれる場合もあります。

回避策

この問題は、アプリケーションの分散トランザクションのタイムアウトによって、DTC マネージャがトランザクションを中止する場合に発生します。

この問題を回避するには、タイムアウトの原因を取り除くか、またはタイムアウト値を増加します。

状況

マイクロソフトでは、この問題を SQL Server 2000 の問題として認識しています。 この問題は、Microsoft SQL Server 2000 Service Pack 2 で最初に修正されました。

詳細

エラー ログに表示される 7105 エラー メッセージは、以下のようなものです。
エラー : 7105、レベル : 22、状態 : 6 TEXT、NTEXT、または IMAGE ノードのページ (1:123232)、スロット 3 が存在しません。
この問題が発生する場合、以下の 1 つ以上のアサーション メッセージがエラー ログに記録されます (SQL Server 2000 製品版ビルド 194 に基づいています)。
SQL Server アサーション: ファイル : <SpcAlloc.cpp>、行=378 失敗したアサーション = "pPage->IsType (Page::TEXT_MIX_PAGE)"。
SQL Server アサーション: ファイル : <page.cpp>、行=2777 失敗したアサーション = "rowLength >= offset + deleteLength"。
SQL Server アサーション: ファイル : <logscan.cpp>、行=3037 失敗したアサーション = "m_lastLSN == NullLSN || startLSN < m_lastLSN"。
SQL Server アサーション: ファイル : <page.cpp>、行=3429 失敗したアサーション = "m_freeCnt + emptySlots * sizeof (Slot) >= spaceNeed"。
この問題が発生すると、エラー ログに次のエラー メッセージが記録されることもあります。
AllocPageFromTargetExtent failed: extId=1:357672 pages_seen=8
以下のアサーションが記録され、その後に SQL Server 内部のロック マネージャおよびテーブルの長いダンプが続きます。
SQL Server アサーション: ファイル : <alloc.cpp>、行=10649 失敗したアサーション = "force_success == FALSE"。

プロパティ

文書番号: 304847 - 最終更新日: 2006年2月6日 - リビジョン: 3.2
この資料は以下の製品について記述したものです。
  • Microsoft SQL Server 2000 Standard Edition
キーワード:?
kbhotfixserver kbqfe kbbug kbfix kbsqlserv2000presp2fix KB304847
"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