Applies To
SQL Server 2008 Service Pack 3 SQL Server 2008 Enterprise SQL Server 2008 Developer SQL Server 2008 Express SQL Server 2008 Standard

徵兆

當你在 Microsoft SQL Server 2008 R2 或 Microsoft SQL Server 2008 資料庫中使用檔案的邏輯名稱執行 dbcc shrinkfile 陳述式時,可能會收到以下錯誤訊息:

Msg 8985,16 級,狀態 1,第2行 無法找到sys.database_files中資料庫「test」的檔案「test_log_issue_log」。 該檔案要麼不存在,要麼已被刪除。

解決方案

服務包資訊

要解決此問題,請應用 Microsoft SQL Server 2008 SP4。 欲了解更多如何取得 SQL Server 2008 SP4 的資訊,請點擊以下文章編號以瀏覽 Microsoft 知識庫中的文章:

2979596 SQL Server 2008 Service Pack 4 發布資訊

熱修正資訊

SQL Server 2008 SP3 熱修補

Microsoft 已提供支援的熱修補程式。 不過,這個熱修正僅針對本文所述的問題進行修正。 只對遇到此問題的系統套用熱修補。 如果熱修補程式可供下載,知識庫文章頂部有一個「熱修補程式下載可用」區塊。 若此區塊未出現,請向 Microsoft 客服與支援部門提交申請以取得熱修正。 注意:如果發生其他問題或需要排除故障,您可能需要另行申請服務。 一般的支援費用將適用於不符合本次熱修正範圍的其他支援問題與問題。 欲查詢完整的 Microsoft 客服與支援電話號碼清單,或建立獨立服務請求,請造訪以下 Microsoft 網站:

http://support.microsoft.com/contactus/?ws=support注意「熱修正程式下載中」表單顯示該熱修正程式可用的語言。 如果你看不到你的語言,那是因為該語言沒有熱修正。

累積更新資訊

累積更新8 for SQL Server 2008 R2 Service Pack 2

此問題的修正最早於累積更新 8 中釋出。 欲了解更多如何取得 SQL Server 2008 R2 服務包 2 累積更新套件的資訊,請點擊以下文章編號以瀏覽 Microsoft 知識庫中的文章:

2871401 SQL Server 2008 R2 Service Pack 2 累積更新包 8 備註:由於建置是累積式的,每個新修正版本都包含了先前 SQL Server 2008 R2 Service Pack 2 修正版本中包含的所有熱修補與安全修補。 我們建議您考慮套用包含此熱修正的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2730301 SQL Server 2008 R2 建置版本是在 SQL Server 2008 R2 服務包 2 發布之後推出的

狀態

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

因應措施 

要解決這個問題,可以在 dbcc shrinkfile 語句中使用 file_id。 要取得檔案 ID,請使用FILE_IDEX系統功能或查詢目前資料庫中的sys.database_files目錄檢視。

其他相關資訊

欲了解更多如何使用 dbcc shrinkfile 語句的資訊,請造訪以下 TechNet 網站:

如何使用「dbcc shrinkfile」這個語句欲了解更多如何使用FILE_IDEX系統功能,請造訪以下 TechNet 網站:

如何使用FILE_IDEX系統函數

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。