本文实例为大家分享SQL SERVER数据库备份的具体代码,供大家参考,具体内容如下

/**  批量循环备份用户数据库,做为数据库迁移临时用*/SET NOCOUNT ONDECLARE @d varchar(8) DECLARE @Backup_Flag NVARCHAR(10) SET @d=convert(varchar(8),getdate(),112) /***自定义选择备份哪些数据库****/--SET @Backup_Flag='UserDB'      -- 所用的用户数据库SET @Backup_Flag='AlwaysOnDB'    -- AlwaysOn 用户数据库CREATE TABLE #T (ID INT NOT NULL IDENTITY(1,1),SQLBak NVARCHAR(MAX) NOT NULL)IF @Backup_Flag='UserDB'BEGIN   INSERT INTO #T (SQLBak)  SELECT       'BACKUP DATABASE [' + name + '] TO DISK=''E:\Backup\' + NAME + '_Full_'+@d+'.bak'' WITH CHECKSUM,NOFORMAT,INIT,SKIP,COMPRESSION' AS 'SQLBak'  FROM  sys.databases  WHERE  database_id>4ENDIF @Backup_Flag='AlwaysOnDB' BEGIN   INSERT INTO #T (SQLBak)  SELECT       'BACKUP DATABASE [' + database_name + '] TO DISK=''E:\Backup\' + database_name + '_Full_'+@d+'.bak'' WITH CHECKSUM,NOFORMAT,INIT,SKIP,COMPRESSION' AS 'SQLBak'  FROM  sys.availability_databases_clusterENDDECLARE   @Minid INT ,  @Maxid INT ,  @sql VARCHAR(max)SELECT @Minid = MIN(id) ,    @Maxid = MAX(id)FROM  #TPRINT N'--打印备份脚本..........'WHILE @Minid <= @Maxid  BEGIN    SELECT @sql = SQLBak    FROM  #T    WHERE  id = @Minid ----exec (@sql)    PRINT ( @sql )    SET @Minid = @Minid + 1  ENDDROP TABLE #T

更多相关文章

  1. 《Android和PHP最佳实践》官方站
  2. android用户界面之按钮(Button)教程实例汇
  3. TabHost与RadioGroup结合完成的菜单【带效果图】5个Activity
  4. Android(安卓)UI开发第十七篇——Android(安卓)Fragment实例(Lis
  5. Android——Activity四种启动模式
  6. Android布局(序章)
  7. Android发送短信方法实例详解
  8. Android(安卓)读取资源文件实例详解
  9. android 蓝牙通讯

随机推荐

  1. 【Azure】两台Linux虚拟机挂载共享文件
  2. Linux QT5.2下编译MySQL5.6.7驱动
  3. Linux使用wget下载整站
  4. Linux下SVN服务器安装配置及客户端安装说
  5. Ubuntu(16.04.2)学习笔记(一)如何解决dpkg:
  6. 使用Bash编写Linux Shell脚本-9. 参数和
  7. REDIS从LINUX文件写入批量数据
  8. Android usb client mass-storage 多存储
  9. linux 命令 grep 不使用 正则表达式
  10. 第十章嵌入式Linux调试技术