KB2877204 - 修正:當你在 2008 R2 或 SQL Server SQL Server 2008 中使用「dbcc shrinkfile」陳述式執行「dbcc shrinkfile」陳述句時,會 8985

套用到
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號線
找不到資料庫 'test' 的檔案 'test_log_issue_log' sys.database_files。 該檔案要麼不存在,要麼已被刪除。

        
      

解決方式

Service Pack 資訊

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

2979596 SQL Server 2008 年服務包 4 發布資訊

Hotfix 資訊

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 2008 R2 服務包 2 SQL Server累積更新包 注意:由於建置是累積式的,每個新修正版本都包含了先前 SQL Server 2008 R2 服務包 2 修正版本中包含的所有熱修正與安全修正。 我們建議您考慮套用包含此熱修正的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2730301 2008 R2 版本SQL Server在 2008 R2 服務包 2 發布後SQL Server

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

因應措施

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

更多資訊

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

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

如何使用FILE_IDEX系統函數