备份sql语句如下

 

  1. --SQL备份所有数据库脚本  
  2.  
  3. declare @CurrentDataBaseName nvarchar(100)  
  4.  
  5. declare @CurrentBackFolder nvarchar(200)  
  6.  
  7. declare @CurrentBackString nvarchar(2000)  
  8.  
  9.    
  10.  
  11. set @CurrentBackFolder='D:\Test'--这里是备份的目录,所有数据库都备份到这个目录  
  12.  
  13. --查询所有数据库名称  
  14.  
  15. --select * from   master..sysdatabases   where   dbid>=7  
  16.  
  17. declare tb cursor local for select name from master..sysdatabases   where   dbid>=7;  
  18.  
  19. open tb   
  20.  
  21. fetch next from tb into @CurrentDataBaseName  
  22.  
  23. while @@fetch_status=0  
  24.  
  25. begin 
  26.  
  27.  --备份当前查询到的数据库到指定目录  
  28.  
  29.  set @CurrentBackString='  
  30.     USE [master]  
  31.     BACKUP DATABASE ['+@CurrentDataBaseName+']  TO DISK = '''+ @CurrentBackFolder+'\'+@CurrentDataBaseName+convert(varchar(50),getdate(),112)+'.bak'' WITH NOFORMAT, NOINIT,NAME ='''+@CurrentDataBaseName+'-完整数据库备份'',SKIP, NOREWIND, NOUNLOAD;';  
  32.  print @CurrentBackString;  
  33.  
  34.  exec sp_executesql @CurrentBackString;  
  35.  
  36. print '备份数据库'+@CurrentDataBaseName +'完成';  
  37. fetch next from tb into @CurrentDataBaseName  
  38. end 
  39. close tb  
  40. deallocate tb  
  41. print '备份所有数据库完成' 
  42. --SQL备份所有数据库脚本结束  

 注意:代码中的第11行备份目录,备份前确保目录存在