修正: 資料庫資料檔案可能會不正確地標記為疏鬆 SQL Server 2008年或 SQL Server 2008 R2 中檔案的實體檔案會被標示為不疏鬆檔案系統中即使

文章翻譯 文章翻譯
文章編號: 2574699 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

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

徵狀

將 Microsoft SQL Server 2008 R2 或 Microsoft SQL Server 2008年可能資料庫資料檔案標記為疏鬆實體檔案標記為不疏鬆檔案系統中,即使。

備忘稿
  • 如果要判斷是否要將資料庫資料檔案標記為疏鬆SQL Server 中繼資料中,執行下列陳述式,,然後檢查結果集的非零值是否設定 [ Is_Sparse ] 資料行:
    Use
    <database name>
    select is_sparse , physical_name from sys.database_files
  • 查詢檔案系統中的實體檔案的狀態,請執行下列的 [視窗] 命令後資料庫為離線:
    fsutil sparse queryflag 
    <files path>\<database file>
    如果您收到下列的輸出,檔案標記為疏鬆檔案系統中:
    這個檔案未設成疏鬆檔案。
  • SQL Server 中繼資料和檔案系統中繼資料都必須標記為疏鬆的只有資料庫的資料檔案屬於資料庫快照集。

發生的原因

檔案系統不當地標示為疏鬆的整個資料庫資料檔案原本標示為移除疏鬆的替代資料流之後,就會發生這個問題。DBCC CHECKDB命令結束時,會移除替代資料流。

備忘稿
  • 內部資料庫快照集的使用情形是 NTFS 功能所使用的命令的DBCC CHECKDB系列。當您執行DBCC命令時,資料庫引擎會建立資料庫快照集替代資料流,並將它帶到交易一致的狀態。DBCC命令會執行檢查對替代資料流中。DBCC命令完成之後,就會丟棄替代資料流。
  • Windows Server 2003 的 Windows 磁碟區層級的備份用來備份資料庫檔案已採用的設計,導致發生這個問題。SQL Server 中繼資料會儲存一份疏鬆資料檔的屬性系統資料表中。不過之後就會從檔案系統中移除疏鬆的屬性,, SQL Server 並不更新Is_Sparse資訊。
  • 之後您將資料庫從 Windows Server 2003 遷移到較新版的 Windows 作業系統,也會發生這個問題。

    比方說,您移轉資料庫從 Windows Server 2003 Windows Server 2008 或 Windows Server 2008 R2。

解決方案

若要解決這個問題,在 SQL Server 2008 R2 或 SQL Server 2008年中,套用下列 hotfix,然後再使資料庫連線。當資料庫上線時,將會檢查 SQL Server 是否實體資料庫檔案的中繼資料標記為疏鬆檔案系統中。如果它標示為不疏鬆時,會更新 SQL Server 中繼資料。

附註從檔案系統中移除疏鬆的屬性,請複製資料庫檔案,然後再使用檔案的新複本的資料庫。如需有關這項程序的詳細資訊,請造訪下列 MSDN 網站:
如何從檔案系統中移除疏鬆的屬性

累積更新資訊

SQL Server 2008 Service Pack 3

累積更新套件 1 於 SQL Server 2008 Service Pack 3 的第一次發行的修正這個問題。如需有關此累積更新套件的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2617146 SQL Server 2008 Service Pack 3 的累積更新套件 1
附註因為組建是累計的每個新的修正程式版本會包含所有的快速補充程式,並隨附於先前的 SQL Server 2008年所有安全性修正程式會都修正版本。Microsoft 建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2629969 SQL Server 2008年組建 SQL Server 2008 Service Pack 3 發行之後所發行,
Microsoft SQL Server 2008 hotfix 會建立特定的 SQL Server service pack。您必須套用 hotfix SQL Server 2008 Service Pack 3 才能 SQL Server 2008年重新啟動安裝程序。根據預設,SQL Server service pack 中所提供的任何 hotfix 包含在下一步 SQL Server service pack。

SQL Server 2008 Service Pack 1

累積更新套件 16 於 SQL Server 2008 Service Pack 1 第一次發行的修正這個問題。如需有關此累積更新套件的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2582282 累積更新套件 16 SQL Server 2008 Service Pack 1
附註因為組建是累計的每個新的修正程式版本會包含所有的快速補充程式,並隨附於先前的 SQL Server 2008年所有安全性修正程式會都修正版本。Microsoft 建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
970365 SQL Server 2008年建置之後所發行的 SQL Server 2008 Service Pack 1 所發行,
Microsoft SQL Server 2008 hotfix 會建立特定的 SQL Server service pack。您必須將 SQL Server 2008 Service Pack 1 hotfix 套用至 SQL Server 2008 Service Pack 1 的安裝。根據預設,SQL Server service pack 中所提供的任何 hotfix 包含在下一步 SQL Server service pack。

SQL Server 2008年客戶支援診斷

累積更新套件 6 於 SQL Server 2008 Service Pack 2 的第一次發行的修正這個問題。如需有關此累積更新套件的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2582285 SQL Server 2008 Service Pack 2 的累積更新套件 6
附註因為組建是累計的每個新的修正程式版本會包含所有的快速補充程式,並隨附於先前的 SQL Server 2008年所有安全性修正程式會都修正版本。Microsoft 建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2402659 SQL Server 2008年組建 SQL Server 2008 Service Pack 2 已發行之後所發行,
Microsoft SQL Server 2008 hotfix 會建立特定的 SQL Server service pack。您必須將 SQL Server 2008 Service Pack 2 hotfix 套用至 SQL Server 2008 Service Pack 2 的安裝。根據預設,SQL Server service pack 中所提供的任何 hotfix 包含在下一步 SQL Server service pack。

SQL Server 2008 R2 CU9

累積更新套件 9 於 SQL Server 2008 R2 的第一次發行的修正這個問題。如需有關如何取得此累積更新套件的 SQL Server 2008 R2 的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2567713 SQL Server 2008 R2 的累積更新套件 9
附註因為組建是累計的每個新的修正程式版本會包含所有的 hotfix,並且所有安全性修正程式先前的 SQL Server 2008 R2 隨附的修正版本。我們建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
981356 SQL Server 2008 R2 組建 SQL Server 2008 R2 發行之後所發行,

SQL Server 2008 R2 Service Pack 1 CU2

累積更新套件 2 於第一次發行的修正這個問題。如需有關如何取得此累積更新套件 SQL Server 2008 R2 sp1 的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2567714 累積更新套件 SQL Server 2008 R2 Service Pack 1 2
附註因為組建是累計的每個新的修正版本包含的所有 hotfix,並隨附於先前的 SQL Server 2008 R2 SP1 所有安全性修正程式會都修正版本。我們建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2567616 SQL Server 2008 R2 建置之後所發行的 SQL Server 2008 R2 Service Pack 1 所發行,

Hotfix 資訊

使用 Microsoft 的支援的 hotfix。然而,其目的只為修正問題這份文件中所述。此 hotfix 只適用於發生本文所述之問題的系統上。此 hotfix 可能會接受其他測試。因此,如果您不會嚴重受到這個問題,我們建議您等候下一個包含此 hotfix 的軟體更新。

如果此 hotfix 已開放下載,則 「 下載 Hotfix 」 區段中,在此知識庫文件的頂端。如果沒有出現這一節,請連絡 Microsoft 客戶服務及支援 」 取得 hotfix。

附註如果發生其他問題,或者需要進行疑難排解時,您可能必須建立個別的服務要求。收取支援費用會套用到其他支援問題,以及此特定 hotfix 無法解決的問題。如需完整清單的 「 Microsoft 客戶服務和支援的電話號碼,或建立個別的服務要求,請造訪下列 Microsoft 網站:
看到
附註「 下載 Hotfix 」 表單會顯示 hotfix 還是可以使用的語言。如果看不到您的語言,是因為 hotfix 未提供該語言。

必要條件

若要套用此 hotfix 之後,您必須安裝 SQL Server 2008 R2。

重新啟動需求

您並沒有套用此 hotfix 之後,重新啟動電腦。

其他注意事項

此 hotfix 不會取代先前發行的 hotfix。

檔案資訊

檔案屬性 (或較新的檔案屬性),此 hotfix 的全球版本具有下表所示。其日期和時間,這些檔案會列出在國際標準時間 (UTC)。當您檢視檔案資訊時,它會轉換為本地時間。若要查看 UTC 與當地時間的時差,請使用 時區 在 [定位點 日期和時間 在 [控制台] 中的項目。

摺疊此表格展開此表格
檔名檔案版本檔案大小日期時間平台
資料庫2009.100.1800.0121,829,2162011-08-年 7 月11: 55IA-64
資料庫2009.100.1800.062,027,6162011-08-年 7 月12: 28x64
資料庫2009.100.1800.042,911,5842011-08-年 7 月13: 22x86

狀況說明

Microsoft 已確認這是"適用於 」 一節所列出的 Microsoft 產品中的問題。

其他相關資訊

下表提供的產品或工具,可自動檢查您的 SQL Server 的執行個體,並依其規則會評估 SQL Server 產品的版本,這種情況的相關資訊。
摺疊此表格展開此表格
規則的軟體規則標題規則描述針對規則進行評估的產品版本
System Center 警告器SQL Server 資料庫檔案標記為疏鬆檔案
System Center 警告器會檢查這個 SQL Server 的執行個體是否包含資料庫檔案被標記為疏鬆。資料庫快照集檔案中應該標記為檔案。如果標準的資料庫檔案被標記為疏鬆,警告器會產生警示。警告器] 會依賴 is_sparse 中的資料行的類別目錄檢視 sys.master_files。檢閱警告器 」 的警示,「 收集資訊 」 一節中所提供,然後檢查疏鬆 OS 層級對受影響的檔案狀態的詳細資料。清除 OS 疏鬆狀態之後,您可以套用到重新整理 SQL Server 中繼資料,並與 OS 設定同步處理這份文件所述的 hotfix。

SQL Server 2008

SQL Server 2008 R2

SQL Server 2012

?考

如需有關 DBCC 命令的詳細資訊,請造訪下列 MSDN 網站:
DBCC 命令的一般資訊
如需有關Fsutil陳述式的詳細資訊,請造訪下列 MSDN 網站:
Fsutil 陳述式的一般資訊
如需有關這個問題,在 Windows Server 2003 的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
973886 您將無法還原大型檔案在 NTFS 檔案系統中刪除不含疏鬆屬性的所有資料流的 64 位元版本的 Windows XP SP2 中,或在 Windows Server 2003 SP2
932021 當您執行加上"chkdsk"命令的錯誤訊息"/ v"切換的 Windows Server 2003 電腦上:"Correcting 疏鬆檔案記錄區段 ' <number>'</number>

屬性

文章編號: 2574699 - 上次校閱: 2012年4月1日 - 版次: 3.0
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Workgroup
關鍵字:?
kbautohotfix kbqfe kbhotfixserver kbfix kbexpertiseadvanced kbsurveynew kbmt KB2574699 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:2574699
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

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