经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » MS SQL Server » 查看文章
SQL SERVER 数据库备份
来源:cnblogs  作者:吕忠峰  时间:2019/3/22 8:52:43  对本文有异议
  1. /**
  2. 批量循环备份用户数据库,做为数据库迁移临时用
  3. */
  4.  
  5. SET NOCOUNT ON
  6.  
  7. DECLARE @d varchar(8)
  8. DECLARE @Backup_Flag NVARCHAR(10)
  9. SET @d=convert(varchar(8),getdate(),112)
  10. /***自定义选择备份哪些数据库****/
  11. --SET @Backup_Flag='UserDB' -- 所用的用户数据库
  12. SET @Backup_Flag='AlwaysOnDB' -- AlwaysOn 用户数据库
  13.  
  14. CREATE TABLE #T (ID INT NOT NULL IDENTITY(1,1),SQLBak NVARCHAR(MAX) NOT NULL)
  15. IF @Backup_Flag='UserDB'
  16. BEGIN
  17.  
  18. INSERT INTO #T (SQLBak)
  19. SELECT
  20. 'BACKUP DATABASE [' + name + '] TO DISK=''E:\Backup\' + NAME + '_Full_'+@d+'.bak'' WITH CHECKSUM,NOFORMAT,INIT,SKIP,COMPRESSION' AS 'SQLBak'
  21. FROM sys.databases
  22. WHERE database_id>4
  23.  
  24. END
  25.  
  26.  
  27.  
  28. IF @Backup_Flag='AlwaysOnDB'
  29. BEGIN
  30.  
  31. INSERT INTO #T (SQLBak)
  32. SELECT
  33. 'BACKUP DATABASE [' + database_name + '] TO DISK=''E:\Backup\' + database_name + '_Full_'+@d+'.bak'' WITH CHECKSUM,NOFORMAT,INIT,SKIP,COMPRESSION' AS 'SQLBak'
  34. FROM sys.availability_databases_cluster
  35. END
  36.  
  37.  
  38.  
  39. DECLARE
  40. @Minid INT ,
  41. @Maxid INT ,
  42. @sql VARCHAR(max)
  43. SELECT @Minid = MIN(id) ,
  44. @Maxid = MAX(id)
  45. FROM #T
  46. PRINT N'--打印备份脚本..........'
  47.  
  48.  
  49. WHILE @Minid <= @Maxid
  50. BEGIN
  51. SELECT @sql = SQLBak
  52. FROM #T
  53. WHERE id = @Minid
  54. ----exec (@sql)
  55. PRINT ( @sql )
  56. SET @Minid = @Minid + 1
  57. END
  58.  
  59. DROP TABLE #T

原文链接:http://www.cnblogs.com/lvzf/p/10564890.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号