当前位置:首页 > MSSQL
使用批处理方式实现 SQL Server 数据库备份
来源:靑龍一笑的博客  作者:靑龍一笑  发布时间:2019-07-25 17:49:27  点击量:1149  评论:0

    编写一个批处理脚本,内容如下:

@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() 函数可以用不同的格式来显示日期和时间,其语法格式如下:

CONVERT(data_type(length),data_to_be_converted,style)

    其中,data_type(length) 指定目标数据类型(带有可选的长度);data_to_be_converted 指定需要转换的时间数据;style 指定日期时间的输出格式。

style id 为 112 表示输出的格式是:yymmdd
style id 为 108 表示输出的格式是:hh:mm:ss

    REPLACE() 函数用来把时间格式中的 “:” 删除。

版权所有 © 2005-2023 靑龍一笑的博客  Powered by C.S.Ricen
Copyright © 2005-2023 by www.ricensoftwares.com.cn  All Rights Reserved.

欢迎光临本站,这里是靑龍一笑的博客。

因资金匮乏,本站已迁到国外的免费空间,可能导致本站的访问速度较慢,由此给您带来的不便,敬请谅解。

您可以通过下方的“支持本站建设”链接,给本站提供资金支持。

Free Web Hosting