SQL Server 2008收缩数据库

时间:2016-12-12 10:39:57

标签: sql-server sql-server-2008

我正在清理一个1 TB的数据库文件。我现在需要收缩这个文件。我目前正在执行此声明:

USE [DW_Zone]--databasename
GO

DBCC SHRINKDATABASE(N'DW_Zone')
GO

我试图缩小数据库,但现在已经运行了3天以上,问题是什么?

如果我停止此过程,那么对我的数据库有何影响?还有其他缩小这个数据库的方法吗?

请帮帮我......

2 个答案:

答案 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操作,并保留所有已完成的工作。