修正 ︰ 中繼資料不一致錯誤之後您切換資料表分割區,卸除對應的檔案和檔案群組

請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。

按一下這裡查看此文章的英文版本:3095958
徵狀
請考慮下列情況:
  • 您在 Microsoft SQL Server 2014,有兩個資料分割的資料表,第一個資料表的資料分割時,會對應到不同的檔案和檔案群組上,使用相同的資料分割配置和函式。
  • 您將這些磁碟分割的其中一個切換到第二個資料表中,並再您截斷第二個資料表。
  • 您卸除檔案與檔案群組對應到交換的磁碟分割。
  • 您在第二個資料表執行 SELECT 陳述式。
在這個案例中,您會收到下列錯誤訊息 ︰

訊息 606,層級 21,狀態 1
中繼資料不一致。檔案群組識別碼檔案群組識別碼> 所指定的資料表資料表名稱> 不存在。執行 DBCC CHECKDB 或 CHECKCATALOG。

當您執行 CHECKDB/在於時,您會收到下列錯誤訊息 ︰

無法處理索引IndexName> 的資料表表格名稱> 因為檔案群組 (檔案群組識別碼FileGroupNumber>) 不正確。
解決方案
在下列的累積更新的 SQL Server 中,已先修正問題 ︰ 建議 ︰ 安裝最新的 SQL Server 累積更新
每個新的累積更新的 SQL Server 包含的所有 hotfix 與安全性修正,全都包含在先前的累積更新。我們建議您下載並安裝最新的累積更新 SQL Server 的 ︰


注意此修正程式只能防止這個問題的未來週期性事件。如果已經有這個問題,請將您的資料匯出到全新的資料庫,而不需任何現有的中繼資料損毀。若要執行這項操作,請參考下列步驟:
  1. 若要判斷磁碟分割是否有無效的檔案群組,執行下列的查詢,以查看它是否會傳回結果 ︰
    SELECT * FROM sys.allocation_units AS au WHERE au.data_space_id NOT IN (SELECT data_space_id FROM sys.filegroups)
  2. 再次檢視中繼資料損毀的資料表。

    如果步驟 1 中的查詢會傳回結果,與損毀的中繼資料磁碟分割,所以您無法檢視 (選取 * 從) 資料表的任何資料列。若要解決這個問題,請移除該錯誤的磁碟分割。

    請注意
    不正確的磁碟分割應為空白。否則,檔案和檔案群組,就是無法不已卸除或刪除。

    若要這麼做,請使用相同的資料分割配置的另一個資料表移動這個磁碟分割。這個資料表可以只是空的資料表。使用查詢從 container_id 在步驟 1,並將它搭配從 sys.partitions partition_id。(請確定您注意 partition_number)。您可以使用 partition_number,從 unviewable 到空的資料表,資料表執行改變資料表切換磁碟分割。空的資料表應該擁有相同的資料行,並使用相同的資料分割配置。您要尋找的不一致的磁碟分割的查詢可能如下所示 ︰

    SELECT au.container_id, au.data_space_id, p.partition_number FROM sys.partitions AS p JOIN sys.allocation_units AS au ON p.partition_id = au.container_id LEFT JOIN sys.filegroups AS fgs ON fgs.data_space_id = au.data_space_id WHERE object_id = OBJECT_ID('MyTableName') AND fgs.data_space_id IS NULL;
  3. 將資料複製先前 unviewable 資料表中插入新的資料庫。
狀況說明
Microsoft 已確認這是<套用> 一節所列出的 Microsoft 產品的問題。

警告:本文為自動翻譯

內容

文章識別碼:3095958 - 最後檢閱時間:04/12/2016 02:13:00 - 修訂: 2.0

Microsoft SQL Server 2014 Service Pack 1

  • kbfix kbqfe kbexpertiseadvanced kbsurveynew kbmt KB3095958 KbMtzh
意見反應