SQL 說明文件版本控制系統

適用於:SQL ServerAzure SQL DatabaseAzure Synapse Analytics

本文說明我們用於 SQL 文件的 版本控制系統。 版本設定系統了解產品及其版本。 該系統使您能夠選擇您感興趣的產品和版本。 系統接著會顯示適當的文件。

適用對象產品

大多數的 SQL Server 文章都會在標題下方加上適用對象。 在同一行上,接著會列出方便使用的 SQL「產品」清單,指出文章是否與該產品相關。 例如,SQL Server 產品可能會標記為相關,但同時 Azure SQL Database 則可能會標記為與文章無關。

「適用於」這一行不會顯示產品的版本。 我們致力於避免 適用對象 這一行與我們版本控制系統設定中的產品面向之間出現不一致。

個別檔案集歷程記錄

針對 SQL Server 2014 及更早的版本,每個版本都有自己個別的完整文件檔案複本。 例如,SQL Server 2014 文件會從 SQL Server 2012 的文件複本開始。 2014 的複本接著會在產品開發週期期間進行編輯。

這種舊方法表示若在 2014 的文件中發現問題,2012 和 2008 的文件中也可能會存在該問題。 這會讓修正問題和一般維護變得更為困難。

相同檔案中的多個版本

基於此原因和其他因素,SQL Server 2016 的文件檔案也適用於 2017、2019,且可能適用於 <vNext>。 這項合併得以實現,因為我們現在會將 版本標記 指派給 SQL Server 文件檔。 版本識別碼會依各個文件檔案適合的細分層級進行指派,或明確內嵌於其中。

UI 中的版本設定控制

當您使用我們的 Docs 網站檢視任何 SQL 文件文章時,您可以在目錄 (TOC) 的上方看見目前選擇的版本設定 moniker。 控制項是下拉式清單。

media_versioning-control-10-sql-server-2017.png

如果您想要查看不同版本 SQL Server 的檔,請選取位於目前版本名字名稱結尾的展開箭號。 然後選擇選擇您想要的任何產品和版本組合。 當您選取不同的版本時,顯示的文件會突然變更,以顯示新選擇版本的差異。 可能會有變更,也可能不會有任何變更;這兩種案例都很常見。

media_versioning-control-20-expanded.png

HTTPS 參數 view=

每個網址開頭是 https://learn.microsoft.com/sql/ 之文章都會在其網址上附加名為 ?view= 的參數。 此參數值是版本控制 moniker 程式碼。

網址中的 moniker「程式碼」一律會和版本設定控制項中顯示的 moniker「名稱」相符。

產品,而非版本

版本

在 1990 到 2000 年代間,Microsoft SQL Server 只有一個產品。 每個 SQL Server 版本都有各種「版本」,例如 SQL Server 2008 的 DeveloperEnterprise 版本。 版本會包含稍微不同的功能集,但核心產品都是相同的。 新的 SQL Server 版本可能仍具有各種版本。

產品

隨著近年雲端運算和 Microsoft Azure 的崛起,Microsoft 發行了 Azure SQL Database 產品。 雖然傳統 SQL Server 內部部署產品和 Azure SQL 資料庫產品共用許多程式碼,但這些產品是兩個真正獨立的產品。

就 SQL 而言,版本識別名稱用於區分不同產品,但不區分不同版本。

Azure 雲端 SQL 產品

對於完整網址以 https://learn.microsoft.com/sql/ 開頭的文章,幾乎全部都適用於名為 SQL Server 的產品至少一個版本。 這些文章的大部分也適用於一或多個我們裝載在 Azure 雲端上 SQL 服務產品。 其中的一項 SQL 雲端產品名為 Azure SQL Database。

自然地,Azure SQL Database 產品只有一個版本。 幾乎所有適用於 Azure SQL Database 但不適用於 SQL Server 的文章,其網址開頭都是 https://learn.microsoft.com/azure/sql-database/

版本篩選案例

版本控制系統會篩除所有不適用於目前啟用 moniker 的文件內容。 每次您選擇不同的版本設定 moniker 時,隱藏的內容集便會變更。 篩選會在下列層級隱藏內容:

  • 文章內的區段或句子。
  • 目錄(TOC)中的文章條目。

以下是解釋選擇不同 moniker 效果的案例。

情境 1:在目前文章中

下列案例會聚焦於您目前文章內的區段:

  1. 目前使用的版本識別名稱是 SQL Server 2017
  2. 您正在閱讀一節,說明首次新增至 SQL Server 2017 版的功能。
  3. 您將 moniker 變更為 SQL Server 2016
  4. 您會察覺您正在閱讀的區段已消失。
  5. 您再次更改別名,這次改為 SQL Server 2019
  6. 您會察覺您正在閱讀的 2017 區段已重新顯示。

在上述情境中,關於 2017 年新功能的章節很可能會以 moniker 範圍 標示,其中包含下列 moniker 程式碼:

  • >=sql-server-2017

選擇 moniker SQL Server 2019 時,版本設定系統便會了解 2019 大於或等於 2017,並顯示該區段。

場景 2:選擇隱藏文章的鏈接

以下這種不常見的情況說明了:如果您選取目前在目錄(TOC)中隱藏的文章連結,會發生什麼情況。 簡單來說,連結的運作方式為:

  1. 目前的版本名稱是 SQL Server 2017
  2. 在目前的文章 A中,您可以選取僅適用於 SQL Server 2016 的文章 B 連結。
    • 在選取之前,目錄中對應文章 B 的條目已隱藏。
  3. 選擇後,將顯示文章 B 。
    • 顯示文章 B 時,會強制版本控制項切換為 SQL Server 2016 名稱。
    • 因為原本的名稱 SQL Server 2017 必須放棄。 此放棄操作會在網頁頂部附近顯示一則資訊訊息。 該訊息說明目前的別名必須切換,以配合新文章 B。

案例 3:巡覽至 HTTPS 位址

下列文章是針對 SQL Server 2017 新增的。 文章會描述在版本 2017 中新增至 SQL Server 的功能。 大多數或所有這些新功能也都是版本 2019 的一部分。 以下是文章的屬性。

屬性
標題 SQL Server 2017 的新功能
別名範圍 =">= sql-server-2017"
https 位址 https://learn.microsoft.com/sql/sql-server/what-s-new-in-sql-server-2017

有鑑於基底 https 位址,下表會解釋在使用者附加 ?view= 參數及各種值時會發生什麼情況。

?view= 的值 https 位址導覽的運作方式
(無參數) 版本設定系統會嘗試其預設的 moniker 值。 通常我們會將此設為最新的 SQL Server 非預覽版本。

SQL Server 2017 或 2019 的預設會滿足屬性 >= sql-server-2017

系統會將參數附加到 https 位址 (也許是 ?view=sql-server-2017)。
接著,版本控制下拉式清單控制項會設為相符的 Moniker 名稱。
sql-server-2016 版本控制系統會意識到文章的綽號範圍不包括 2016 版本。

系統接著會從中選擇一個符合該範圍條件的名稱。

然後正如同版本 2016 的案例,會附加 ?view= 參數,且控制項名稱會和參數值相符。
sql-server-2017 版本設定系統了解參數值包含在文章的 moniker 範圍內。

版本設定控制項會設為與參數值相符。
sql-server-2019 這也適用於值為 sql-server-2017 的案例,差別僅在參數和控制項會設為 2019。

所有 SQL - 不隱藏任何內容,特殊別名

All SQL 有一個特殊的別名產品名稱,而其唯一的版本是 Hide nothing。 此 moniker 的目的是用於在內部測試特定變更。 如果由客戶使用,這個名稱與其說是提供資訊,不如說更可能造成誤解。

有些文章包含與多個 SQL Server 版本相關的資訊。 每個一般 moniker 都會隱藏已設版本標記的區段,否則這些區段可能會顯示對該 moniker 版本而言不正確、令人困惑或互相矛盾的資訊。 特殊的 All SQL 標記會顯示各版本區段,而且使用者可能不容易察覺到顯示的是不正確的資訊。

訊息:要求的頁面不適用於 <Moniker>

下列情況會導致在 Docs 網頁靠近頂端處顯示資訊訊息:

  1. 目前的版本標記為 SQL Server 2017
  2. 您正在閱讀與 SQL Server 2017 相關的文章。
    • 文章與 Azure SQL Database 產品「無關」。
  3. 您嘗試將別名變更為 Azure SQL Database - 目前版本
  4. 您會看到您的嘗試遭到拒絕,且顯示一個訊息。

在此情境的最後,您會看到下列資訊訊息顯示於 Docs 網頁頂端附近:

要求的頁面不適用於 Azure SQL 資料庫 - 目前。 您已重新導向到此頁面適用的最新產品版本。

最新版本可能會排除尚未完全發行且處於預覽狀態的版本。

media_versioning-control-30-viewfallbackfrom.png

先前的 SQL Server 版本

版本設定系統已為 SQL Server 2016 版本之後的版本完全實作。