2013-11-22 169 views
0

我有SQL Server 2008 R2標準版3 TB數據。我的光盤已滿。我想縮小.mdf文件。我從我的數據庫中刪除了很多行。我發動SQL Server 2008數據庫收縮錯誤

DBCC SHRINKDATABASE(my_db, TRUNCATEONLY) 

我有錯誤

消息0,級別11,狀態0,0行
當前命令發生了嚴重錯誤。如果有的話,結果應該被丟棄。

我試圖在單用戶模式下完成結果是一樣的。我們將磁盤大小增加到4.5 TB並重試收縮,結果相同。

dbcc checkdb命令在db上顯示沒有錯誤。

有誰知道什麼是問題?

請幫忙

回答

0

您是否試過在MB中指定文件名和目標大小,例如:

DBCC SHRINKFILE('filename', 20); 

還是TRUNCATEONLY選項,它不會嘗試任何骯髒的東西像重組所有的物理數據:

DBCC SHRINKFILE('filename', TRUNCATEONLY); 

你也可以嘗試確保數據庫處於單用戶模式第一:

ALTER DATABASE db SET SINGLE_USER WITH ROLLBACK IMMEDIATE; 

...並關閉所有的備份/日誌備份或其他維護工作可能與您的收縮操作衝突。

+0

謝謝你的回答。是的,我嘗試過指定文件大小。而且我沒有任何備份或任何其他工作。我也嘗試過單用戶模式。但沒有成功:( – ali

+0

)您嘗試過使用'DBCC SHRINKFILE'而不是'DBCC SHRINKDATABASE'嗎? – Raj

+0

我試過3個變體。 ,truncateonly);沒有reuslts – ali