-- 最简单的方法, 让备份文件名循环就好了DECLARE @bkfile nvarchar(1000)
SET @bkfile = 'c:\bak\backup_'
+ RTRIM(DATEDIFF(day, 0, GETDATE()) % 2)
+ '_' + STUFF(CONVERT(char(5), GETDATE(), 108), 3, 1, '')
+ '.bak'
BACKUP DATABASE 库名 TO DISK = @bkfile
WITH DIFFERENTIAL, FORMAT
SET @bkfile = 'c:\bak\backup_'
+ RTRIM(DATEDIFF(day, 0, GETDATE()) % 2)
+ '_' + STUFF(CONVERT(char(5), GETDATE(), 108), 3, 1, '')
+ '.bak'
BACKUP DATABASE 库名 TO DISK = @bkfile
WITH DIFFERENTIAL, FORMAT
解决方案 »
- 请问下面两条SQL语句的区别在哪?
- 安装 2005 问题
- SQL server 老是自动停止??????????(当天结贴)
- 我用DBCC CheckTable檢查數據庫表出現如下信息,請問大家如何修復。(在線式的我不敢動呀)
- sql插入问题
- 安装winxp sp2后,sql2000不能用的问题
- 关于文本文件数据导入的问题?(SQL SERVER 2005)
- 紧急求助,记录集在查询器中实现(在线等待)
- 数据更新问题,急!在线等!
- 谁有vc与数据库接口的源代码[email protected]急急急!!!!
- 奇怪的全局临时表无故丢失的问题
- sql创建access表怎样设置表的默认值(default使用报错)
那怎么删除CREATE proc p_backupdb
@dbname sysname='', --要备份的数据库名称,不指定则备份当前数据库
@bkpath nvarchar(260)='', --备份文件的存放目录,不指定则使用SQL默认的备份目录
@bkfname nvarchar(260)='', --备份文件名,文件名中可以用\DBNAME\代表数据库名,\DATE\代表日期,\TIME\代表时间
@bktype nvarchar(10)='DB', --备份类型:'DB'备份数据库,'DF' 差异备份,'LOG' 日志备份
@appendfile bit=1 --追加/覆盖备份文件
as
declare @sql varchar(8000)
if isnull(@dbname,'')='' set @dbname=db_name()
if isnull(@bkpath,'')='' set @bkpath=dbo.f_getdbpath(null)
if isnull(@bkfname,'')='' set @bkfname='\DBNAME\_\DATE\_\TIME\.BAK'
set @bkfname=replace(replace(replace(@bkfname,'\DBNAME\',@dbname)
,'\DATE\',convert(varchar,getdate(),112))
,'\TIME\',replace(convert(varchar,getdate(),108),':',''))
set @sql='backup '+case @bktype when 'LOG' then 'log ' else 'database ' end +@dbname
+' to disk='''+@bkpath+@bkfname
+''' with '+case @bktype when 'DF' then 'DIFFERENTIAL,' else '' end
+case @appendfile when 1 then 'NOINIT' else 'INIT' end
print @sql
exec(@sql)
GO我是用这个方法备份的
可是我的问题是,怎么去删除这些备份的数据,如果通过数据哭维护计划 创建的数据库备份作业可以带删除多少前以前的数据,可是通过你这个作业备份,怎么带删除命令进去
exec p_backupdb @dbname='xxxdata',@bkpath='F:\databak\xxxdata\'
exec p_backupdb @dbname='xxxdata',@bkpath='F:\databak\xxxdata\',@bktype='DF'
MS SQLSERVER数据库管理提供:一、SQL备份恢复(包括本地备份和远程备份)。 二、SQL与第三方数据格式(EXCEL,ACCESS,DBF,TXT,远程MS SQLSERVER)导入导出 三、SQL语句查询、查询结果报表打印、执行语句提交 四、SQL编程资料参考。CSDN下载:
数据库开发助手(DBDevTools V4.5)
http://down.csdn.net/kfgj/other/14512.html
在你的作业中, 再增加一个步骤, 这个步骤来完成删除, 这样, 把删除处理放在这个步骤中就行了.
我就是希望你给我这个删除处理的操作代码,,
在作业中删除文件的方法, 不外乎两种:
1. xp_cmdshell 'del xx文件'
2. 作业的子系统使用cmdexec, 直接写 del 文件名 命令删除.而我之前是建议你不要用时间做文件名, 而是让生成的文件名自动循环, 相当于:
文件名1
文件名2
...
文件名24 -- 到了这个文件名后, 下一个文件名又变成文件名1, 这样通过备份语句中设置format选项, 就可以覆盖最早生成的文件名1