SQLServer2008,数据库事物日志已满的问题

在 sql server 2008 中截断日志, 是将数据库切换到 simple 恢复模式(alter database dbname set recovery simple), 再将数据库切换回原来的恢复模式(alter database dbname set recovery full)。 如果不需要日志备份,可以直接将数据库设置为 simple 恢复模式。这样可以由 sql server 自动截断日志。

 1 USE [master]
 2     GO
 3     ALTER DATABASE darchrowDB SET RECOVERY SIMPLE WITH NO_WAIT
 4     GO
 5     ALTER DATABASE darchrowDB SET RECOVERY SIMPLE   --简单模式
 6     GO
 7     USE darchrowDB 
 8     GO
 9     DBCC SHRINKFILE (N'darchrowDB_Log' , 11, TRUNCATEONLY)
10     GO
11     USE [master]
12     GO
13  
14     ALTER DATABASE darchrowDB SET RECOVERY FULL WITH NO_WAIT
15  
16     GO
17  
18     ALTER DATABASE darchrowDB SET RECOVERY FULL  --还原为完全模式
19  
20     GO

补充,如何数据日志不需要了,可以这样操作,先分离数据库,然后log文件删除,再数据库管理里面附加数据库,附加数据库的时候把附加日志删除。 这样数据库会自动创建一个日志为零的文件。

posted @ 2021-08-25 21:47  Amatutu  阅读(283)  评论(0)    收藏  举报