SQL一键备份用户数据库

大家都知道,Ms Sql 有自动备份的功能,但如果由于某种原因不能自动备份,或者我们想手动备份的话,就可以用下边的sql语句来执行备份。

--------------------代码开始-------------

USE [master]

------删除旧数据-------------------------------------------------------------

DECLARE @delTime VARCHAR(100)

SET @delTime = CONVERT(VARCHAR(100), GETDATE(), 126) -----当前时间

EXECUTE MASTER.dbo.xp_delete_file 0,‘D:\DataBak‘,‘bak‘,@delTime,1

DECLARE @FILENAME VARCHAR(500)

DECLARE @DATABakPath VARCHAR(500)

DECLARE @DATABaseName VARCHAR(500)

DECLARE @DATAFullName VARCHAR(500)

SET @DATABakPath = ‘D:\DataBak\‘

DECLARE @temp TABLE(a INT, b INT, c INT)

DECLARE @exeText VARCHAR(100)

SET @FILENAME = REPLACE(

REPLACE(

REPLACE(CONVERT(VARCHAR, GETDATE(), 120), ‘-‘, ‘‘),

‘ ‘,

‘‘

),

‘:‘,

‘‘

) + ‘.bak‘

------------遍历所有用户数据库 进行备份-------------------------------------------------------------------

DECLARE My_Cursor CURSOR --定义游标

FOR

(

SELECT NAME

FROM   sys.databases

WHERE  NAME NOT IN (‘master‘, ‘msdb‘, ‘tempdb‘, ‘model‘,

‘ReportServerTempDB‘, ‘ReportServer‘)

) --查出需要的集合放到游标中

OPEN My_Cursor; --打开游标

FETCH NEXT FROM My_Cursor INTO @DATABaseName; --读取第一行数据

WHILE @@FETCH_STATUS = 0

BEGIN

SET @DATAFullName = @DATABakPath + @DATABaseName

SET @exeText = ‘mkdir ‘ + @DATAFullName --创建备份目录

EXEC xp_cmdshell @exeText,

no_output

SET @DATAFullName = @DATAFullName + ‘\‘ + @FILENAME + ‘‘

BACKUP DATABASE @DATABaseName TO DISK = @DATAFullName

FETCH NEXT FROM My_Cursor INTO @DATABaseName; --读取下一行数据

END

CLOSE My_Cursor; --关闭游标

DEALLOCATE My_Cursor; --释放游标

PRINT ‘-----------备份完成---------------------‘ + CONVERT(VARCHAR(100), GETDATE(), 126)+ ‘---------------‘

--------------------代码结束-------------

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-25 01:58:57

SQL一键备份用户数据库的相关文章

SQL点滴12—SQL Server备份还原数据库中的小把戏

原文:SQL点滴12-SQL Server备份还原数据库中的小把戏 备份数据库时出现一个不太了解的错误 ,错误信息“is formatted to support  1 media families, but 2 media families are expected according to the backup device specification”.如下图: 解决办法是首先选中击上一次备份的文件,点击Remove,去掉当前的备份文件,然后再点击OK备份.这样才能正确的备份.也在微软帮助

SQL Server 备份所有数据库代码

今天让我备份一下网上所有数据库,猛地一看,几百个呢, 坑爹呢,只好网上找找有没有简便的,没想到还真有 记下来,以后好用,哈哈... use master declare @DbName varchar(60) declare @BackSql varchar(1000) declare myCursor cursor for SELECT [name] FROM SYSDATABASES where [name] not in ('master','model','msdb','tempdb')

Sql语句备份Sqlserver数据库

BACKUP DATABASE [POS_YiZhuang]TODISK = N'C:\数据库\POS_YiZhuang2016-09-20-3.bak'WITHNAME = N'POS_YiZhuang - 备份',NOFORMAT, NOINIT, SKIP,STATS = 5 --POS_YiZhuang 为数据库名称--C:\数据库\POS_YiZhuang2016-09-20-3.bak 为数据库所在服务器的路径

备份MySQL数据库的命令

这篇文章主要介绍了mysql数据库备份常用语句,包括数据库压缩备份.备份多个MySQL数据库.备份多个MySQL数据库.将数据库转移到新服务器等语句 代码如下: mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql 备份MySQL数据库为带删除表的格式 备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库. 代码如下: mysqldump -–add-drop-tab

mysql用户管理、常用sql语句、mysql数据库备份恢复

mysql用户管理 1.新增用户user1,并设置密码为123456 mysql> grant all on *.* to 'user1'@'127.0.0.1' identified by '123456'; #创建user1用户并授予其所有权限"*.*"(通配符) #第一个*:表示所有的数据库 #第二个*:表示所有的表 #127.0.0.1表示来源IP,指的只有这个IP可以连接:'%':代表所有的ip #identified by 设置密码 2.对user1用户进行授权管理

MySQL常用操作(2)MySQL用户管理、常用sql语句、 MySQL数据库备份恢复

                MySQL用户管理 创建一个普通用户并且授权 1.grant all on *.* to 'user1' identified by 'passwd'; grant all on *.* to 'user1' identified by '123456'; (创建user1用户,all表示所有权限(读.写,增.删.改.查等):*.*,前面的*表示所有的数据库,后面的*表示所有的表:identified by后面跟密码,要用单引号''引起来) grant all o

53.mysql用户管理、常用sql语句、mysql数据库备份恢复

一..mysql用户管理 grant all on *.* to 'user1'@'127.0.0.1' identified by 'passwd'; //创建以127.0.0.1访问的用户user1,密码为passwd,对所有库的所有表拥有所有权限 grant SELECT,UPDATE,INSERT on db1.* to 'user2'@'192.168.127.1' identified by 'passwd'; //创建以192.168.133.1访问的user2用户,密码为pass

Linux centosVMware mysql用户管理、常用sql语句、mysql数据库备份恢复

一.mysql用户管理 grant all on *.* to 'user1'@'127.0.0.1' identified by 'mimA123'; 创建user1用户 使用user1登录 /usr/local/mysql/bin/mysql -uuser1 -pmimA123 -h127.0.0.1 变为localhost,不加-h也能登录 mysql> grant all on *.* to 'user1'@'localhost' identified by 'mimA123'; [[e

SQL Server 维护计划实现数据库备份(策略实战)

一.背景 之前写过一篇关于备份的文章:SQL Server 维护计划实现数据库备份,上面文章使用完整备份和差异备份基本上能解决数据库备份的问题,但是为了保障数据更加安全,我们需要再次完善我们的备份计划: 下面这篇文章主要加入了日志备份,并对设计备份的频率和设计命名规范等问题进行实战: 二.最佳实践 (一) 备份计划 1) 每周星期日的2:00:00执行数据库的完整备份: 2) 每周星期一至星期六每天的2:00:00执行数据库的差异备份: 3) 每天在8:00:00和23:59:59之间.每1小时