database.php.bak,Linux 系统下备份和还原 SQL Server 数据库

前段时间,我在 RHEL 7 上安装了 SQL Server 2017 数据库,感兴趣的朋友可以阅读我前面写的一篇文章《在 RHEL 7 上安装 SQL Server 2017 数据库》。

Linux 下操作 SQL Server 数据库没有 Windows 下那么方便,主要使用 sqlcmd 命令。sqlcmd 命令在早期版本中已经存在,只不过大多数人在 Windows 下都不习惯去使用,甚至不了解。

在上一篇文章中,我已经提到连接 SQL Server 数据库的 sqlcmd 命令。

备份数据库的命令如下:

backup database TestDB to disk='/opt/dbbackup/TestDB.bak'

这条命令将数据库 TestDB 备份到 /opt/dbbackup/TestDB.bak。注意,这里要确保 mssql 帐号拥有操作 /opt/dbbackup 目录的权限。

d98dbc5985b117c61b35d157de46b89e.png

有两种备份方法:

15f56589fc4baf96cbb53d08a850606b.png

f90ef3b325ed950799cc624fbdb8670b.png

这两种方式都可以,完全看个人喜好。

还原数据库的命令如下:

restore database TestDB from disk='/opt/dbbackup/TestDB.bak'

这是在数据库不存在的情况下使用。如果数据库存在,则需要使用如下命令进行覆盖:

restore database TestDB from disk='/opt/dbbackup/TestDB.bak' with replace

同样,还原数据库也有两种方法,大家可以选择自己喜欢的方式操作:

f6935e91f418df525c13f3ff96676467.png

0d7befb085a431b58c7b83c5d6ddc80b.png

e6a79c10a79e9c7431f58a81d1864a67.png

3f9eaf9b463ebbf5978b1242f8f20401.png

我们知道,SQL Server 还有分离数据库和附加数据库这两种操作。

首先,分离数据库:

sp_detach_db TestDB

fe1bb3dd301f2f4724e11d147c56beda.png

那么,分离出来的文件在哪呢?其实,一点都不用担心,在 Linux 系统下要找一个文件太容易了。

1f18be9eb79ce72cb2a22260d418384d.png

就是这两个文件,可以把它们拷贝出来到另外一台机子上做备份。

附加数据库的命令就稍微复杂点,不过也比较好理解。

sp_attach_db @dbname=TestDB,

@filename1=N'/opt/dbbackup/TestDB.mdf',

@filename2=N'/opt/dbbackup/TestDB_log.ldf'

9a331f633001a5ca9fe32dcc39365dda.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值