我正在清理一个1 TB的数据库文件。我现在需要收缩这个文件。我目前正在执行此声明:
USE [DW_Zone]--databasename
GO
DBCC SHRINKDATABASE(N'DW_Zone')
GO
我试图缩小数据库,但现在已经运行了3天以上,问题是什么?
如果我停止此过程,那么对我的数据库有何影响?还有其他缩小这个数据库的方法吗?
请帮帮我......
答案 0 :(得分:1)
我们只能缩小事务日志文件(.ldf)而不是数据(.mdf)。您可以使用以下查询来缩小相应的数据库。
USE [DBName]
GO
ALTER DATABASE [DBName] SET RECOVERY SIMPLE WITH NO_WAIT
DBCC SHRINKFILE(DB_log, 1)
ALTER DATABASE [DBName] SET RECOVERY FULL WITH NO_WAIT
GO
我们可以设置SQL作业,以便在日志文件达到最大大小(我们可以根据磁盘空间设置)时经常运行此查询。
答案 1 :(得分:0)
如果我停止此过程,那么对我的数据库有何影响?
可以在流程中的任何位置停止DBCC SHRINKDATABASE操作,并保留所有已完成的工作。