A.收缩数据文件到指定的目标大小
下面的示例中, 名为 DataFile1 7 MB 的的USERDB用户数据 库中的数据文件的大小变小。
使用USERDB; GO DBCC SHRINKFILE(DataFile1 7); GO
B.收缩日志文件到指定的目标大小
下面的例子收缩到1 MB 的AdventureWorks数据库中的日志文件。要允许DBCC SHRINKFILE命令收缩文件,该文件是首先通过设置数据库恢复模式设置为SIMPLE截断。
使用AdventureWorks2012; GO - 截断日志更改数据库恢复模式设置为SIMPLE。 ALTER DATABASE AdventureWorks2012 设置恢复简单; GO - 截断日志文件收缩到1 MB。 DBCC SHRINKFILE(AdventureWorks2012_Log,1); GO - 重置数据库恢复模型。 ALTER DATABASE AdventureWorks2012 设置恢复满; GO
C.截断数据文件
下面的示例截断AdventureWorks数据库的主数据文件中。sys.database_files中的目录视图查询以获得数据文件的file_id。
使用AdventureWorks2012; GO 选择的file_id,名称 从sys.database_files中; GO DBCC SHRINKFILE(1 TRUNCATEONLY);
D.清空文件
下面的示例演示排空文件,以便它可以从数据库中删除的程序。对于本实施例的目的,首先创建一个数据文件,并假定该文件中包含的数据处理。
使用AdventureWorks2012; GO - 创建一个数据文件,并假设它包含的数据。 ALTER DATABASE AdventureWorks2012 添加文件( NAME = Test1data, 文件名='C:\ t1data.ndf' SIZE = 5MB ); GO - 空的数据文件。 DBCC SHRINKFILE(Test1data,EMPTYFILE); GO - 从数据库中删除的数据文件。 ALTER DATABASE AdventureWorks2012 移除档案Test1data; GO