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.
意味着你的数据库处于“伪完整”恢复中,在有人进行完整备份之前,没有办法也不需要进行日志备份,并且日志在每个检查点后仍会被截断,就像在简单的恢复模型。
我有一个处于完全恢复模式的数据库,是我从备份文件恢复的
现在我想要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.
意味着你的数据库处于“伪完整”恢复中,在有人进行完整备份之前,没有办法也不需要进行日志备份,并且日志在每个检查点后仍会被截断,就像在简单的恢复模型。