.NET Core開發日誌——Linux版本的SQL Server

來源:互聯網
上載者:User

SQL Server 2017版本已經可以在Linux系統上安裝,但我在嘗試.NET Core跨平台開發的時候使用的是Mac系統,所以這裡記錄了在Mac上安裝SQL Server的過程。

最新的SQL Server沒有專門為Mac系統準備安裝包,但由於Mac系統上支援Docker,所以可以用一種變通的方式——在Docker內部安裝Linux版本的SQL Server。

系統要求

因為我的Macbook Air型號比較老,硬體條件很一般,所以首先確定下是否滿足安裝SQL Server的條件。官方給出的配置如下:

記憶體 2 GB
檔案系統 XFS or EXT4 (other file systems, such as BTRFS, are unsupported)
磁碟空間 6 GB
處理器速度 2 GHz
處理器核心數 2 cores
處理器類型 x64-compatible only

要求不高,看來沒有什麼問題。

Docker應用程式

Mac版本的Docker可以通過下列地址下載:
Docker Community Edition for Mac
完成安裝後還可以用docker -v命令驗證結果。

Docker鏡像

有了Docker程式後,第一步先要做的事情是拉取SQL Server用於linux系統的鏡像。

docker pull microsoft/mssql-server-linux:2017-latest
Docker容器

接著通過已拉取的鏡像啟動容器

docker run -d --name macsqlserver -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Passw1rd' -e 'MSSQL_PID=Developer' -p 1433:1433 microsoft/mssql-server-linux:2017-latest

在此命令中所用的參數都有實際用途:
-d 以daemon模式運行容器,即所啟動的應用程式在後台運行
--name 為容器賦予名稱
-e 'ACCEPT_EULA=Y' 在容器內部設定環境變數,用於確認接受終端使用者許可協議—— end-user license agreement (EULA)
-e 'SA_PASSWORD=Passw1rd' 在容器內部設定sa帳號的密碼
-e 'MSSQL_PID=Developer' 也是一個環境變數,令SQL Server以開發人員版本運行
-p 1433:1433 映射本地1433連接埠到容器內部SQL Server的1433連接埠

執行上述命令後,再執行docker ps -a,可以查看已啟動容器的狀態。如果狀態是Up的話,說明容器正常運行。

SQL Server用戶端

由於SQL Server Management Studio沒有被移植到其它系統上,所以要想在Mac系統以用戶端的方式串連已安裝的SQL Server,需要通過第三方工具。sql-cli便是其中一種用nodejs開發的用戶端。

先是用npm方式安裝sql-cli。

npm install -g sql-cli

完成安裝後用以下命令進入(所輸入的密碼需匹配實際設定的):

mssql -u sa -p Passw1rd

若串連成功,再輸入.databases命令,就可以看到熟悉的SQL Server內建的四個資料庫。

Visual Studio Code外掛程式

使用VSC開發的一大好處是其包含豐富的外掛程式。比如安裝完mssql這個外掛程式後,便可以利用VSC的便利,進行SQL程式的開發。

舉個簡單的例子:
⌘N,建立一個檔案
⌘K M,將語言模式改為SQL
⇧⌘P,開啟命令框,輸入sql,選中MS SQL: Connect,再選擇Create Connection Profile,然後輸入一系列資料庫連接配置。
如果最後在VSC的右下角看到的是類似下面的樣子,說明已經成功串連資料庫。

接著,在檔案內輸入SQL語句

use masterselect * from spt_monitor

⇧⌘E,執行上述語句。可以在新的視窗中看到結果。

值得一提的是,在結果視窗內,還可以通過檔案形式儲存記錄。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.