在Linux 上安裝 SQL Server

lhrbest發表於2019-04-25


在Linux 上安裝 SQL Server 


官網:  https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-setup?view=sql-server-2017

離線下載包: https://packages.microsoft.com 


本文提供了有關安裝、 更新和解除安裝 SQL Server 2017 和 Linux 上的 SQL Server 2019 預覽版指南。

 提示

本指南 coves 幾種部署方案。   如果您僅查詢的分步安裝說明,跳轉到快速入門教程之一:

有關常見問題的解答,請參閱 SQL Server Linux 常見問題

支援的平臺

Red Hat Enterprise Linux (RHEL)、 SUSE Linux Enterprise Server (SLES) 和 Ubuntu 上支援 SQL Server 2017。   它還支援作為 Docker 映像,可以在 Docker 的 Windows/mac。 或在 Linux 上的 Docker 引擎執行

平臺 受支援的版本 獲取
Red Hat Enterprise Linux 7.3, 7.4, 7.5, 7.6 Get RHEL 7.6
SUSE Linux Enterprise Server v12 SP2 獲取 SLES v12 SP2
Ubuntu 16.04 獲取 Ubuntu 16.04
Docker 引擎 1.8+ 獲取 Docker

Microsoft 還支援部署和使用 OpenShift 和 Kubernetes 來管理 SQL Server 容器。

 備註

SQL Server 經過測試且支援在 Linux 上的前面列出的分發版。   如果您選擇不受支援的作業系統上安裝 SQL Server,請檢視 的支援策略 一部分 Microsoft SQL Server 的技術支援策略 若要了解支援影響。

系統要求

SQL Server 2017 具有以下適用於 Linux 的系統要求:

記憶體 2 GB
“檔案系統” XFS EXT4  (其他檔案系統,如 BTRFS ,均不受支援)
磁碟空間 6 GB
處理器速度 2 GHz
處理器核心 2 個核心
處理器型別 僅 x64 相容

如果您使用 網路檔案系統 (NFS)  在生產中,遠端共享,請注意以下支援要求:

  • 使用 NFS 版本 4.2 或更高版本   較舊版本的 NFS 不支援所需的功能,例如 fallocate 和稀疏檔案建立,普遍適用於現代檔案系統。
  • 僅定位  /var/opt/mssql 上 NFS 裝入的目錄。   不支援其他檔案,如 SQL Server 系統二進位制檔案。
  • 請確保裝載的遠端共享時,NFS 客戶端,使用 nolock 選項。

配置源儲存庫

當您安裝或升級 SQL Server 時,可從你配置的 Microsoft 儲存庫獲取最新版本的 SQL Server。   快速入門教程使用 SQL Server 2017 累積更新 CU 儲存庫。   但您可以改為配置 GDR 儲存庫或 預覽版 (vNext)  儲存庫。   儲存庫以及如何配置它們的詳細資訊,請參閱 Linux 上的 SQL Server 配置儲存庫

 重要

如果您以前安裝的 CTP 或 SQL Server 2017 的 RC 版本,必須刪除預覽儲存庫並註冊一個常規正式版 (GA)。   有關詳細資訊,請參閱 Linux 上的 SQL Server 配置儲存庫

安裝 SQL Server 2017

從命令列,可以在 Linux 上安裝 SQL Server 2017。   有關分步說明,請參閱以下快速入門:


快速入門:安裝 SQL Server 和 Red Hat 上建立資料庫

適用於:   是 SQL Server (僅限 Linux) 沒有 Azure SQL 資料庫 沒有 Azure SQL 資料倉儲 沒有 並行資料倉儲

在此快速入門中,您安裝 SQL Server 2017 或 SQL Server 2019 Red Hat Enterprise Linux (RHEL) 上。   然後使用連線 sqlcmd 建立第一個資料庫和執行查詢。

 提示

本教程需要使用者輸入和 Internet 連線。   如果您對 無人蔘與 離線 安裝感興趣,請參閱  Linux 上的 SQL Server 的安裝指南

先決條件

您必須具有的 RHEL 7.3、 7.4、 7.5 或 7.6 計算機 至少 2 GB 的記憶體。

若要在自己的計算機上安裝 Red Hat Enterprise Linux,請訪問  https://access.redhat.com/products/red-hat-enterprise-linux/evaluation    也可在 Azure 中建立 RHEL 虛擬機器。   請參閱 使用 Azure CLI 建立和管理 Linux VM ,並在對  az vm create  的呼叫中使用  --image RHEL

如果以前已安裝的 CTP 或 SQL Server 2017 的 RC 版本,必須執行以下步驟之前先刪除舊儲存庫。   有關詳細資訊,請參閱 配置 Linux 儲存庫以用於 SQL Server 2017 和 2019年

其他系統要求,請參閱 Linux 上的 SQL Server 的系統要求

安裝 SQL Server

若要在 RHEL 上配置 SQL Server,請在終端中執行以下命令,以便安裝 mssql server 包:

  1. 下載 Microsoft SQL Server 2017 Red Hat 儲存庫配置檔案:

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

     提示

    如果你想要試用 SQL Server 2019,則必須改為註冊 預覽版 (2019)  儲存庫。   對於 SQL Server 2019 安裝中使用以下命令:

    bash 複製
    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-preview.repo
    
  2. 執行以下命令,安裝 SQL Server:

    bash 複製
    sudo yum install -y mssql-server
    
  3. 程式包安裝完成後,請執行  mssql-conf setup  命令並按提示設定 SA 密碼,然後選擇版本。

    bash 複製
    sudo /opt/mssql/bin/mssql-conf setup
    

     提示

    以下 SQL Server 2017 版本自由地授予使用許可:評估、 開發人員版和 Express。

     備註

    請確保為 SA 帳戶指定強密碼(最少 8 個字元,包括大寫和小寫字母、十進位制數字和/或非字母數字符號)。

  4. 配置完成後,請驗證服務是否正在執行:

    bash 複製
    systemctl status mssql-server
    
  5. 若要允許遠端連線,請在 RHEL 上開啟防火牆上的 SQL Server 埠。   預設的 SQL Server 埠為 TCP 1433。   如果對防火牆使用  FirewallD ,可以使用以下命令:

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

SQL Server 目前正在 RHEL 計算機上執行,可以使用了!

安裝 SQL Server 命令列工具

若要建立資料庫,需要使用一個能夠在 SQL Server 上執行 Transact-SQL 語句的工具進行連線。   以下步驟安裝 SQL Server 命令列工具:  sqlcmd bcp

  1. 下載 Microsoft Red Hat 儲存庫配置檔案。

    bash 複製
    sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
    
  2. 如果你有舊版 mssql 工具 安裝,請刪除任何較舊的 unixODBC 包。

    bash 複製
    sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
    
  3. 執行以下命令以安裝  mssql-tools  和 unixODBC 開發人員包。

    bash 複製
    sudo yum install -y mssql-tools unixODBC-devel
    
  4. 為方便起見,請將  /opt/mssql-tools/bin/  新增到  PATH  環境變數。   這樣就可以在執行工具時不指定完整路徑。   請執行以下命令,以便修改登入會話和互動/非登入會話的  PATH

    bash 複製
    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc source ~/.bashrc
    

本地連線

以下步驟使用 sqlcmd 本地連線到新的 SQL Server 例項。

  1. 使用 SQL Server 名稱 (-S),使用者名稱 (-U) 和密碼 (-P) 的引數執行 sqlcmd。   在本教程中,使用者進行本地連線,因此伺服器名稱為  localhost   使用者名稱為  SA ,密碼是在安裝過程中為 SA 帳戶提供的密碼。

    bash 複製
    sqlcmd -S localhost -U SA -P '<YourPassword>'
    

     提示

    可以在命令列上省略密碼,以收到密碼輸入提示。

     提示

    如果以後決定進行遠端連線,請指定 -S 引數的計算機名稱或 IP 地址,並確保防火牆上的埠 1433 已開啟。

  2. 如果成功,應會顯示 sqlcmd 命令提示符: 1>

  3. 如果連線失敗,請首先嚐試根據錯誤訊息診斷問題。   然後檢視 連線故障排除建議

建立和查詢資料

下面各部分將逐步介紹如何使用 sqlcmd 新建資料庫、新增資料並執行簡單查詢。

新建資料庫

以下步驟建立一個名為  TestDB  的新資料庫。

  1. 在 sqlcmd 命令提示符中,貼上以下 Transact-SQL 命令以建立測試資料庫:

    SQL 複製
    CREATE DATABASE TestDB
    
  2. 在下一行中,編寫一個查詢以返回伺服器上所有資料庫的名稱:

    SQL 複製
    SELECT Name from sys.Databases
    
  3. 前兩個命令沒有立即執行。   必須在新行中鍵入  GO  才能執行以前的命令:

    SQL 複製
    GO
    

 提示

若要詳細瞭解如何編寫 Transact-SQL 語句和查詢,請參閱 教程:編寫 Transact-SQL 語句

插入資料

接下來建立一個新表  Inventory ,然後插入兩個新行。

  1. 在 sqlcmd 命令提示符中,將上下文切換到新的  TestDB  資料庫:

    SQL 複製
    USE TestDB
    
  2. 建立名為  Inventory  的新表:

    SQL 複製
    CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
    
  3. 將資料插入新表:

    SQL 複製
    INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
    
  4. 要執行上述命令的型別  GO

    SQL 複製
    GO
    

選擇資料

現在,執行查詢以從  Inventory  表返回資料。

  1. 通過 sqlcmd 命令提示符輸入查詢,以返回  Inventory  表中數量大於 152 的行:

    SQL 複製
    SELECT * FROM Inventory WHERE quantity > 152;
    
  2. 執行命令:

    SQL 複製
    GO
    

退出 sqlcmd 命令提示符

要結束 sqlcmd 會話,請鍵入  QUIT

SQL 複製

QUIT

效能最佳實踐

在 Linux 上安裝 SQL Server 後, 檢視配置 Linux 和 SQL Server 來提高生產方案的效能的最佳做法。   有關詳細資訊,請參閱 的效能最佳實踐和 Linux 上的 SQL Server 配置準則

跨平臺資料工具

除了 sqlcmd ,可以使用以下跨平臺工具來管理 SQL Server:

Azure 資料 Studio 跨平臺 GUI 資料庫管理實用程式。
mssql-cli 用於執行 TRANSACT-SQL 命令的跨平臺命令列介面。
Visual Studio Code 執行 TRANSACT-SQL 語句,mssql 擴充套件通過一個跨平臺 GUI 程式碼編輯器。

從 Windows 連線

Windows 上的 SQL Server 工具連線到 Linux 上的 SQL Server 例項,操作方式與連線到任何遠端 SQL Server 例項一樣。

如果有一臺可以連線到 Linux 計算機的 Windows 計算機,請從執行 sqlcmd 的 Windows 命令提示符嘗試執行本主題中的相同步驟。   僅驗證所使用的是目標 Linux 計算機名稱或 IP 地址,而非 localhost,並確保 TCP 埠 1433 已開啟。   如果從 Windows 進行連線存在任何問題,請參閱 連線故障排除建議

有關在 Windows 上執行,但連線到 Linux 上的 SQL Server 的其他工具,請參閱:

其他部署方案

有關其他安裝方案,請參閱以下資源:

升級 瞭解如何升級 Linux 版 SQL Server 的現有安裝
解除安裝 在 Linux 上解除安裝 SQL Server
無人蔘與安裝 瞭解如何編寫無提示安裝指令碼
離線安裝 瞭解如何手動下載離線安裝程式包

 提示

有關常見問題的解答,請參閱 SQL Server Linux 常見問題

後續步驟

在 Linux 上的 SQL Server 瀏覽的教程




離線安裝

如果你的 Linux 計算機無法訪問中使用的線上儲存庫 快速入門 ,可以直接下載包檔案。   這些包位於 Microsoft 儲存庫,  https://packages.microsoft.com 

 提示

如果使用快速入門中的步驟已成功安裝,您不需要下載或手動安裝 SQL Server 包。   本部分僅適用於離線方案。

  1. 下載你的平臺的資料庫引擎包   包詳細資訊部分中找到包下載連結 發行說明

  2. 將下載的包移到 Linux 計算機   如果使用另一臺計算機下載包,將包移到 Linux 計算機的一種方法是使用 scp 命令。

  3. 安裝資料庫引擎包   使用以下命令基於你的平臺之一。   在此示例包檔案的名稱替換為你下載的確切名稱。

    平臺 包安裝命令
    RHEL sudo yum localinstall mssql-server_versionnumber.x86_64.rpm
    SLES sudo zypper install mssql-server_versionnumber.x86_64.rpm
    Ubuntu sudo dpkg -i mssql-server_versionnumber_amd64.deb

     備註

    您還可以使用安裝 RPM 包 (RHEL 和 SLES) rpm -ivh 命令,但在上表中的命令會自動安裝依賴項如果可從已批准的儲存庫。

  4. 解決缺少的依賴項 :你可能在此時缺少依賴項。   如果沒有,可以跳過此步驟。   在 Ubuntu,如果你有權訪問已批准儲存庫包含這些依賴項,最簡單的解決方案是使用 apt-get -f install 命令。   此命令還完成了 SQL Server 的安裝。   若要手動檢查依賴項,請使用以下命令:

    平臺 依賴項列表命令
    RHEL rpm -qpR mssql-server_versionnumber.x86_64.rpm
    SLES rpm -qpR mssql-server_versionnumber.x86_64.rpm
    Ubuntu dpkg -I mssql-server_versionnumber_amd64.deb

    在解決缺少的依賴項之後, 嘗試再次安裝 mssql server 包。

  5. 完成 SQL Server 安裝程式   使用 mssql conf 完成 SQL Server 安裝程式:

    bash 複製
    sudo /opt/mssql/bin/mssql-conf setup
    



如果你的Linux無法訪問線上Repo,你可以直接下載RPM包檔案。這些包位於微軟的資料庫: https://packages.microsoft.com


CU9 (2018 年7 月)

SQL Server 2017的累積更新包9。SQL Server引擎版本是14.0.3030.27。

Package

Package version

Downloads

Red Hat RPM package

14.0.3030.27-1

Engine RPM package
High Availability RPM package
Full-text Search RPM package
SSIS package












About Me

........................................................................................................................

● 本文作者:小麥苗,部分內容整理自網路,若有侵權請聯絡小麥苗刪除

● 本文在itpub( http://blog.itpub.net/26736162 )、部落格園( http://www.cnblogs.com/lhrbest )和個人weixin公眾號( xiaomaimiaolhr )上有同步更新

● 本文itpub地址: http://blog.itpub.net/26736162

● 本文部落格園地址: http://www.cnblogs.com/lhrbest

● 本文pdf版、個人簡介及小麥苗雲盤地址: http://blog.itpub.net/26736162/viewspace-1624453/

● 資料庫筆試面試題庫及解答: http://blog.itpub.net/26736162/viewspace-2134706/

● DBA寶典今日頭條號地址: http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826

........................................................................................................................

● QQ群號: 230161599 (滿) 、618766405

● weixin群:可加我weixin,我拉大家進群,非誠勿擾

● 聯絡我請加QQ好友 646634621 ,註明新增緣由

● 於 2019-04-01 06:00 ~ 2019-04-30 24:00 在魔都完成

● 最新修改時間:2019-04-01 06:00 ~ 2019-04-30 24:00

● 文章內容來源於小麥苗的學習筆記,部分整理自網路,若有侵權或不當之處還請諒解

● 版權所有,歡迎分享本文,轉載請保留出處

........................................................................................................................

小麥苗的微店 https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

小麥苗出版的資料庫類叢書 http://blog.itpub.net/26736162/viewspace-2142121/

小麥苗OCP、OCM、高可用網路班 http://blog.itpub.net/26736162/viewspace-2148098/

小麥苗騰訊課堂主頁 https://lhr.ke.qq.com/

........................................................................................................................

使用 weixin客戶端 掃描下面的二維碼來關注小麥苗的weixin公眾號( xiaomaimiaolhr )及QQ群(DBA寶典)、新增小麥苗weixin, 學習最實用的資料庫技術。

........................................................................................................................

歡迎與我聯絡

 

 



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2642469/,如需轉載,請註明出處,否則將追究法律責任。

相關文章