自动备份mssql server数据库并压缩的批处理脚本

1. set bakupfolder=F:\backup\
备份文件存放于目录F:\backup\ (此目录需要事先建好)
2. 默认每个数据库放置到bakupfolder下的同名的子目录(脚本自动创建)中;设置lay_in_subfolder=0后,将直接放置到bakupfolder
3. 备份文件名中自动添加备份时的时间字符串,不用担心备份目录下名字重复,也便于管理。
4. call :backupone foo
foo是需要备份的数据库,需要备份其它数据库,按同样的方式一行写一条即可
5. 命令行驱动备份操作:sqlcmd -U sa -P “sa” -S localhost -Q “xxx”
这里连接数据库的用户名密码都是sa,请改成你的实际用户名密码。mssql密码中如果有一些特殊字符,可能报错,所以加上双引号。如果密码简单,不加也可以;不过sa密码,一般都是很变态的吧~~

代码如下:

@ECHO ON
set d=%date:~0,10%
set d=%d:-=%
set t=%time:~0,8%
set t=%t::=%
set stamp=%p%%d%%t%
set bakupfolder=F:\backup\
rem 1按子目录保存备份文件;0不按
set lay_in_subfolder=1
call :backupone foo
call :backupone foo2
call :backupone foo3
call :backupone foo4
goto :EOF
@ECHO OFF
:backupone
setlocal
echo %1
set dbname=%1
if not exist %bakupfolder%%dbname% mkdir %bakupfolder%%dbname%
if %lay_in_subfolder%==1 (
set subfolder=%dbname%\
)else set subfolder=
rem echo %bakupfolder%%subfolder%%dbname%%stamp%.bak
sqlcmd -U sa -P "sa" -S localhost -Q "backup database %dbname% to disk='%bakupfolder%%subfolder%%dbname%%stamp%.bak'"
"C:\Program Files\WinRAR\RAR.exe" a -ep1 -r -o+ -m5 -s -df "%bakupfolder%%subfolder%%dbname%%stamp%".rar "%bakupfolder%%subfolder%%dbname%%stamp%.bak"
endlocal&goto :EOF

(0)

相关推荐

  • SQL Server数据库定时自动备份

    SQL Server 数据库定时自动备份,供大家参考,具体内容如下 在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库.而备份数据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以我们不可能要求管理员每天守到晚上1点去备份数据库.要实现数据库的定时自动备份,最常用的方式就是使用SQL Server代理中的作业.启动SQL Server Agent服务,然后在其中新建作业,作业中添加1个备份步骤,类型是T-SQL脚本,然后在命令中输入如下SQL语句,该语句实现了对数据库Tes

  • SQL server 定时自动备份数据库的图文方法

    SQL2000版本 用JOB 企业管理器 --管理 --SQL Server代理 --右键作业 --新建作业 --"常规"项中输入作业名称 --"步骤"项 --新建 --"步骤名"中输入步骤名 --"类型"中选择"Transact-SQL 脚本(TSQL)" --"数据库"选择执行命令的数据库 --"命令"中输入要执行的语句: --确定 --"调度"

  • sqlserver 自动备份所有数据库的SQL

    复制代码 代码如下: 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') order by [name] open myCursor fetch next from myCursor

  • SQL Server2005异地自动备份方法

    最近公司刚刚搭建了一台安防综合平台,综合平台服务器上安装了SQL Server 2005,由于没有备份服务器,所以只能异地备份数据库了.在网上找了很多的资料,自己整合了一下 . 一.开启SQL Agent服务,并设置为"自动" 二.备份 1.SQL代理-作业-新建作业,这是在SQL2005下的操作,其实SQL2000也是大同小异(管理→SQL Server代理→右键作业→新建作业) 图1 2.在常规中输入名字 图2 3."步骤"项->新建,输入名称,选中数据,

  • SqlServer2005 自动备份并存储另一电脑上的存储过程函数

    复制代码 代码如下: --Full BackUp --Use Master CREATE proc [dbo].[bakup_DataBase] as Declare @strPsw varchar(50) Declare @strUsr varchar(50) Declare @strCmdShell varchar(300) Declare @strDataBaseName varchar(20) Declare @FullFileName Varchar(200) Declare @Fil

  • SQLServer2005 按照日期自动备份的方法

    SqlServer自动作业备份 1.打开SQL Server Management Studio 2.启动SQL Server代理 3.点击作业->新建作业 4."常规"中输入作业的名称 5.新建步骤,类型选T-SQL,在下面的命令中输入下面语句 复制代码 代码如下: DECLARE @strPath NVARCHAR(200) set @strPath = convert(NVARCHAR(19),getdate(),120) set @strPath = REPLACE(@s

  • SQLServer 2005 自动备份数据库的方法分享(附图解教程)

    具体步骤如下: 一.开始菜单中打开SQL Server Management Studio,展开窗口左边的SQL服务器: 二.SQL Server代理,右键选择"启动"(未启动的话): 三.选择"作业->新建作业": 四.在"常规"中输入作业的名称: 五.在"步骤"中新建步骤,选择T-SQL,命令中输入下面语句(红色部分要根据自己的实际情况更改,D:\bak\改为自己的备份路径,databasename修改为想备份的数据

  • 设定sql server定期自动备份数据库

    企业管理器中的Tools,Database Maintenance Planner,可以设置数据库的定期自动备份计划.并通过启动Sql server Agent来自动运行备份计划.具体步骤如下:  1.打开企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器  2.然后点上面菜单中的工具-->选择数据库维护计划器  3.下一步选择要进行自动备份的数据-->下一步更新数据优化信息,这里一般不用做选择-->

  • sql server 2000 数据库自动备份设置方法

    1.打开MS SQL Server 企业管理器,SqlServer组 - 管理 - 数据库维护计划 - 右键新建维护计划 如下图: 下一步:选择需要备份的数据库 下一步: 继续下一步: 下一步:点击更改修改数据备份时间 下一步: 下一步: 下一步: 下一步: .在企业管理器中,找到管理 – SQL Server代理,如果它没有启动,红色方框而不是绿色三角,点击右键,选择启动. 小技巧:在SQL Server 服务管理器 – 服务选择 SQL Server Agent 启动,在"当启动OS时自动启

  • sqlserver2005打造自动备份的维护计划图解教程

    其使用方法如下: (1)启动[sql server Management Studio],在[对象资源管理器]窗口里选择[管理]--[维护计划]选项. 2)右击[维护计划],在弹出的快捷菜单里选择[维护计划向导]选项 ,弹出如图所示的[维护计划向导]对话框,单击[下一步]按钮 3)弹出如图所示[选择目标服务器]对话框,在[名称]文本框里可以输入维护计划的名称:在[说明]文本框里可以输入维护计划的说明文字:[在服务器]文本框里可以输入要使用的服务器名:最后选择正确的身份证信息,单击[下一步]按钮.

随机推荐