摘要:本文主要向大家介绍了SQLServer数据库之sqlserver for linux自动备份数据库脚本,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助。
本文主要向大家介绍了SQLServer数据库之sqlserver for linux自动备份数据库脚本,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助。
不多说直接上脚本
#/bin/bash
user=multiverse
passwd=Multiverse1113
back_path=/var/opt/backup/
db_name=multiverse
back_time=`date +%Y%m%d_%H%M%S`
back_filename=$back_path$db_name$back_time
del_time=`date -d "2 day ago" +"%Y%m%d"`
del_backfile=$back_path$db_name$del_time
sqlcmd -S localhost -U $user -P $passwd -d master -Q "BACKUP DATABASE $db_name to disk=‘$back_filename.bak‘"
tar -zcPf $back_filename.tar.gz $back_filename.bak
rm -f $back_filename.bak
if [ -e $back_filename.tar.gz ];then
rm -rf $del_backfile*.gz
echo "database[multiverse] backup success! "
else
echo "database[multiverse] backup failed!"
fi
备份数据库的命令如下:backup database TestDB to disk=‘/opt/dbbackup/TestDB.bak‘这条命令将数据库 TestDB 备份到 /opt/dbbackup/TestDB.bak。注意,这里要确保 mssql 帐号拥有操作 /opt/dbbackup 目录的权限。有两种备份方法:
还原数据库的命令如下:restore database TestDB from disk=‘/opt/dbbackup/TestDB.bak‘这是在数据库不存在的情况下使用。如果数据库存在,则需要使用如下命令进行覆盖:restore database TestDB from disk=‘/opt/dbbackup/TestDB.bak‘ with replace
SQL Server 还有分离数据库和附加数据库这两种操作。首先,分离数据库:sp_detach_db TestDB那么,分离出来的文件在哪呢?其实,一点都不用担心,在 Linux 系统下要找一个文件太容易了。就是这两个文件,可以把它们拷贝出来到另外一台机子上做备份。附加数据库的命令就稍微复杂点,不过也比较好理解。
sp_attach_db @dbname=TestDB,
@filename1=N‘/opt/dbbackup/TestDB.mdf‘,
@filename2=N‘/opt/dbbackup/TestDB_log.ldf‘
以上就介绍了SQL Server的相关知识,希望对SQL Server有兴趣的朋友有所帮助。了解更多内容,请关注职坐标数据库SQL Server频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号