sql 2008 不支持 BACKUP LOG WITH NO_LOG 和 BACKUP LOG WITH TRUNCATE_ONLY--如果要截断日志收缩文件,可以这样:
DECLARE @I INT SET @I=1
WHILE @I<3
BEGIN
BACKUP LOG [库名] TO DISK = N'c:\log.bak'
DBCC SHRINKDATABASE('库名')
SET @I=@I+1
END
--或收缩指定日志文件:
DECLARE @I INT SET @I=1
WHILE @I<3
BEGIN
BACKUP LOG [库名] TO DISK = N'c:\log.bak'
DBCC SHRINKFILE(日志文件)
SET @I=@I+1
END
DECLARE @I INT SET @I=1
WHILE @I<3
BEGIN
BACKUP LOG [库名] TO DISK = N'c:\log.bak'
DBCC SHRINKDATABASE('库名')
SET @I=@I+1
END
--或收缩指定日志文件:
DECLARE @I INT SET @I=1
WHILE @I<3
BEGIN
BACKUP LOG [库名] TO DISK = N'c:\log.bak'
DBCC SHRINKFILE(日志文件)
SET @I=@I+1
END
消息 4208,级别 16,状态 1,第 5 行
当恢复模式为 SIMPLE 时,不允许使用 BACKUP LOG 语句。请使用 BACKUP DATABASE 或用 ALTER DATABASE 更改恢复模式。
消息 3013,级别 16,状态 1,第 5 行
BACKUP LOG 正在异常终止。
DBCC SHRINKDATABASE: 已跳过数据库 ID 7 的文件 ID 1,因为该文件没有足够的可用空间可以回收。(3 行受影响)
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
消息 4208,级别 16,状态 1,第 5 行
当恢复模式为 SIMPLE 时,不允许使用 BACKUP LOG 语句。请使用 BACKUP DATABASE 或用 ALTER DATABASE 更改恢复模式。
消息 3013,级别 16,状态 1,第 5 行
BACKUP LOG 正在异常终止。
DBCC SHRINKDATABASE: 已跳过数据库 ID 7 的文件 ID 1,因为该文件没有足够的可用空间可以回收。
DBCC SHRINKDATABASE: 已跳过数据库 ID 7 的文件 ID 3,因为该文件没有足够的可用空间可以回收。
DBCC SHRINKDATABASE: 已跳过数据库 ID 7 的文件 ID 2,因为该文件没有足够的可用空间可以回收。(1 行受影响)
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
消息 4208,级别 16,状态 1,第 5 行
当恢复模式为 SIMPLE 时,不允许使用 BACKUP LOG 语句。请使用 BACKUP DATABASE 或用 ALTER DATABASE 更改恢复模式。
消息 3013,级别 16,状态 1,第 5 行
BACKUP LOG 正在异常终止。
消息 8985,级别 16,状态 1,第 6 行
在 sys.database_files 中找不到数据库 'test' 的文件 '日志文件'。该文件不存在或者已被删除。
消息 4208,级别 16,状态 1,第 5 行
当恢复模式为 SIMPLE 时,不允许使用 BACKUP LOG 语句。请使用 BACKUP DATABASE 或用 ALTER DATABASE 更改恢复模式。
消息 3013,级别 16,状态 1,第 5 行
BACKUP LOG 正在异常终止。
消息 8985,级别 16,状态 1,第 6 行
在 sys.database_files 中找不到数据库 'test' 的文件 '日志文件'。该文件不存在或者已被删除。
你都simple模式了,还backup log 啊??
在简单恢复模式下,在每个数据备份后事务日志将自动截断,也就是说,不活动的日志将被删除。因为经常会发生日志截断,所以没有事务日志备份。