SQL 服务器清除事务日志

SQL Server Clear transaction log

我有一个处于完全恢复模式的数据库,是我从备份文件恢复的

现在我想要clear/truncate 事务日志文件。 我该怎么做。

第 1 步我尝试使用

备份事务日志
BACKUP LOG [test] TO  DISK

但我收到错误消息:

BACKUP LOG cannot be performed because there is no current database backup.

如果我想让数据库保持完全恢复模式,我应该如何清除转换日志

一种解决方案是使用数据库菜单中的收缩数据库文件。

另一个正在使用一些脚本(将 dbname 更改为您的数据库名称):

ALTER DATABASE dbname
SET RECOVERY SIMPLE;  
GO  
-- Shrink the truncated log file to 1 MB.  
DBCC SHRINKFILE (dbname_Log,10);  
GO  
-- Reset the database recovery model.  
ALTER DATABASE dbname
SET RECOVERY FULL;  
GO  

这个:

BACKUP LOG cannot be performed because there is no current database backup.

意味着你的数据库处于“伪完整”恢复中,在有人进行完整备份之前,没有办法也不需要进行日志备份,并且日志在每个检查点后仍会被截断,就像在简单的恢复模型。