1、备份数据库
2、备份日志文件。
USE DATABASENAME; GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE DATABASENAME SET RECOVERY SIMPLE;
GO
-- Shrink the trun cated log file to 1 MB.
DBCC SHRINKFILE (DATABASENAME_Log, 1); GO
-- Reset the database recovery model.
ALTER DATABASE DATABASENAME SET RECOVERY FULL; GO
sql2008不再支持 BACKUP LOG 数据库名 WITH NO_LOG语句
备份截断日志。 能否给我这个命令
2008 跟2000命令不同
我用了很多2000的都提示失败
截断事务日志 sql2008 提示错误如下
BACKUP LOG 数据库名 WITH NO_LOG
Msg 3032, Level 16, State 2, Line 1
此语句不支持一个或多个选项(no_log)。请查阅文档以了解所支持的选项。
请帮忙给下 2008 下如何 截断事务日志的命令
事务日志截断
若要避免数据库的事务日志被填满,例行备份至关重要。在简单恢复模式下,备份了数据库后会自动截断日志,而在完整恢复模式下,只有备份了事务日志后方才截断日志。但是,截断过程有时也可能发生延迟。有关识别和应对各种延迟因素的信息,请参阅可能延迟日志截断的因素。
注意
BACKUP LOG WITH NO_LOG 和 WITH TRUNCATE_ONLY 选项已废止。使用完整恢复模式或大容量日志恢复模式时,如果必须删除数据库中的日志备份链,请切换至简单恢复模式。有关详细信息,请参阅有关从完整恢复模式或大容量日志恢复模式切换的注意事项。
有关常规日志截断的详细信息,请参阅事务日志截断。
http://msdn.microsoft.com/zh-cn/library/ms186865.aspx
liyihongcug
SQL SERVER 2008 中 BACKUP LOG WITH TRUNCATE_ONLY 已不再被支持,要收缩数据库日志,首先需要通过将数据库恢复模式设置为 SIMPLE 来截断该文件。
语句如下:
USE DATABASENAME; GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE DATABASENAME SET RECOVERY SIMPLE;
GO
-- Shrink the trun cated log file to 1 MB.
DBCC SHRINKFILE (DATABASENAME_Log, 1); GO
-- Reset the database recovery model.
ALTER DATABASE DATABASENAME SET RECOVERY FULL; GO
也可以通过图形界面来完成。
通过先备份日志,然后再收缩日志文件,如下: back database mydb to disk='mydb_bak'; dbcc shinkfile(mydb_log,10);--收缩至10m