Linux下还原Window下备份的数据库SQL server避免几点问题

Linux下还原Window下备份的数据库操作:

1.在window下备份数据库;

如备份的数据名称 7600.bak

Linux下还原Window下备份的数据库SQL server避免几点问题_第1张图片

2.在Linux下还原数据库,安装SQL server数据库;

a.连接本地数据库:sqlcmd -S localhost -U SA -P 'pswd'

b.从window备份的数据库7600.bak传输到Linux下/var/opt/mssql/backup/文件下

在window安装一个Bash shell

使用scp命令传输window下备份文件:

C:\Users\Administrator\Desktop

cd 'C:\Users\Administrator\Desktop'

scp 7600.bak [email protected]:./

在Linux下

mv /home/hz/7600.bak /var/opt/mssql/backup/

Linux下还原Window下备份的数据库SQL server避免几点问题_第2张图片
c.查看下备份文件的LogicalName,

注意查看备份文件逻辑文件名称

RESTORE FILELISTONLY FROM DISK = '/var/opt/mssql/backup/7600.bak'

Linux下还原Window下备份的数据库SQL server避免几点问题_第3张图片

有的数据库备份时,逻辑文件名称与数据库名称不一致,从而导致无法还原数据库。

7600.bak 逻辑文件7600_6

d.执行还原语句,新建的数据即TestDB3(执行RESTORE DATABASE TestDB3相当于新建,不必单独新建数据库

***************************************************************************
RESTORE DATABASE TestDB3 FROM DISK = '/var/opt/mssql/backup/7600_6.bak'
WITH MOVE '7600_6' TO '/var/opt/mssql/data/TestDB3.mdf',
MOVE '7600_6_Log' TO '/var/opt/mssql/data/TestDB3_Log.ldf'
GO
***************************************************************************

这里注意个问题,Linux下数据库名称不能使用纯数字,不能像Window命名,使用数据库TestDB3还原成功。

Linux下还原Window下备份的数据库SQL server避免几点问题_第4张图片

你可能感兴趣的:(SQL,在路上)