失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > sqlserver在linux数据备份 SQLServer数据库之sqlserver for linux自动备份数据库脚本

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

时间:2022-12-24 14:03:43

相关推荐

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"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自动备份数据库脚本》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。