自动备份sqlexpress 数据库脚本

Create PROCEDURE [dbo].[usp_BackupDatabase]
       @databaseName sysname,@backupPath nvarchar(255), @backupType CHAR(1)
AS
BEGIN
       SET NOCOUNT ON;  

       DECLARE @sqlCommand NVARCHAR(1000)
       DECLARE @dateTime NVARCHAR(20)  

       SELECT @dateTime = REPLACE(CONVERT(VARCHAR, GETDATE(),111),‘/‘,‘‘) +
       REPLACE(CONVERT(VARCHAR, GETDATE(),108),‘:‘,‘‘)   

       IF @backupType = ‘F‘
               SET @sqlCommand = ‘BACKUP DATABASE [‘ + @databaseName +
               ‘] TO DISK = ‘‘‘[email protected]+‘\‘ + @databaseName + ‘_Full_‘ + @dateTime + ‘.BAK‘‘‘  

       IF @backupType = ‘D‘
               SET @sqlCommand = ‘BACKUP DATABASE [‘ + @databaseName +
               ‘[ TO DISK = ‘‘‘[email protected]+‘\‘+ @databaseName + ‘_Diff_‘ + @dateTime + ‘.BAK‘‘ WITH DIFFERENTIAL‘ 

       IF @backupType = ‘L‘
               SET @sqlCommand = ‘BACKUP LOG [‘ + @databaseName +
               ‘[ TO DISK = ‘‘‘[email protected]+‘\‘ + @databaseName + ‘_Log_‘ + @dateTime + ‘.TRN‘‘‘  

       EXECUTE sp_executesql @sqlCommand
END

Backup.sql

批处理文件

SQLCMD.EXE -S .\SQLEXPRESS -E -i Backup.sql
@echo off
for /f "tokens=2 delims==" %%a in (‘wmic path win32_operatingsystem get LocalDateTime /value‘) do (
    set t=%%a
)
set Today=%t:~0,4%%t:~4,2%%t:~6,2%
set DBName=CRM_Test
rar a %DBName%_db_%Today%.rar %DBName%_Full_%Today%*.BAK

ping 127.0.0.1 -n 5
del %DBName%_Full_%Today%*.BAK

  

时间: 2024-09-27 04:28:54

自动备份sqlexpress 数据库脚本的相关文章

自动备份MYQL 数据库脚本

#!/bin/bash #数据库IP dbserver='127.0.0.1' #数据库用户名 dbuser='root' #数据密码 dbpasswd='********' #数据库,如有多个库用空格分开 dbname='back01' #备份时间 backtime=`date +%Y%m%d` #备份输出日志路径 logpath='/data/mysqlbak/' echo "################## ${backtime} ###########################

自动备份mysql数据库脚本

#!/bin/bash#auto backup any one or all db#by zhaoyanfeng#2017-8-15 11:17:54 #defined ALL_DB=`mysql -uroot -p123456 -e "show databases;"| grep -v Database | xargs -n 1`MYSQL_USER=rootMYSQL_PASSWD="123456"MYSQL_BACKUP_DIR=/home/zhaoyanfe

Shell脚本-----自动备份Mysql数据库

脚本的整体思路 1.定义需要的变量 2.利用for循环备份需要备份的库,并以库名-当天日期.sql命名,并记录相关日志 3.建立备份当天的日期的目录,向备份的Sql文件移动到该目录 4.压缩打包该目录,以节省空间,打包成功后删除该目录 5.备份目录只备份七天的数据库,第八天删除第一天的备份,目录只会存在连续七天的备份文件 6.查找备份目录下的.log日志文件,超过七天的删除 #!/bin/bash mysql_bin=/usr/local/tdoa/mysql/bin/mysqldump use

MySQL数据库的自动备份与数据库被破坏后的恢复(2)

测试自动备份正常运转与否(备份恢复的方法) 这里,以通过实际操作的过程来介绍问题出现后的恢复方法. [1] 当数据库被删除后的恢复方法 首先建立一个测试用的数据库. [[email protected] ~]# mysql -u root -p ← 用root登录到MySQL服务器 Enter password: ← 输入MySQL的root用户密码 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL conne

MySQL数据库的自动备份与数据库被破坏后的恢复(3)

[2] 当数据库被修改后的恢复方法 数据库被修改,可能存在着多方面的原因,被入侵.以及相应程序存在Bug等等,这里不作详细介绍.这里将只介绍在数据库被修改后,如果恢复到被修改前状态的方法. 具体和上面所述的“数据库被删除后的恢复方法”相类似.这里,测试用数据库接着使用刚刚在前面用过的test.这里为了使刚刚接触数据库的朋友不至于理解混乱,我们再次登录到MySQL服务器上确认一下刚刚建立的测试用的数据库test的相关信息. [[email protected] ~]# mysql -u root

MySQL数据库的自动备份与数据库被破坏后的恢复1

一.前言: 当数据库服务器建立好以后,我们首先要做的不是考虑要在这个支持数据库的服务器运行哪些受MySQL提携的程序,而是当数据库遭到破坏后,怎样安然恢复到最后一次正常的状态,使得数据的损失达到最小. 或者说,仅仅是数据库服务器的建立,只能说明它能做些什么,并不代表它能稳定的做些什么.灾难恢复的效率及全面性,也是系统的稳定性的一个准因素,尤其对于一个服务器系统. 这一节,介绍数据库自动备份以及数据库被破坏后的恢复的方法.在这里,我们使用mysqlhotcopy,并且定义一段Shell脚本来实现数

Linux 每天自动备份mysql数据库的方法

Linux 每天自动备份mysql数据库的方法 作者: 字体:[增加 减小] 类型:转载 linux下为了安全有时候需要自动备份mysql数据库,下面是具体的实现步骤. /usr/bin为mysql安装目录 建备份文件夹: mkdir mysql_data_bak 建脚本文件: touch autobackupmysql.sh 打开文件 vi autobackupmysql.sh 在脚本中加入如下内容: filename=`date +%Y%m%d` /usr/bin/mysqldump -op

CentOS下每天自动备份mysql数据库

每天自动备份mysql数据库的脚本,并且自动发送到你指定的邮箱面,这样vpser再也不会为丢失数据烦恼啦. mysqldump -uuser -ppassword –databases db1 db2 db3 > /home/website/backups/databackup.sql tar zcf /home/website/backups/databackup.sql.tar.gz /home/website/backups/ echo "主题:数据库备份" |mutt  

自动备份mysql数据库并发送到Email方法

一个博客,一个网站最重要的就是数据库,所以经常备份数据是必须的.尽管 WordPress 有定时备份数据的插件,但只能备份当前的博客,不够灵活.适合个人小小博客,对于一些网站来说,就不适合了.现在很多人都拥有多个网站,showfom 同学就有几个网站.每个网站都装个插件就比较麻烦了.况且不是每个网站都是 WordPress 的 . 所以写了个自动备份mysql数据库的脚本,再加上gmail这个G级邮箱,备份多少数据都可以了...下面是代码: mysqldump -uuser -ppassword