分类目录

链接

2011 年 12 月
 1234
567891011
12131415161718
19202122232425
262728293031  

近期文章

热门标签

新人福利,免费薅羊毛

现在位置:    首页 > SQL Server > 正文
备份数据库,并按日期生成备份目录
SQL Server 暂无评论 阅读(2,231)
  1. /*
  2. --备份数据库,并按日期生成备份目录   
  3. --备份当前数据库
  4.     exec p_backupdb 
  5.  
  6. --*/
  7.  
  8. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_backupdb]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
  9. drop procedure [dbo].[p_backupdb]
  10. GO
  11.  
  12. create proc p_backupdb
  13. @dbname sysname='',            --要备份的数据库名称,不指定则备份当前数据库
  14. @bkfname nvarchar(260)='',    --备份文件名,文件名中可以用\DBNAME\代表数据库名,\DATE\代表日期,\TIME\代表时间
  15. @bkpath nvarchar(260)='c:\'    --备份文件的存放目录,在该目录下创建每天备份的目录
  16. as
  17.     declare @sql varchar(8000)
  18.     if isnull(@dbname,'')='' set @dbname=db_name()
  19.     if right(@bkpath,1)<>'\' set @bkpath=@bkpath+'\'
  20.     set @bkpath=@bkpath+convert(varchar,getdate(),112)+'\'
  21.     
  22.     --创建目录
  23.     set @sql='md '+@bkpath
  24.     exec master..xp_cmdshell @sql,no_output
  25.     
  26.     --备份处理
  27.     if isnull(@bkfname,'')='' set @bkfname='\DBNAME\_\DATE\.BAK'
  28.     set @bkfname=replace(replace(replace(@bkfname,'\DBNAME\',@dbname)
  29.         ,'\DATE\',convert(varchar,getdate(),112))
  30.         ,'\TIME\',replace(convert(varchar,getdate(),108),':',''))
  31.     set @sql='backup database '+@dbname
  32.         +' to disk='''+@bkpath+@bkfname+''''
  33.     exec(@sql)
  34. go

============ 欢迎各位老板打赏~ ===========

本文版权归Bruce's Blog所有,转载引用请完整注明以下信息:
本文作者:Bruce
本文地址:备份数据库,并按日期生成备份目录 | Bruce's Blog

发表评论

留言无头像?