最近碰到了个问题,麻烦各位大侠给指点一二,公司原来的数据库用的是SQL2000 后来才升级成2005的,小弟本来对数据库都不熟悉,就把数据库设置成自动备份,备份设置成每天一备份,然后备份后生成的文件覆盖原来备份的文件 (例如 今天的文件大小是10G,明天备份数据库的时候文件大小还是10G,不要成了20G的,呵呵) 就按这个步骤走

解决方案 »

  1.   

    你这样只保留一天的备份文件?
    BACKUP DATABASE DB TO DISK='C:\DB.BAK' WITH FORMAT ,INIT 
      

  2.   

    --镜像备份
    BACKUP DATABASE Northwind
    TO DISK='D:\DataBackup\NorthwindBackup.BAK'
    MIRROR TO DISK='E:\DataBackup\NorthwindBackup.BAK'
    WITH FORMAT--压缩备份
    BACKUP DATABASE Northwind
    TO DISK='D:\DataBackup\NorthwindBackup.BAK'
    WITH COMPRESSION
      

  3.   

    http://blog.csdn.net/claro/archive/2009/08/18/4458417.aspx
      

  4.   

    2楼的说的也就是我现在所用的方法,但是现在所备份的是 一天一个10G的文件 ,我搁几天都得删除一次,怎么才能设置成 每次备份就把上次备份的文件覆盖了,也就是几天备份文件的大小事10G,明天还是10G呢 ?
      

  5.   

    SQL SERVER2005 自动 定时备份数据库2010-07-14 15:35一。SqlServer自动作业备份 
    1、打开SQL Server Management Studio2、启动SQL Server代理3、点击作业->新建作业4、"常规"中输入作业的名称5、新建步骤,类型选T-SQL,在下面的命令中输入下面语句DECLARE @strPath NVARCHAR(200)
    set @strPath = convert(NVARCHAR(19),getdate(),120)
    set @strPath = REPLACE(@strPath, ':' , '.')
    set @strPath = 'D:\bak\' + 'databasename'+@strPath + '.bak'
    BACKUP DATABASE [databasename] TO DISK = @strPath WITH NOINIT , NOUNLOAD , NOSKIP , STATS = 10, NOFORMAT(D:\bak\改为自己的备份路径,databasename修改为想备份的数据库的名称)6、添加计划,设置频率,时间等。确定,完成。
                         这是我现在所用的备份方法,路径明明是在D:\bak\ ,但是我这边服务器上的备份文件是在D盘里放着,没有在D:\bak\ 这里面的  希望高手指点下 
      

  6.   

    --1
    DECLARE @strPath NVARCHAR(200)
    set @strPath = convert(NVARCHAR(19),getdate(),120)
    set @strPath = REPLACE(@strPath, ':' , '.')
    set @strPath = 'D:\bak\' + 'master'+@strPath + '.bak'
    BACKUP DATABASE [master] TO DISK = @strPath WITH NOINIT , NOUNLOAD , NOSKIP , STATS = 10, NOFORMAT--result:
    已处理百分之 10。
    已处理百分之 20。
    已处理百分之 30。
    已处理百分之 40。
    已处理百分之 51。
    已处理百分之 60。
    已处理百分之 70。
    已处理百分之 81。
    已处理百分之 90。
    已为数据库 'master',文件 'master' (位于文件 1 上)处理了 608 页。
    已处理百分之 100。
    已为数据库 'master',文件 'mastlog' (位于文件 1 上)处理了 3 页。
    BACKUP DATABASE 成功处理了 611 页,花费 0.595 秒(8.016 MB/秒)。--2
    master..xp_cmdshell 'dir D:\bak'
    --result:
    2010/11/20  14:53         5,068,288 master2010-11-20 14.53.37.bak--3
    master..xp_fileexist 'D:\bak\master2010-11-20 14.53.37.bak'
    --result:
    1 0 1
      

  7.   


    DECLARE @strPath NVARCHAR(200)
    --set @strPath = convert(NVARCHAR(19),getdate(),120)
    --set @strPath = REPLACE(@strPath, ':' , '.')
    set @strPath = 'G:\bak\' + 'NewReport.bak'
    print @strPath
    BACKUP DATABASE NewReport TO DISK = @strPath WITH  NOUNLOAD , STATS = 10, FORMAT