时间:2021-07-01 10:21:17 帮助过:4人阅读
code-1: 备份数据库
把备份文件复制到Linux,如放到/tmp/下。可以用FTP,或rz等工具。
使用终端(如Xshell)连接到Linux。默认数据文件目录在/var/opt/mssql/data/下,如果要指定数据目录的话,可创建自定义目录并赋予相应权限。
mkdir -p /data/mssql_data chown -R mssql:mssql /data/mssql_data
code-2: 创建目录并修改权限
使用sqlcmd连接到数据库
sqlcmd -S localhost -U sa
code-3: 连接到数据库
RESTORE DATABASE db1 FROM DISK = ‘/tmp/db1.bak‘ WITH MOVE ‘db1‘ TO ‘/data/mssql_data/db1.mdf‘, MOVE ‘db1_log‘ TO ‘/data/mssql_data/db1_log.ldf‘, STATS = 1, REPLACE, RECOVERY GO
code-4: 还原数据库
注意:不能复制并粘贴整个多行命令一次,只能复制每个行后按 enter 键。最后以GO结束,回车后执行。
当然,也可以把上面的还原数据库的命令写到一个文件,再使用sqlcmd执行脚本方式来还原数据库。
sqlcmd -S localhost -U sa -i ‘/data/mssql_data/restore_db.txt‘
code-5: 执行脚本文件还原数据库
在Linux下的sqlcmd查询:
Figure-1: sqlcmd下的查询
Figure-2: SSMS下db1数据库的属性(Files)
在Windows的SSMS连接到Linux下的数据库,发现数据库文件的路径不是Linux的正斜杠,而是Windows的反斜杠;Compatibility level也无法修改。
Figure-2: SSMS下db1数据库的属性(Options)
Figure-2: SSMS下的查询
https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-migrate-restore-database
从Windows迁移SQL Server到Linux
标签:back mss 环境 from 验证 enter zh-cn 修改 col