--SQL2008将日志文件收缩到指定的目标大小
--以下示例将 enjoy_store数据库中的日志文件收缩到 1 MB。
--若要允许 DBCC SHRINKFILE 命令收缩文件,首先需要通过将数据库恢复模式设置为 SIMPLE 来截断该文件。
USE enjoy_store;
GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE enjoy_store
SET RECOVERY SIMPLE;
GO
-- Shrink the truncated log file to 1 MB.
DBCC SHRINKFILE (enjoy_store_log, 1);
GO
-- Reset the database recovery model.
ALTER DATABASE enjoy_store
SET RECOVERY FULL;
GO
补充一下:
/*
使用命令 DBCC SHRINKFILE 收缩单个 tempdb 文件。DBCC SHRINKFILE 比 DBCC SHRINKDATABASE 提供更多的灵活性,
因为您可以对单个数据库文件使用它而不必影响属于同一数据库的其他文件。DBCC SHRINKFILE 接收 target size 参数,
这是所需的数据库文件的最终大小。
重要说明:必须在 tempdb 数据库不发生任何活动时运行 DBCC SHRINKFILE 命令。
要确保在执行 DBCC SHRINKFILE 时其他进程不能使用 tempdb,必须以单用户模式重新启动 SQL Server。
有关 DBCC SHRINKFILE 的更多信息,请参见本文中在使用 Tempdb 时执行 DBCC SHRINKDATABASE 或 DBCCSHRINKFILE 的结果 一节。
确定主数据文件 (tempdb.mdf)、日志文件 (templog.ldf) 和/或添加到 tempdb 的其他文件的所需大小。
确保在这些文件中使用的空间小于或等于所需的目标大小。 用查询分析器连接到 SQL Server,
然后为需要收缩的特定数据库运行下列 Transact-SQL 命令:
*/
use tempdb
go
dbcc shrinkfile (tempdev,5)
go
-- this command shrinks the primary data file
dbcc shrinkfile (templog,1)
go
-- this command shrinks the log file, look at the last paragraph.
可以收缩数据库enjoy_shq_1.mdf文件