Full备份一个46G的数据库,备份到80%时报错:10 percent processed.
20 percent processed.
30 percent processed.
40 percent processed.
50 percent processed.
60 percent processed.
70 percent processed.
80 percent processed.
Msg 3202, Level 16, State 2, Line 1
Write on "F:\MSSQL\Backup\DW_20121211.bak" failed: 33(The process cannot access the file because another process has locked a portion of the file.)
Msg 3013, Level 16, State 1, Line 1
BACKUP DATABASE is terminating abnormally.这个文件是没有被别的进程访问的,因为是新建的文件,而且服务器上没有别人登录。
备份脚本:
BACKUP DATABASE [DW] TO  DISK = N'F:\MSSQL\Backup\DW_20121211.bak' WITH  RETAINDAYS = 3, NOFORMAT, NOINIT,  NAME = N'DW-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO

解决方案 »

  1.   


    换过几次了,都是一样的错误,难道是数据库大了?但是46G对SQLServer来说小意思的
      

  2.   

    如果完全没人用,那先做备份,然后执行:
    select * from sys.sysprocesses where blocked<>0查查有没有数据,有的话证明有会话也在引用这个东西。然后用
    sp_who spid来看看这个是干嘛的,如果不重要就kill spid46G的确不是什么问题。
      

  3.   


    现在执行了备份脚本,select * from sys.sysprocesses where blocked<>0 没查到数据,不过DW这个数据库的确可能会有人访问,因为是生产系统的库,但不过DW_20121211.bak这个文件不会有人访问
      

  4.   

    用一个简单的command排除一下同时写文件的情况:
    BACKUP DATABASE [DW] TO  DISK = N'F:\MSSQL\Backup\DW_20121211_175200.bak' 
      

  5.   

    杀毒软件需要把sql server相关的文件夹和备份用的文件夹都排除掉以避免出现问题,你的问题需要排查原因。
      

  6.   


    怀疑是服务器分区设置的问题,启用了NTFS分区的压缩和索引属性,刚才把这2个取消后可以备份,但是速度很慢,看晚上的作业能不能成功