2013-11-22 139 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