The transaction log for database 'dbname' is full due to 'LOG_BACKUP'.
xx庫的事務日志已滿,需要進行日志備份。
看了一下, 是一個不太重要的庫, 設定為了完整模式, 日志沒有日常的備份計劃, 但又限制了大小。
處理方式:
1. 先改恢複模式為簡單;
2. 收縮日志檔案。
為了便于操作, 将執行個體上所有的DB全部快速處理一遍:
EXEC sp_MSforeachdb '
if "?" not in (''master'',''msdb'',''tempdb'',''model'')
begin
DECLARE @sql NVARCHAR(MAX),@dataName VARCHAR(MAX),@logName VARCHAR(MAX)
SET @sql=''USE [master]
ALTER DATABASE [?] SET RECOVERY SIMPLE WITH NO_WAIT
ALTER DATABASE [?] MODIFY FILE ( NAME = N''''%data%'''', FILEGROWTH = 65536KB )
ALTER DATABASE [?] MODIFY FILE ( NAME = N''''%log%'''', MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
''
SELECT @dataName=s.name FROM [?].sys.sysfiles AS s WHERE s.groupid=1
SELECT @logName=s.name FROM [?].sys.sysfiles AS s WHERE s.groupid=0
SET @sql=REPLACE( REPLACE(@sql,''%data%'',@dataName),''%log%'', @logName)
PRINT @sql
EXEC(@sql)
end
'