Linux下SQL Server安裝及數據庫遷移

有客戶使用Linux服務器,SQL Server從2017開始已支持Linux,從未用過,今天測試了一下,比較簡單,記錄一下。sql

Linux:CentOS 7.0數據庫

首先更新源:windows

curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repobash

而後安裝:服務器

yum install -y mssql-servercurl

安裝完後配置:tcp

/opt/mssql/bin/mssql-conf setup工具

好了,就這麼簡單!測試

而後測試從windows sql server 2008 R2遷移至Linux SQL Server 2017下。ui

首先在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爲原數據庫中的邏輯數據文件的名字。

設置防火牆:

sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload 


CentOS7防火牆相關命令:

//臨時關閉
systemctl stop firewalld
//禁止開機啓動
systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

恢復成功,而後能夠用SSMS或navicat或Azure Data Studio等工具正常鏈接數據庫使用了。

 

安裝mssql-tools:

添加源:

curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo

安裝:

yum install mssql-tools unixODBC-devel

 添加登陸會話訪問路徑:

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

source ~/.bash_profile

交互式/非登陸會話:

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc

source ~/.bashrc

 

 

整體很簡單,很Microsoft !  :-)

相關文章
相關標籤/搜索