這是我的Towertop ERP Poroject裏的資料庫伺服器部份,原來是在想用PostgreSQL,但一直卡在Visual Studio連線PostgreSQL的技術障礙,搞了好久都不成功。
無意間,在Google PostgreSQL的文件時,突然發現Microsoft 默默的推出SQL Server for Linux Preview版本了,一向在工務上及私人自修都用SQL Server的我,馬上就從PostgresSQL改弦易轍,轉投入SQL Seerver的懷抱。
SQL Server for Linux Preview版本的傳送門在此,直接連到微軟官網去瞧瞧。
支援Red Hat,Ubuntu,SuSE Linux及直接自已刻一個的方式來部署SQL Server for Linux。
看到SuSE,我就想到OpenSuSE這個平台,雖然沒有肥多拉(Fedora)那麼多擁護者,但還是很流行的個Linux套件。
因為我使用WIndows 8.1,所以,我必然的使用Hyper-V來安裝Open SuSE虛擬機來使用,我並不知道Hyper-V和Open SuSE的相容程度,但以往安裝CentOS ,應該很順利才是。所以先建個Hyper-V虛擬機。
程序如下:
指定虛擬機名稱及存放位置
指定虛擬機世代,對Linux平台,一率選第一代
指派記憶體
指派網路, 記得先設置虛擬交換機
設定虛擬硬碟
完成新增虛擬機精靈
設定好虛擬機後,就可以從Hyper-V管理員視窗右邊的虛機器管理功能,先點[啟動]再點[連線]開啟虛擬機主控台視窗:
一開始是[啟動]
接著從安裝光碟載入Open SuSE的安裝程序,請選擇[Installation],如果選[Boot from Hard Drive]就會啟動Live版本的Open SuSE
等候安裝程序啟動過程
啟動完成會先問你使用的語系,和你是否同恴授權聲明,就按下右下角的[Next]吧
接下來安裝程式會檢測你的主機的系統配備是石可供安裝,如果檢測有問題就無法安裝,但幸好這次沒有問題,檢測完成按右下角的[Next]
安裝程序問你有沒有什麼額外的套件或硬體驅動程式要載入的,像是有些SCSI卡或網路卡的驅程式,因為我用Hyper-V虛擬機,所有驅動程式都已包括在原始安裝套件中,就直接按右下角的[Next]
接下來是要規劃硬碟分割區,如果你沒有什麼特別的要求,就直接按右下角的{Next}接受預設分割區進入時區選取視窗,如果想自行規劃分割區,就點畫面中間的{Expert Partition},這部份就自行參照OpenSuSE官方安裝文件的說明
硬碟分割完成,進入時區選取視窗,你知道台北在那裏的對吧...選好後,按右下角的[Next]
選擇桌面系統,看你喜歡那種桌面KDE或GNome或者不用桌面,採用Server Mode,我還是比較喜歡Gnome啦,選好了就按右下角的[Next]
建個使用者帳號吧,不要再用root帳號了,如果直的需要SuperUser權限,用sudo指令就行了。這裏建的這個帳號,Open SuSE啟動會自動登入,而密碼也就是Root帳號的密碼。建好帳號按Next
最後到了安裝選項清單的畫面,通常你有什麼特殊需求,可以在這個地方進行調整,因為我想安裝SQL Server for Linux,因為現在還沒多少文件分享相關安裝程序,所以我是以多年使用微軟產品的經驗來猜測,應該預設安裝選項就行了,所以,我只挑選了[software],因為我想把C/C++程式語言的相關套件安裝
點一下上圖的[Software],到了[Software Selection and System Tasks]
請在左邊找到[C/C++ Development]然後按右下角的[OK],為什麼選[C/C++ Development]呢?這是因為萬一官方安裝套件不合用,至少還能下載原始程式碼,自已刻一個出來,還好微軟仍然維持一致的水準,安裝套件都能順利安裝。
又回到[Installation Settings],可以比較前一畫面,多了[C/C++ Development],然後就按[Install]
再問你一遍,可以開始安裝了嗎?你還可以反悔按[Back]回到[Installation Settings],或是不後悔,按[Install]
然後,進入安裝進度畫面,到這裏,你就可以離開電腦去做自已的事了,畢竟到了這個階段,我們也只能聽天由命了。
安裝完成會自動重新啟動
最後會自動以安裝過程中建立的使用者帳號登入
Open SuSE的桌面長這樣,左邊是快速程式選單,右邊是多重桌面選項,只要滑鼠停在桌面右邊停久一點,就會自動滑出來。
接下來,你要去設置網路卡。想辦法找到[Nerwork Setting]功能視窗, 如下圖,設好網卡的IP
然後,請打開Firefox瀏覽器,然後到SQL Server for Linux (SuSE)的安裝指引說明文件
好吧,我知道微軟的文件上說是SuSE Linux ENterprise Server v12 sp2,其實Open SuSE v42.2是和Enterprise Server差不多的Linux套件,只是,用Open SuSE沒有技術支援,一切靠自已。
接下來,打開一個終端機視窗,然後依序輸入以下指令:
以下兩行指令是先把SQL Server的Repository安裝起來
sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/12/mssql-server.repo
sudo zypper --gpg-auto-import-keys refresh
接下來就能用yum指令來線上安裝SQL Server for Linux了
sudo zypper install mssql-server
然後, 執行以下指令設定SQL Server管理者帳號SA的密碼
sudo /opt/mssql/bin/sqlservr-setup
最後,檢查SQL Server for Linux有沒有正常啟動
systemctl status mssql-server
如上圖綠色字樣所示正常啟動了。
然後,不要忘記Firewall的設定要一併搞定,不然,外界連不上來的。在功能表裏找到Firewall
我懶得去設Firewall了,加上我的環境單純封閉又不和外界連線,所以就直接關閉Firewall。
然後打開SSMS,記得要用SSMS 2014版本以上才能連線SQL Server for Linux,因為SQL Server for Linux是基於SQL Server 2016的技術,至少要2014版的SSMS才能順利連線管理。我們打開SSMS的連線對話窗
這樣子就是連上SQL Server for Linux Server了, 12.168.11.250就是Server的IP。
然後,我們建一個新的資料庫
最後,這個資料庫完成建立,我們的SQL Server for Linux Server也就完成了。