sqlserver在linux数据备份,SQLServer数据库之sqlserver for linux自动备份数据库脚本

本文主要向大家介绍了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频道!

标签:opt,SQLServer,数据库,sqlserver,back,db,TestDB,dbbackup

来源: https://www.cnblogs.com/SyncNavigator8-4-1/p/10977919.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值