小编Arv*_*ddk的帖子

SQL Server 备份失败。错误:3041,严重性:16,状态:1

首先,我对 stackexchange 很陌生,所以请耐心等待。

我正在运行 SQL Server 9.0.4060。

我的问题是:我的 SQL Server 备份在很多数据库上一直失败。

维护计划运行到不同的备份作业:

每天 20:30 进行 DIFF 备份,每周日 20:30 进行 FULL 备份。

对于无法完成备份的每个数据库,我收到这两个错误:

Date        06-11-2012 20:31:06
Log     SQL Server (Current - 07-11-2012 11:43:00)
Source      Backup
Message
BACKUP failed to complete the command BACKUP DATABASE (dbname) WITH DIFFERENTIAL. Check the backup application log for detailed messages.

Date        06-11-2012 20:31:06
Log     SQL Server (Current - 07-11-2012 11:43:00)
Source      Backup
Message
Error: 3041, Severity: 16, State: 1.
Run Code Online (Sandbox Code Playgroud)

额外的错误。

Date     06-11-2012 17:53:27 
Log      SQL Server …
Run Code Online (Sandbox Code Playgroud)

sql-server-2005 sql-server backup

12
推荐指数
2
解决办法
5万
查看次数

为所有用户创建的数据库设置简单恢复模式和收缩日志文件

我希望你能指出我正确的方向。我不是 T-SQL 的常客,但我做了一些谷歌搜索,并找到了下面的脚本。我稍微修正了脚本。

我希望脚本:

  1. 选择除系统 DB 之外的所有数据库。
  2. 将恢复设置为简单。
  3. 收缩每个 db(.ldf) 的日志文件,系统 db 除外

剧本:

USE MASTER
declare
@isql varchar(2000),
@dbname varchar(64)

declare c1 cursor for select name from master..sysdatabases where name not in ('master','model','msdb','tempdb','ReportServer','ReportServerTempDB')
open c1
fetch next from c1 into @dbname
While @@fetch_status <> -1
    begin
    select @isql = 'ALTER DATABASE @dbname SET RECOVERY SIMPLE'
    select @isql = replace(@isql,'@dbname',@dbname)
    print @isql
    exec(@isql)
    select @isql='USE @dbname checkpoint'
    select @isql = replace(@isql,'@dbname',@dbname)
    print @isql
    exec(@isql)
    select @isql='DBCC SHRINKFILE @dbname.ldf'
    select @isql …
Run Code Online (Sandbox Code Playgroud)

sql-server shrink sql-server-2012 transaction-log recovery-model

8
推荐指数
2
解决办法
2万
查看次数