徵狀
請試想下列案例:
-
您有包含多個檔組的 Microsoft SQL Server 2012 或較舊版本的資料庫,次要檔組是預設的檔組。
-
您備份資料庫,然後在 SQL Server 2014 上將其還原。
-
您將主要的檔組設定為預設的檔組,然後嘗試移除次要的檔組。
在這種情況下,即使所有資料檔案都已刪除,您也無法刪除次要檔案組。 錯誤訊息顯示無法移除次要檔組,因為它不是空白的。
原因
發生這個問題的原因是,資料庫版本升級在預設的檔組(而不是在 SQL Server 2014 中的主要檔組)上建立系統物件。 次要檔組仍包含一些系統物件。
解決方案
這個修正程式引入 [追蹤標誌 3861],將系統表格移至主要的檔組。在您套用本文所述的修復程式後,當您使用 trace 旗3861作為啟動參數來啟動 SQL Server 時,它可以將系統資料表移至主要的檔組。如果您還沒有還原資料庫備份,您可以在伺服器層級啟用追蹤標誌:
dbcc traceon(3861,-1)<Restore the database>dbcc traceoff(3861,-1)
此問題最初是在 SQL Server 的後續累積更新中修正。
SQL Server 2014 的累積更新4 /en-us/help/2999197
每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新:
狀態
Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。