我正在尝试在 Sql Server 2008 R2 中运行以下命令:
DBCC SHRINKFILE('filename')
Run Code Online (Sandbox Code Playgroud)
当我尝试运行此命令时,出现以下错误:
Msg 0, Level 11, State 0, Line 0
A severe error occurred on the current command. The results, if any, should be discarded.
Run Code Online (Sandbox Code Playgroud)
谁能告诉我为什么会出现此错误以及如何解决此问题?
谢谢!
您是否尝试以 MB 为单位指定文件名和目标大小,例如
DBCC SHRINKFILE('filename', 20);
Run Code Online (Sandbox Code Playgroud)
或者 TRUNCATEONLY 选项,它不会尝试任何令人讨厌的事情,例如重新组织所有物理数据:
DBCC SHRINKFILE('filename', TRUNCATEONLY);
Run Code Online (Sandbox Code Playgroud)
您也可以先尝试确保数据库处于单用户模式:
ALTER DATABASE db SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
Run Code Online (Sandbox Code Playgroud)
...并关闭任何可能与收缩操作冲突的备份/日志备份或其他维护作业。如果它仍然发生,请对该数据库运行 CHECKDB 并让我们知道结果:
DBCC CHECKDB (db) WITH NO_INFOMSGS, ALL_ERRORMSGS;
Run Code Online (Sandbox Code Playgroud)
但作为旁注,您确实知道缩小是不好的,通常应该保留用于特殊事件和情况,对吗?
归档时间: |
|
查看次数: |
6068 次 |
最近记录: |