本文主要向大家介绍了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"2dayago"+"%Y%m%d"`
del_backfile=$back_path$db_name$del_time
sqlcmd-Slocalhost-U$user-P$passwd-dmaster-Q"BACKUPDATABASE$db_nametodisk=‘$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]backupsuccess!"
else
echo"database[multiverse]backupfailed!"
fi
备份数据库的命令如下:backupdatabaseTestDBtodisk=‘/opt/dbbackup/TestDB.bak‘这条命令将数据库TestDB备份到/opt/dbbackup/TestDB.bak。注意,这里要确保mssql帐号拥有操作/opt/dbbackup目录的权限。有两种备份方法:
还原数据库的命令如下:restoredatabaseTestDBfromdisk=‘/opt/dbbackup/TestDB.bak‘这是在数据库不存在的情况下使用。如果数据库存在,则需要使用如下命令进行覆盖:restoredatabaseTestDBfromdisk=‘/opt/dbbackup/TestDB.bak‘withreplace
SQLServer还有分离数据库和附加数据库这两种操作。首先,分离数据库:sp_detach_dbTestDB那么,分离出来的文件在哪呢?其实,一点都不用担心,在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
来源: /SyncNavigator8-4-1/p/10977919.html
如果觉得《sqlserver在linux数据备份 SQLServer数据库之sqlserver for linux自动备份数据库脚本》对你有帮助,请点赞、收藏,并留下你的观点哦!