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


有客戶使用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為原數據庫中的邏輯數據文件的名字。

設置防火牆:

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 !  :-)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM