当前位置:首页 > MSSQL
Linux 系统下备份和还原 SQL Server 数据库
来源:靑龍一笑的博客  作者:靑龍一笑  发布时间:2017-11-30 21:46:50  点击量:3779  评论:0

    前段时间,我在 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 目录的权限。

    有两种备份方法:


    这两种方式都可以,完全看个人喜好。
    还原数据库的命令如下:

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'

版权所有 © 2005-2023 靑龍一笑的博客  Powered by C.S.Ricen
Copyright © 2005-2023 by www.ricensoftwares.com.cn  All Rights Reserved.

欢迎光临本站,这里是靑龍一笑的博客。

因资金匮乏,本站已迁到国外的免费空间,可能导致本站的访问速度较慢,由此给您带来的不便,敬请谅解。

您可以通过下方的“支持本站建设”链接,给本站提供资金支持。

Free Web Hosting