Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server 2008数据库收缩错误_Sql Server - Fatal编程技术网

Sql server SQL Server 2008数据库收缩错误

Sql server SQL Server 2008数据库收缩错误,sql-server,Sql Server,我有SQL Server 2008 R2标准版,数据容量为3 tb。我的光碟满了。我想缩小.mdf文件。我已经从数据库中删除了许多行。然后我发射 DBCC SHRINKDATABASE(my_db, TRUNCATEONLY) 我出错了 消息0,级别11,状态0,第0行 当前命令发生严重错误。如果有结果,则应放弃 我试着在单用户模式下做,结果是一样的。我们已将磁盘大小增加到4.5 tb,并重试缩小,结果是一样的 dbcc checkdb命令显示数据库没有错误 有人知道问题出在哪里吗 请帮助您是

我有SQL Server 2008 R2标准版,数据容量为3 tb。我的光碟满了。我想缩小
.mdf
文件。我已经从数据库中删除了许多行。然后我发射

DBCC SHRINKDATABASE(my_db, TRUNCATEONLY)
我出错了

消息0,级别11,状态0,第0行
当前命令发生严重错误。如果有结果,则应放弃

我试着在单用户模式下做,结果是一样的。我们已将磁盘大小增加到4.5 tb,并重试缩小,结果是一样的

dbcc checkdb
命令显示数据库没有错误

有人知道问题出在哪里吗


请帮助

您是否尝试过以MB为单位指定文件名和目标大小,例如

DBCC SHRINKFILE('filename', 20);
或者TRUNCATEONLY选项,它不尝试任何讨厌的事情,比如重新组织所有物理数据:

DBCC SHRINKFILE('filename', TRUNCATEONLY);
此外,您还可以先尝试确保数据库处于单用户模式:

ALTER DATABASE db SET SINGLE_USER WITH ROLLBACK IMMEDIATE;

…并关闭可能与shrink操作冲突的任何备份/日志备份或其他维护作业

谢谢你的回答。是的,我试过指定文件大小。我不做任何备份或其他工作。我还尝试了单用户模式。但是没有成功:(你试过用
DBCC-SHRINKFILE
代替
DBCC-SHRINKDATABASE
?我试过3种变体。DBCC-SHRINKDATABASE(db,70);DBCC-SHRINKDATABASE(sgsn,truncateonly);DBCC-SHRINKDATABASE(sgsn,70,truncateonly);没有重用我试过
DBCC-SHRINKFILE
代替SHRINKDATABASE,结果是一样的