有时,需要减小sql server中log文件的尺寸,对于MS SQL Server 2005以及MS SQL Server 2000来说,可以这样操作:
首先
use [数据库名称];
exec sp_helpfile;
使用sp_helpfile查询可知道log 文件的逻辑名称,然后就可以利用DBCC来减小LOG文件
BACKUP LOG [数据库名] WITH TRUNCATE_ONLY
dbcc shrinkfile ([log文件的逻辑名称],1)
这个方法在MS SQL Server 2008 以及MS SQL Server 2008 R2中不再适用,会提示:TRUNCATE_ONLY is not a valid BACKUP option.
应当采取这样的操作方法:
-- 首先把数据库的恢复模式改为Simple
ALTER DATABASE [数据库名] SET RECOVERY SIMPLE;
GO
-- 缩小log文件至1M,逻辑名称可以通过sp_helpfile拿到
DBCC SHRINKFILE ([log文件逻辑名称], 1);
GO
-- 重置数据库的恢复模式
ALTER DATABASE [数据库名] SET RECOVERY FULL;
GO