本人新书上市,请多多关照:《SQL Server On Linux运维实战 2017版从入门到精通》
接上文 SQL Server On Linux(24)——SQL on Linux 备份和还原(1)——备份, 本文演示“备份”的配套工作——还原。
还原操作在两个平台上都类似,可以使用SQL命令或者SSMS图形界面操作,比较常见的差异在于你需要还原的数据库来自于别的地方(如别的服务器或者专用备份设备),然后在还原过程中需要对文件夹授权(包括读取备份文件和还原数据库时数据库文件写入对应磁盘的权限)。
这种情况什么时候会发生呢?在作者的经历中,出现在环境迁移的时候,比如有一个系统以前运行在Windows上,需要还原到Linux上,一般的操作是:
- 在Windows上备份数据库,通过某些方式如SCP传到Linux上,这是第一次授权,需要确保备份文件能够写到Linux上。可能这个文件夹还不是备份需要存放的地方。只是临时移动所用,所以你可能需要再次调整权限在Linux上把备份文件移动到指定的备份文件夹。这是第二次权限调整。
- 如果你的数据库打算直接还原到SQL Server现在的文件目录,那权限基本上不用调整,但是如果你需要把库还原到别的文件夹,就会引入第3次的权限调整。
下面我们来还原一下前面备份的数据库,只是把库名改成“AdventureWorks2017_Test”:
RESTORE DATABASE [AdventureWorks2017_Test] FILE = N'AdventureWorks2017'