修正: 您會收到錯誤 605,而且錯誤 824,當您執行查詢時,會將資料插入 SQL Server 中的暫存資料表

Template: CPR – SQL Server 2008 CU individual hotfix

錯誤: # 50003826 (SQL Hotfix)

BUG #: 102328 (Content Maintenance)BUG #: 50003826 (SQL Hotfix)

Microsoft 會為一個可下載的檔案散佈 Microsoft SQL Server 2008年的修正程式。 的修正程式是累積的因為每個新版本包含的所有 hotfix,並隨附於先前的 SQL Server 2008年所有安全性修正程式會都修正版本。

徵狀

在 SQL Server 2008 中,您可以執行將資料插入暫存資料表的查詢。 Insert 陳述式包含參考相同的暫存資料表的子查詢。 當您執行查詢時,您可能會收到類似下列的錯誤訊息:

狀態 3,擷取資料庫 2 中的邏輯頁 (1:225) 的行 1Attempt,層級 21 605 訊息失敗。 它屬於不到 504403158513025024 的配置單位 281474980315136。

如果您再次執行查詢,您會收到類似下列的錯誤訊息:

訊息 824,層級 24,狀態 2,行 1

SQL Server 偵測到的邏輯一致性基礎 I/O 錯誤: 不正確的總和檢查碼 (預期: 0x50758180; 實際: 0x15658bfc)。 它時發生讀取網頁 (1:336) 的位移 0x000000002a0000 檔案中的資料庫識別碼 」 為 2 中 ' C:\Program 必要 SQL Server\MSSQL10。SQL2008\MSSQL\DATA\tempdb.mdf'。 在 SQL Server 錯誤記錄檔或系統事件日誌中的其他訊息可能會提供更多詳細資料。 這是嚴重的錯誤狀況,還威脅著資料庫完整性,必須立即予以更正。 完成完整的資料庫一致性檢查 (DBCC CHECKDB)。 這項錯誤可能被因許多因素;如需詳細資訊,請參閱 SQL Server 線上叢書 》 文件。

在某些情況下,您可能也會收到類似下列的錯誤訊息:

訊息 601、 層級 12、 狀態 3、 程序 procedure 名稱和行的行號無法繼續使用 NOLOCK 掃描,因為資料移動。

一種可能的查詢建構,可能會產生這些錯誤如下所示:

insert #table1select s.col1, s.col2from #table2 s inner loop join #table1 t on s.col3 = t.col3 

解決方案

這個問題的修正程式首次發表累積的更新 3] 中。如需有關如何取得此累積更新套件,SQL Server 2008 的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

960484 SQL Server 2008年的累積更新套件 3注意: 因為組建是累計的每個新的修正程式版本會包含所有的 hotfix,並隨附於先前的 SQL Server 2008年所有安全性修正程式會都修正版本。 我們建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

956909 SQL Server 2008年建置 SQL Server 2008年發行之後所發行的安裝此累積更新套件之後,您必須啟用追蹤旗標 4135。若要這麼做,您可以新增-T4135啟動參數。或者,您可以使用特定的工作階段的dbcc traceon(4135)陳述式。

因應措施

要解決這個問題,請加入資料行具有叢集的主索引鍵和暫存資料表的 identity 屬性。 比方說,執行下列的陳述式,來變更暫存資料表:

ALTER TABLE #TempTableADD id integer IDENTITY(1,1) CONSTRAINT id PRIMARY KEY CLUSTERED

狀態

Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。

其他相關資訊

雖然您遇到 824 或 605 的錯誤訊息時,資料庫不會損毀。 此外,這些錯誤訊息會參考網頁從 tempdb 資料庫。如需有關變更哪些檔案,及要套用累積更新套件,其中包含這個微軟知識庫文件所述的 hotfix 的任何必要條件的相關資訊,請按一下下面的文件編號,檢視Microsoft 知識庫 」 中的文文件:

960484 SQL Server 2008年的累積更新套件 3

SQL Server 2008 R2 BPA 資訊

SQL Server 2008 R2 最佳練習分析器 (SQL Server 2008 R2 BPA)] 提供偵測的情況下,您並沒有累積的更新或啟用來解決這個問題的追蹤旗標的規則。 SQL Server 2008 R2 BPA 支援 SQL Server 2008年和 SQL Server 2008 R2。 如果您執行 BPA 工具,並會遇到 「 資料庫引擎-tempdb 錯誤修正或追蹤遺漏的旗標 」 警告,您必須檢查 SQL Server 和追蹤旗標設定為啟用此修正程式的版本。

參考

規則軟體

規則標題

規則識別項

SQL Server 2008 R2 BPA 規則

tempdb 錯誤修正或追蹤遺漏的旗標

RID3808

注意: 您可以啟用追蹤旗標 4135 或追蹤旗標來啟用此修正程式 4199。 追蹤旗標 4135 已採用 SQL Server 2008 累積更新套件 3。 追蹤旗標 4135 也會出現在 SQL Server 2008 Service Pack 1、 SQL Server 2008 Service Pack 2,以及 SQL Server 2008 R2 的。 追蹤旗標 4199 以後開始引進 SQL Server 2008年的累積更新套件 7、 累積更新套件的 SQL Server 2008 Service Pack 1、 7 和 SQL Server 2008 R2 的累積更新套件 1。 如需有關追蹤旗標 4199 的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

974006 追蹤旗標 4199 加入先前進行中的多個查詢最佳化器變更,在 [多個追蹤旗標] 下的控制項 因為這個問題的修正程式牽涉到特定的 hotfix 組建和追蹤旗標來啟用此修正程式的組合,我們會包括下表顯示不同的案例與建議的動作,您必須採取各種針對每個案例。如需有關最新的 SQL Server 組建的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

957826 何處可以找到最新的 SQL Server 有關的資訊建置

Call stack information

6338c88c 02ab0ed6 kernel32!RaiseException+0x53
6338c8d8 026b607e sqlservr!CDmpDump::Dump+0x95
6338c910 026b6a49 sqlservr!SQLDumperLibraryInvoke+0x174
6338ca0c 026ae00a sqlservr!CImageHelper::DoMiniDump+0x29d
6338d7bc 026ae713 sqlservr!stackTrace+0x643
6338d7dc 0175ec9e sqlservr!stackTraceCallBack+0x40
6338da74 01222ecb sqlservr!ex_raise2+0x1c6
6338daa0 024b7fb9 sqlservr!ex_raise+0x64
6338dbe8 016dc45c sqlservr!RaiseWrongPageError+0xa7
6338dc54 01006a2e sqlservr!FixPageNotThruLinkage+0x2a5
6338dce0 01006db6 sqlservr!HeapPageManager::GetNextPage+0x185
6338e4a8 015307fd sqlservr!HeapDataSetSession::GetNextRowValuesInternal+0x4df
6338e4f8 015306cc sqlservr!RowsetNewSS::FetchNextRow+0x126
6338e524 01530882 sqlservr!CQScanRowsetNew::GetRowWithPrefetch+0x2b
6338e548 01530182 sqlservr!CQScanTableScanNew::GetRow+0x80
6338e568 015336a5 sqlservr!CQScanHash::ReadRow+0xe9
6338e5ac 01558b24 sqlservr!CQScanHash::ConsumeBuild+0x2bf

參考

如需可用的 SQL Server 2008年發行後的組建的清單的相關資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

956909 SQL Server 2008年建置 SQL Server 2008年發行之後所發行的如需 SQL Server 的累加式的服務模型的相關資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

935897 累加式的服務模型位於 SQL Server 小組製作報告的問題的 hotfix如需有關 SQL Server 更新的命名結構描述的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

822499新命名的結構描述為 Microsoft SQL Server 軟體更新套件的如需有關軟體更新術語的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

824684 描述 Microsoft 軟體更新所使用的標準術語說明

Author (SME): bruceye
Writer: ericzha
Tech Reviewer: bruceye; wcarroll
Editor: v-janhal

需要更多協助?

擴展您的技能
探索訓練
優先取得新功能
加入 Microsoft 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與我們的其中一個 Office 支援專員連絡以深入了解您的意見。

×