跟大家分享一下怎么缩小ms sql 的日志,因为使用时间长了,日志会膨胀得很夸张,所以可以执行以下sql语句,非常安全,我反复测试过很多遍:
DUMP TRANSACTION 你的数据库名 WITH NO_LOG
BACKUP LOG 你的数据库名 WITH NO_LOG
DBCC SHRINKDATABASE(你的数据库名)
EXEC sp_dboption '你的数据库名', 'autoshrink', 'TRUE'
http://www.cnblogs.com/unruledboy/archive/2005/05/11/153034.html
一. SQL Server 2008 收缩日志
(1) 使用SQL管理器收缩日志
第一步执行如下命令
ALTER DATABASE platform SET RECOVERY SIMPLE GO
第二步使用SQL管理器:选择要收缩的数据库-->任务-->收缩-->文件
输入文件收缩到:* 大小,点击确认
第三步执行如下命令
ALTER DATABASE platform SET RECOVERY FULL GO
以上操作是以 platform数据库为示例,在操作的过程中替换数据库名即可
(2) 使用SQL语句执行数据库日志收缩
USE master GO ALTER DATABASE platform SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE platform SET RECOVERY SIMPLE GO USE platform GO DBCC SHRINKFILE (N'platform_Log' , 2, TRUNCATEONLY) GO USE master GO ALTER DATABASE platform SET RECOVERY FULL WITH NO_WAIT GO ALTER DATABASE platform SET RECOVERY FULL GO
通过以上命令可以将数据库日志文件收缩到2M,
DBCC SHRINKFILE (N'platform_Log' , 2, TRUNCATEONLY) 指定收缩的日志文件名,以及收缩到的大小
二. SQL Server 2005 收缩日志
清空日志
DUMP TRANSACTION platform WITH NO_LOG
收缩数据库日志文件
DBCC SHRINKFILE ('platform_Log',1)
截断事务日志
BACKUP LOG platform WITH NO_LOG