sql server2008和2005差别较大,数据文件收缩方法如下:
ALTER DATABASE 数据库 SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE 数据库 SET RECOVERY SIMPLE --简单模式
GO
USE 数据库
GO
DBCC SHRINKFILE (N'数据库文件id' , 10, TRUNCATEONLY)
--'数据库文件id'是SELECT file_id, name FROM sys.database_files 查出来的
GO
ALTER DATABASE 数据库 SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE 数据库 SET RECOVERY FULL --还原为完全模式
GO
也可以先备份日志,再收缩:
USE 数据库;
GO
BACKUP LOG 数据库 TO DISK='e:/mylog.bak'
DBCC SHRINKFILE (N'数据库文件id', 10);
GO