编写一个批处理脚本,内容如下:
@echo off
rem 作者:靑龍一笑(C.S.Ricen)
rem 功能:数据库备份
rem 环境设置
set SQL_TOOLS=C:\Program Files\Microsoft SQL Server\90\Tools\Binn
set PATH=%SQL_TOOLS%;%PATH%
rem 数据库信息
set USERNAME=sa
set USERPASS=p7954tF
rem 要执行的备份语句
set TESTDB_SQL=testdb.sql
echo.
echo 开始对数据库进行备份
OSQL.exe -S 127.0.0.1 -U %USERNAME% -P %USERPASS% -i %TESTDB_SQL%
echo.
echo 数据库备份完成
exit
其中,testdb.sql 内容如下:
DECLARE @name varchar(50)
DECLARE @datetime char(14)
DECLARE @path varchar(255)
DECLARE @bakfile varchar(255)
set @name='testdb'
set @datetime=CONVERT(char(8),getdate(),112) + REPLACE(CONVERT(char(8),getdate(),108),':','')
set @path='D:\dbBack\'
set @bakfile=@path+''+@name+'_'+@datetime+'.BAK'
backup database @name to disk=@bakfile with name=@name
go
sql 文件中的 DECLARE 是声明的意思,用来声明变量。@ 表示局部变量,@@ 表示全局变量。
文件中声明了 4 个局部变量,@name 表示要备份的数据库名,@datetime 是提取当前时间,@path 是指定备份路径,@bakfile 是指定备份的文件名。
getdate() 函数用来返回当前的日期和时间。
CONVERT() 函数可以用不同的格式来显示日期和时间,其语法格式如下:
其中,data_type(length) 指定目标数据类型(带有可选的长度);data_to_be_converted 指定需要转换的时间数据;style 指定日期时间的输出格式。
style id 为 108 表示输出的格式是:hh:mm:ss
REPLACE() 函数用来把时间格式中的 “:” 删除。
Copyright © 2005-2023 by www.ricensoftwares.com.cn All Rights Reserved.