有客户使用Linux服务器,SQL Server从2017开始已支持Linux,从未用过,今天测试了一下,比较简单,记录一下。
Linux:CentOS 7.0
首先更新源:
curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
然后安装:
yum install -y mssql-server
安装完后配置:
/opt/mssql/bin/mssql-conf setup
好了,就这么简单!
然后测试从windows sql server 2008 R2迁移至Linux SQL Server 2017下。
首先在windows下备份数据库,比如是a.bak,将备份文件上传至Linux。Linux默认数据路径是/var/opt/mssql/data。然后在Linux下运行命令:
RESTORE DATABASE newdbname FROM DISK = '/var/opt/mssql/data/a.bak' WITH MOVE 'db1' TO '/var/opt/mssql/data/newdb.mdf', MOVE 'db1_log' TO '/var/opt/mssql/data/newdb_log.ldf', STATS = 1, REPLACE, RECOVERY
此处注意,newdbname为新创建的数据库名字,而db1和db2_log为原数据库中的逻辑数据文件的名字。
恢复成功,然后可以用SSMS或navicat或Azure Data Studio等工具正常连接数据库使用了。
总体很简单,很Microsoft ! :-)