Linux 上的 SQL Server 常見問題集 (FAQ)

適用於:SQL Server - Linux

下列各節提供 SQL Server 在 Linux 上執行的常見問題與解答。

一般問題

  1. 支援哪些 Linux 平台?

    SQL Server 目前支援 Red Hat Enterprise Server、SUSE Linux Enterprise Server 和 Ubuntu。 也支援透過 Docker 在容器中執行。 如需支援版本的最新資訊,請參閱支援的平台

  2. Linux 上的 SQL Server 適用於其他平台嗎?

    SQL Server 已針對先前列出的發行版本,在 Linux 上經過測試並受到支援。 其他與 Linux 發行版本密切相關的產品或許能夠執行 SQL Server (例如 CentOS 與 Red Hat Enterprise Server 密切相關)。 但如果選擇在不支援的作業系統上安裝 SQL Server,請檢閱 Microsoft SQL Server 的技術支援原則 (機器翻譯) 的<支援原則>一節以了解隱含的支援。 另請注意,如果問題在於基礎作業系統,某些社群維護的 Linux 發行版本無法獲得正式支援。

  3. Linux 上的 SQL Server 與 Windows 上的相同嗎?

    SQL Server 的核心資料庫引擎在 Linux 和 Windows 上都相同。 不過,有些功能目前在 Linux 上不支援。 如需 Linux 上不支援的功能清單,請參閱不支援的功能與服務。 另請檢閱 Linux 上的 SQL Server:已知問題。 除了這些清單上所指定的之外,其他 SQL Server 功能與服務皆在 Linux 上支援。

  4. SQL Server 的支援原則為何?

    若要了解支援原則,請檢閱 Technical Support Policy for SQL Server (SQL Server 的技術支援原則)。

  5. 我有使用 Windows SQL Server 的經驗。 是否有資源可協助我了解如何使用 Linux 上的 SQL Server?

    快速入門提供如何在 Linux 上安裝 SQL Server 及執行 Transact-SQL 查詢的逐步指示。 其他教學課程會提供如何使用 Linux 上 SQL Server 的其他指示。 如需協力廠商的提示清單,請參閱 MSSQLTIPS 的 SQL Server on Linux Tips (Linux 上的 SQL Server 提示) 清單。

授權

  1. Linux 上的授權方式為何?

    SQL Server 在 Windows 和 Linux 上都是以相同的方式進行授權。 事實上,您會授權 SQL Server,然後即可選擇在所選的平台上使用該授權。 如需詳細資訊,請參閱如何授權 SQL Server

  2. 如果我已購買 SQL Server,該選擇哪一版?

    當您執行 mssql-conf setup 時,會出現下列選項:

    Choose an edition of SQL Server:
       1. Evaluation (free, no production use rights, 180-day limit)
       2. Developer (free, no production use rights)
       3. Express (free)
       4. Web (PAID)
       5. Standard (PAID)
       6. Enterprise (PAID)
       7. Enterprise Core (PAID)
       8. I bought a license through a retail sales channel and have a product key to enter.
    

    如果您是透過 Enterprise 合約的大量授權,或以 MSDN 訂用帳戶取得授權,必須選取選項 4 到 7。 此步驟不會要求您輸入授權,但您之前必須已購買適合組態的授權。 如果您透過零售通路購買了 Standard 版本,請選取選項 8。 此選項會提示您輸入金鑰。

  3. 如何確認 Linux 上所安裝的 SQL Server 版本與版次?

    使用 sqlcmdmssql-cli 或 Visual Studio Code 等用戶端工具連線到 SQL Server 執行個體。 然後執行下列 Transact-SQL 查詢,確認您正在執行的 SQL Server 版本與版次:

    SELECT @@VERSION
    SELECT SERVERPROPERTY('Edition');
    

安裝

  1. 如何在我的 Linux 伺服器上安裝 SQL Server?

    Microsoft 維護用於安裝 SQL Server 的套件存放庫,並支援透過 yum、zypper 和 apt 等原生套件管理員進行安裝。 若要快速安裝,請參閱任一篇快速入門

  2. 我可以在適用於 Windows 10 或 Windows 11 的 Linux 子系統上安裝 SQL Server 嗎?

    不會。 Windows 10 或 Windows 11 上執行的 Linux 目前不是 SQL Server 和相關工具的支援平台。

  3. SQL Server 可以針對資料檔案使用哪些 Linux 檔案系統?

    Linux 上的 SQL Server 目前支援 ext4 和 XFS。 未來將視需要,新增其他檔案系統的支援。

  4. 我可以下載安裝套件,以離線方式安裝 SQL Server 嗎?

    是。 如需詳細資訊,請參閱版本資訊中的套件下載連結。 另請檢閱離線安裝的指示

  5. 我可以在 Linux 上自動安裝 SQL Server 嗎?

    是。 如需自動安裝的討論,請參閱 Linux 上的 SQL Server 安裝指引。 請參閱 Red HatSUSE Linux Enterprise ServerUbuntu 的範例指令碼。 您也可以檢閱 SQL Server 客戶諮詢小組所建立的這個範例指令碼

工具

  1. 我可以使用 Windows 上的 SQL Server Management Studio 用戶端存取 Linux 上的 SQL Server 嗎?

    是的,您可以使用 Windows 上所有現成的工具存取 Linux 上的 SQL Server。 包括 Microsoft 工具 (例如 SQL Server Management Studio (SSMS)、SQL Server Data Tools (SSDT) 和 OSS),以及協力廠商工具。

  2. Linux 上是否執行 SSMS 之類的工具?

    新的 Azure Data Studio 是用於管理 SQL Server 的跨平台工具。 如需詳細資訊,請參閱什麼是 Azure Data Studio

  3. Linux 上是否提供 sqlcmd 和 bcp 之類的命令?

    是的,Linux、macOS 和 Windows 上原本就提供 sqlcmd 和 bcp。 此外,還可以在 Linux、macOS 或 Windows 上使用新的 mssql-scripter 命令列工具,為您在任意位置執行的 SQL 資料庫產生 T-SQL 指令碼。 另請參閱 mssql-cli 的預覽版本。

  4. 當您透過 Windows 上的 SSMS 連線時,是否可以檢視 Linux 上執行之執行個體的活動監視器?

    是的,您可以使用 Windows 上的 SSMS 遠端連線,然後在 Linux 執行個體上使用工具/功能 (例如活動監視器命令)。

  5. 有哪些工具可用來監視 Linux 上的 SQL Server 效能?

    您可以使用系統動態管理檢視 (DMV) 收集有關 SQL Server 的各種資訊類型,包括 Linux 處理序資訊。 您可以使用查詢存放區,改善查詢效能。 其他工具 (例如內建的效能儀表板) 可從 Windows 的 SQL Server Management Studio (SSMS) 遠端工作。

    提示

    改善效能的方式之一為適當地設定您的 Linux 作業系統和 SQL Server 執行個體。 如需詳細資訊,請參閱 Linux 上的 SQL Server 效能最佳做法和設定方針

系統管理

  1. Microsoft 是否已在 Linux 上建立類似 SQL Server 組態管理員的應用程式?

    是的,Linux 上的 SQL Server 組態工具為:mssql-conf

  2. Linux 上的 SQL Server 是否支援相同主機上的多個執行個體?

    否,我們不支援相同主機電腦上的多個執行個體。 如果您必須在同一部主機上執行多個執行個體,建議使用多個容器。 請記住,每個容器都必須接聽不同的連接埠。 如需詳細資訊,請參閱執行多個 SQL Server 容器

  3. Linux 上是否支援 Active Directory 驗證?

    是。 如需詳細資訊,請參閱在 Linux 上的 SQL Server 使用 Active Directory 驗證

  4. Linux 是否支援 Always On 可用性群組和叢集?

    Linux 上的容錯移轉叢集和高可用性是透過 Linux 上的 Pacemaker 來達成。 如需詳細資訊,請參閱商務持續性與資料庫復原 - Linux 上的 SQL Server

  5. 是否可以設定 Linux 與 Windows 之間的複寫?

    您可以在 Windows 與 Linux 之間使用讀取級別複本,進行單向資料複寫。

  6. 是否可以將舊版 SQL Server 中的現有資料庫從 Windows 移轉到 Linux?

    是的,有幾種方法可以達成此目的。

  7. 我可以將資料從 Oracle 和其他資料庫引擎移轉到 Linux 上的 SQL Server 嗎?

    是。 SSMA 支援從數種資料庫引擎類型進行移轉:Microsoft Access、DB2、MySQL、Oracle 和 SAP ASE (先前稱為 SAP Sybase ASE)。 如需如何使用 SSMA 的範例,請參閱使用 SQL Server 移轉小幫手將 Oracle 結構描述移轉到 Linux 上的 SQL Server

  8. SQL Server 檔案需要哪些權限?

    /var/opt/mssql 檔案資料夾中的所有檔案都應該由 mssql 使用者所擁有並屬於 mssql 群組。 mssql 使用者和群組都應該具有所有檔案和目錄的讀寫權限。 請注意以下需要檔案和目錄權限的特殊案例:

    • 用來儲存 SQL Server 檔案的裝載網路共用需要 mssql 擁有者和群組的權限。
    • 如果您在非預設目錄中尋找資料庫檔案或備份,也必須設定該目錄的權限。
    • 如果您變更了預設根 umask 0022,安裝後 SQL Server 組態會失敗。 您屆時必須手動將必要的權限套用至 SQL Server 啟動帳戶。
  9. 我可以從安裝的 mssql 帳戶和群組變更 SQL Server 檔案和目錄的擁有權嗎?

    我們不支援從預設安裝變更 SQL Server 目錄和檔案的擁有權。 mssql 帳戶和群組專門用於 SQL Server,無法進行互動式登入存取。

  10. SQL Server 資料和記錄檔目錄是否支援符號連結?

    否,SQL Server 資料和記錄目錄不支援符號連結。 若要變更預設資料和記錄檔目錄,請參閱變更預設資料或記錄檔目錄位置

  11. 我們可以從 Linux 上的 SQL Server 和容器執行個體移除 Builtin\Administrator 帳戶嗎?

    卸除 Linux 上 SQL Server 的 Builtin\administrators 會中斷部分系統預存程序的執行。 建議不要從 Linux 上的 SQL Server/容器移除或卸除 Builtin\administrator 帳戶。

取得協助

參與編輯 SQL 文件

您知道您可以自行編輯 SQL 內容嗎? 這樣做不僅可以協助改善文件,也能名列該頁面的參與者。

如需詳細資訊,請參閱如何參與 SQL Server 文件