SqlPackage 的版本資訊

下載最新版本

本文會列出 SqlPackage 發行版本所提供的功能與修正。

162.2.111 SqlPackage

發行日期:2024 年 2 月 27 日

dotnet tool install -g microsoft.sqlpackage --version 162.2.111
平台 下載
Windows .NET 8 壓縮檔
Windows .msi 檔案
macOS .NET 8 壓縮檔
Linux .NET 8 壓縮檔

功能

功能 詳細資料
平台 參考 Microsoft.Data.SqlClient v5.1.4。
平台 SqlPackage 獨立 (.zip) 下載現已使用 .NET 8 組建。
平台 SqlPackage dotnet tool 現在可同時用於 .NET 6 和 .NET 8。 GitHub 問題
平台 SqlPackage 預覽版本現已在 dotnet tool 來源中提供。
Azure Synapse Analytics 新增了 DW_COMPATIBILITY_LEVEL 專案屬性的驗證,以確保在專案建置期間此值在 0、10、20、30、40、50 和 9,000 的有效選項內。
部署 新增對 ONLINE 索引作業的支援。 線上索引作業可以作為 SqlPackage 命令列發佈屬性/p:PerformIndexOperationsOnline 套用,也可以作為 SQL 專案模型中的元件套用。 GitHub 問題
Parquet 對 Parquet 檔案中資料的擷取和發佈作業進行了改進,包括透過平行匯入資料和減少記錄檔大小來提高效能。

修正

功能 詳細資料
部署 修正了在檢視的 apply 子句中使用函數的套件無法部署的問題。 先前的錯誤訊息是找不到函數,因為在函數之前未正確部署檢視。 GitHub 問題
部署 修正了無法正確識別 NATIVE_COMPILATIONSCHEMABINDING 等函數關鍵字並將其包含在部署指令碼中的問題。 GitHub 問題開發人員社群
部署 修正問題:在 values 子句中對系統資料表的參考將無法組建,並顯示「值不能為 Null」的錯誤訊息。 Developer Community
部署 修正問題:專案組建之後,參考的 dacpac 的絕對路徑而不是相對路徑儲存在 dacpac 中。 GitHub 問題
部署 修正問題:如果要建立另一個停用的索引,則建立停用的叢集索引會導致部署失敗。 GitHub 問題
部署 修正問題:使用者定義的資料類型的同義字導致參考無法解析。 GitHub 問題
擷取 修正問題:如果為不遵循 major.minor.build 格式的套件指定了版本,則無法設定 DacVersion 屬性。 GitHub 問題
Import 修正問題:某些定序 (包括 Chinese_PRC_CI_AS) 無法匯入,並顯示「不支援此定序」的錯誤訊息。 GitHub 問題
結構描述比較 修正問題:具有 UTF8 定序的資料庫無法提供正確結果。
結構描述比較 修正問題:在評估 Synapse 無伺服器 SQL 集區時,結構描述比較不包括外部資料來源、外部檔案格式和外部資料表物件。
安全性 修正了 .NET 上的 SqlPackage 對通用驗證 (/ua) 的支援,該驗證支援具有多重要素驗證 (MFA) 的 Microsoft Entra ID 驗證。
系統 dacpacs 修正問題:pdw* 檢視未包含在 Synapse 資料倉儲 master.dacpac 中。 GitHub 問題開發人員社群

已知問題

功能 詳細資料 因應措施
部署 尚不支援 Azure Synapse Analytics 工作負載管理功能 (工作負載群組和工作負載分類器)。 N/A
Import 使用 SqlPackage 匯出建立的 bacpac 檔案 (透過 .msi 檔案安裝的情況除外) 在大於 4 GB 時,可能無法使用 Azure 入口網站和 Azure PowerShell 匯入。 使用 SqlPackage 匯入 bacpac,或使用透過 .msi 檔案安裝的 SqlPackage 建立 bacpac 檔案。
ScriptDOM 剖析非常大的檔案可能會導致堆疊溢位。

162.1.172 SqlPackage

發行日期:2024 年 1 月 9 日

dotnet tool install -g microsoft.sqlpackage --version 162.1.172
平台 下載
Windows .NET 6 壓縮檔
Windows .msi 檔案
macOS .NET 6 壓縮檔
Linux .NET 6 壓縮檔

修正

功能 詳細資料
平台 參考 Microsoft.Data.SqlClient v5.1.3。

已知問題

功能 詳細資料 因應措施
部署 尚不支援 Azure Synapse Analytics 工作負載管理功能 (工作負載群組和工作負載分類器)。 N/A
Import 使用 SqlPackage 匯出建立的 bacpac 檔案 (透過 .msi 檔案安裝的情況除外) 在大於 4 GB 時,可能無法使用 Azure 入口網站和 Azure PowerShell 匯入。 使用 SqlPackage 匯入 bacpac,或使用透過 .msi 檔案安裝的 SqlPackage 建立 bacpac 檔案。
ScriptDOM 剖析非常大的檔案可能會導致堆疊溢位。

162.1.167 SqlPackage

發行日期:2023 年 10 月 19 日

平台 下載
Windows .NET 6 壓縮檔
Windows .msi 檔案
macOS .NET 6 壓縮檔
Linux .NET 6 壓縮檔

功能

功能 詳細資料
平台 參考 Microsoft.Data.SqlClient v5.1.1。
Azure Synapse Analytics 在 Azure Synapse Analytics 無伺服器 SQL 集區的 PARSER_VERSION 中新增對 FORMAT_OPTIONS 的支援。 文件
Azure Synapse Analytics CREATE VIEW 中為 Azure Synapse Analytics 專用 SQL 集區新增對多資料行散發 (MCD) 的支援。 GitHub 問題
Azure Synapse Analytics 新增對 Parquet 檔案擷取作業的 /p:TableData 屬性的支援,從而可以指定要匯出資料的資料表。 GitHub 問題
Fabric 資料倉儲 新增對 Fabric 資料倉儲資料庫的擷取和發佈的支援。 發佈功能不支援需要改變現有資料表的變更。 在 SQL 資料庫專案中,目標平台列舉值為 SqlDwUnifiedDatabaseSchemaProvider
Parquet 新增對使用 Azure SQL 受控執行個體和 SQL Server 2022 擷取和發佈 Azure Blob 儲存體中的 Parquet 檔案中儲存的資料的預覽支援。 不支援 Azure SQL 資料庫和 SQL Server 2019 及更早版本。 資料必須屬於 CETAS 支援的資料類型。 在許多情況下,使用 Parquet 檔案擷取和發佈比匯入/匯出 bacpac 檔案可提供更高的效能。
發佈 新增 /p:AllowTableRecreation 屬性來發佈作業。 預設值 (true) 與先前的行為一致,其中資料表變更可能需要重新建立資料表,同時保留資料表資料,但部署可能需要大量時間,或者變更追蹤資料可能會遺失。 如果任何資料表需要重新建立,將屬性 /p:AllowTableRecreation 設定為 false 會導致部署無法啟動。 GitHub 問題

修正

功能 詳細資料
申請 修正問題:重新導向輸出時,SqlPackage CLI 會擲回例外狀況。 GitHub 問題
Azure Synapse Analytics 修正問題:發佈作業無法剖析包含 filepath()filename()函數的陳述式。
Import 將 bacpac 匯入至不支援 AUTO_DROP 的 SQL Server 版本時,AUTO_DROP 選項將從統計資料中排除。
Import 修正問題:匯入包含可用性群組 ALTER 或 CREATE 的資料庫時無法匯入。
Export 修正問題:在匯入期間,bacpac 匯出中包含卸除的總帳資料行產生錯誤訊息。
Export 修正問題:匯出至 bacpac 檔案時不接受 /p:CompressionOption。
擷取 修正問題:非 dacpac 選項的 /p:ExtractTarget 選項仍要求目標檔案具有 .dacpac 副檔名。 GitHub 問題
總帳 修正問題:由於嘗試為已卸除的資料表建立權限,匯入或發佈包含已卸除的總帳資料表的資料庫失敗。
總帳 修正問題:由於嘗試將資料匯入至已卸除的資料表,匯入包含已卸除的總帳資料表的資料庫失敗。
PolyBase 修正問題:無法匯出或擷取具有 RDBMS 外部資料表的 Azure SQL 受控執行個體資料庫。 GitHub 問題
發佈 DropObjectsNotInSource 不會卸除屬於權限或角色成員資格的物件。 使用 DropPermissionsNotInSource 或 DropRoleMembersNotInSource 來啟用卸除權限或角色成員資格。 GitHub 問題
發佈 修正問題:在連線的使用者無權存取 Azure SQL 資料庫中的 master 時,發佈作業失敗。
發佈 修正問題:包含與資料行加密互動的部署遇到間歇性執行逾時錯誤。
發佈 修正問題:如果 RegisterDataTierApplication 設定為 true,則部署使用 .NET/.NET Core 組建的 dacpac 將失敗。 GitHub 問題
發佈 修正問題:修改系統版本控制的資料表並建立新結構描述導致部署失敗。 GitHub 問題

已知問題

功能 詳細資料 因應措施
部署 尚不支援 Azure Synapse Analytics 工作負載管理功能 (工作負載群組和工作負載分類器)。 N/A
Import 使用 SqlPackage 匯出建立的 bacpac 檔案 (透過 .msi 檔案安裝的情況除外) 在大於 4 GB 時,可能無法使用 Azure 入口網站和 Azure PowerShell 匯入。 使用 SqlPackage 匯入 bacpac,或使用透過 .msi 檔案安裝的 SqlPackage 建立 bacpac 檔案。
ScriptDOM 剖析非常大的檔案可能會導致堆疊溢位。

162.0.52 SqlPackage

發行日期:2023 年 5 月 11 日

平台 下載 版本
Windows .NET 6 壓縮檔 162.0.52
Windows .msi 檔案 162.0.52
macOS .NET 6 壓縮檔 162.0.52
Linux .NET 6 壓縮檔 162.0.52

功能

功能 詳細資料
平台 SqlPackage 現在會收集使用狀況資料,包括匿名功能使用狀況和診斷資料。 如需詳細資訊,請參閱使用量資料收集
平台 參考 Microsoft.Data.SqlClient v5.1.0
Azure Synapse Analytics 新增對 DW_COMPATIBILITY_LEVEL 的支援。
ScriptDOM ScriptDOM 現在作為 NuGet 上的獨立套件提供,並在 GitHub 上開放原始碼。
系統 dacpacs mastermsdb 系統 dacpac 現在可在 NuGet 上以 Microsoft.SqlServer.Dacpacs.MasterMicrosoft.SqlServer.Dacpacs.Msdb 的形式取得。 如需有關系統 dacpac 和取用 dacpac 作為套件參考的詳細資訊,請參閱 DacFx GitHub 存放庫

修正

功能 詳細資料
Azure Synapse Analytics 修正問題:連線至 Azure Synapse Analytics 無伺服器 SQL 集區時,未正確設定預設命令逾時。
Azure Synapse Analytics 修正問題:Azure Synapse Analytics 無伺服器 SQL 集區未正確判斷預設資料和記錄路徑。
Azure Synapse Analytics 修正問題:Azure Synapse Analytics 無伺服器 SQL 集區未正確判斷預設登入、使用者和結構描述。
Azure SQL Database 修正問題:暫存歷程記錄保留未正確識別為未設定 (null)。
部署 修正問題:部署計劃無法偵測 FROM VALUES 子句中子查詢中資料表/檢視上的相依項。 GitHub 問題
部署 修正問題:在目標資料庫包含繫結至資料行的規則時,部署失敗。
部署 修正問題:在目標資料庫包含繫結至具有使用者定義型別的資料行的規則時,部署失敗。 GitHub 問題
部署 修正問題:在對資料表進行其他變更時,時態表的保留期間將重設為預設值。 GitHub 問題
部署 修正問題:在資料表指定了壓縮選項時,部署中不包含主索引鍵更新。
部署 修正問題:即使未對資料表進行任何變更,也會重新組建資料分割資料表上的非叢集索引。 GitHub 問題
部署 修正問題:在未對系統版本控制的資料表進行任何變更 (對資料行進行重新排序除外) 時,記錄資料表不接受 ignorecolumnorder 屬性。
部署 修正問題:在資料表定義包含 SQLCMD 變數時,儘管沒有任何變更,外部資料表仍會卸除並重新部署。 GitHub 問題
Export 修正問題:在匯出作業期間提供的診斷資訊未正確地報告資料表大小 (以 KB 為單位,而不是以位元組為單位)。 GitHub 問題
Import 修正問題:在匯入至 Azure SQL 資料庫期間無法建立 Azure Active Directory 使用者,從而導致匯入失敗。 GitHub 問題
總帳 修正問題:在 Ledger 記錄資料表或檢視具有無效的兩部分組成的名稱時,SqlPackage 無法正確識別錯誤。
權限 修正問題:無法辨識資料庫模型中指派給使用者的權限,導致專案組建或 SqlPackage 作業失敗。
查詢存放區 修正問題:flush_interval_seconds查詢存放區選項未正確驗證最小值 60 秒。
SQL Server 2022 修正問題:無法將 DATETRUNC 函數辨識為內建函數。 開發人員社群報告
SQL Server 2022 修正問題:無法將 DATE_BUCKET 函數辨識為內建函數。

已知問題

功能 詳細資料 因應措施
部署 尚不支援 Azure Synapse Analytics 工作負載管理功能 (工作負載群組和工作負載分類器)。 N/A
Import 使用 SqlPackage 匯出建立的 bacpac 檔案 (透過 .msi 檔案安裝的情況除外) 在大於 4 GB 時,可能無法使用 Azure 入口網站和 Azure PowerShell 匯入。 使用 SqlPackage 匯入 bacpac,或使用透過 .msi 檔案安裝的 SqlPackage 建立 bacpac 檔案。
ScriptDOM 剖析非常大的檔案可能會導致堆疊溢位。

161.8089.0 SqlPackage

發行日期:2023 年 2 月 13 日

平台 下載 版本 Build
Windows .NET 6 壓縮檔 161.8089.0 16.1.8089.0
Windows .msi 檔案 161.8089.0 16.1.8089.0
macOS .NET 6 壓縮檔 161.8089.0 16.1.8089.0
Linux .NET 6 壓縮檔 161.8089.0 16.1.8089.0

重要

SqlPackage 161 版預設會加密資料庫連線。 先前使用自我簽署憑證或沒有加密的成功連線,在未更新 SqlPackage 參數的情況下,可能無法與 v161 連線。 如需詳細資訊,請參閱https://aka.ms/dacfx-connection

特性

功能 詳細資料
部署 新增功能:如果 GenerateSmartDefaults 發佈屬性設定為 true,則會從預設條件約束填入值。 GitHub 問題
Azure Synapse Analytics 在擷取和發佈作業中新增無伺服器 SQL 集區的支援。
SQL Server 2022 新增已排序叢集資料行存放區索引的支援。

修正

功能 詳細資料
部署 修正問題:發佈至 Linux 上的 SQL 因預設資料和記錄路徑為空白而失敗。 GitHub 問題
部署 修正問題:發佈具有檔案格式變更的外部資料表會導致錯誤。 GitHub 問題
部署 修正問題:如果無法存取資料行加密金鑰 (CEK),使用隨機化加密進行加密的資料行發佈不會立即失敗,此部署錯誤會延後到資料行加密步驟。
重構 修正問題:系統版本資料表上已重新命名的資料行會導致系統版本設定關閉,而不會重新開啟。 GitHub 問題
平台 修正問題:RHEL 9 上的 SqlPackage 作業因加密錯誤而失敗。 改為使用 .NET 6 執行階段 6.0.10 版。 GitHub 問題
結構描述比較 修正問題:PublishScriptDoNotEvaluateSqlCmdVariables 屬性會導致 SqlCmd 變數也無法在來源和目標上評估 (而不只是來源)。
ScriptDOM 修正 REJECT_SAMPLE_VALUE 的外部資料表支援。
ScriptDOM 修正問題:無法將壓縮選項套用至具有叢集索引的資料表。
SQL 專案 修正問題:QueryStoreFlushInterval 的有效選項不正確地回報為無效。 開發人員社群報告

已知問題

功能 詳細資料 因應措施
部署 尚不支援 Azure Synapse Analytics 工作負載管理功能 (工作負載群組和工作負載分類器)。 N/A
ScriptDOM 剖析非常大的檔案可能會導致堆疊溢位。

161.6374.0 SqlPackage

發行日期:2022 年 11 月 9 日

平台 下載 版本 Build
Windows .NET 6 壓縮檔 161.6374.0 16.1.6374.0
Windows .msi 檔案 161.6374.0 16.1.6374.0
macOS .NET 6 壓縮檔 161.6374.0 16.1.6374.0
Linux .NET 6 壓縮檔 161.6374.0 16.1.6374.0

重要

SqlPackage 161 版預設會加密資料庫連線。 先前使用自我簽署憑證或沒有加密的成功連線,在未更新 SqlPackage 參數的情況下,可能無法與 v161 連線。 如需詳細資訊,請參閱https://aka.ms/dacfx-connection

特性

功能 詳細資料
平台 變更連線以使用加密,且預設不信任伺服器憑證。 這是使用自我簽署憑證或預設沒有加密之連線的重大變更。 如需詳細資訊,請參閱這篇專門的文章
平台 參考 Microsoft.Data.SqlClient v5.0.1
平台 SqlPackage 現在可作為適用於 Windows、macOS 和 Linux 平台的 dotnet tool 進行安裝
Always Encrypted 新增 VBS (虛擬化型安全性) 和安全記憶體保護區的支援。
連線能力 將 TDS 8.0 以及 /SourceHostNameInCertificate/TargetHostNameInCertificate 的參數支援新增至 SqlPackage 作業。
複寫 新增 sp_addpublication 和點對點複寫的支援。
ScriptDOM 新增 isn't DISTINCT FROM 語法和述詞子查詢的支援。
伺服器層級角色 新增其他固定伺服器角色的支援:MS_DatabaseConnector、MS_LoginManager、MS_DatabaseManager、MS_ServerStateManager、MS_ServerStateReader、MS_ServerPerformanceStateReader、MS_ServerSecurityStateReader、MS_DefinitionReader、MS_PerformanceDefinitionReader、MS_SecurityDefinitionReader。
SQL Server 2022 新增與 SQL Server 2022 相關聯 T-SQL 函數變更的支援:GREATEST()、LEAST()、STRING_SPLIT()、DATETRUNC()、LTRIM()、RTRIM() 和 TRIM()。
SQL Server 2022 新增與 SQL Server 2022 相關聯 JSON 函數變更的支援:ISJSON()、JSON_PATH_EXISTS()、JSON_OBJECT() 和 JSON_ARRAY()。
SQL Server 2022 新增與 SQL Server 2022 相關聯位元操作函數的支援:LEFT_SHIFT()、RIGHT_SHIFT()、BIT_COUNT()、GET_BIT() 和 SET_BIT()。
SQL Server 2022 新增與 SQL Server 2022 相關聯時間序列函數變更的支援:DATE_BUCKET()、GENERATE_SERIES()、FIRST_VALUE() 和 LAST_VALUE()。
統計資料 新增 STATISTICS AUTO_DROP 選項的支援。
XML 壓縮 新增 XML 索引上 XML 壓縮的支援。

已知問題

功能 詳細資料 因應措施
部署 尚不支援 Azure Synapse Analytics 工作負載管理功能 (工作負載群組和工作負載分類器)。 N/A
ScriptDOM 剖析非常大的檔案可能會導致堆疊溢位。

19.2 SqlPackage

發行日期:2022 年 9 月 22 日

平台 下載 版本 Build
Windows .msi 檔案 19.2 16.0.6296.0
macOS .NET 6 壓縮檔 19.2 16.0.6296.0
Linux .NET 6 壓縮檔 19.2 16.0.6296.0
Windows .NET 6 壓縮檔 19.2 16.0.6296.0

特性

功能 詳細資料
連線共用 如果環境變數 CONNECTION_POOLING_ENABLED 設定為 True,則啟用所有連線的連線共用。 建議 Azure Active Directory 使用者名稱/密碼連線作業使用,以避免 Microsoft Authentication Library (MSAL) 節流。
部署選項 在 DacFx .NET API 中呈現部署選項的易記名稱。
動態資料遮罩 在匯入/匯出和擷取/發佈中新增細微 UNMASK 權限的支援。
總帳 在用於驗證和匯出/擷取的結構描述模型中新增 SQL 總帳記錄資料表,不會將記錄資料表匯入或發佈至資料庫。
平台 SqlPackage 現在內建於 .NET 6
SQL Server 2022 新增權限 ALTER LEDGER CONFIGURATION、VIEW PERFORMANCE DEFINITION、VIEW ANY PERFORMANCE DEFINITION 的支援。 深入了解權限文件中提供的權限定義。
XML 壓縮 ScriptDOM、匯入/匯出和擷取/發佈中的 XML 壓縮支援。 如需 XML 資料和 XML 壓縮的詳細資訊,請參閱 XML 資料文件

修正

功能 詳細資料
匯出 修正問題:當資料表包含計算資料行的統計資料時,匯出會失敗
匯入 修正問題:匯入卡在 95%
ScriptDOM 修正問題:STRING_SPLIT 不支援 NULL 序數值

已知問題

功能 詳細資料 因應措施
部署 尚不支援 Azure Synapse Analytics 工作負載管理功能 (工作負載群組和工作負載分類器)。 N/A
ScriptDOM 剖析非常大的檔案可能會導致堆疊溢位。
XML 壓縮 SqlPackage 尚不支援 XML 索引的 XML 壓縮。 N/A

19.1 SqlPackage

發行日期:2022 年 5 月 24 日

平台 下載 版本 Build
Windows .msi 檔案 19.1 16.0.6161.0
macOS .NET Core 壓縮檔 19.1 16.0.6161.0
Linux .NET Core 壓縮檔 19.1 16.0.6161.0
Windows .NET Core 壓縮檔 19.1 16.0.6161.0

特性

功能 詳細資料
Azure Synapse Analytics 新增原生外部資料來源的支援。
擷取 在擷取作業上新增 ExtractTarget 屬性的支援。 擷取現在支援擷取至 .sql 作為單一資料夾中每個組織物件的檔案、物件類型、結構描述,或是物件類型和結構描述。
ScriptDOM 新增 isn't DISTINCT FROM 語法的支援。

修正

功能 詳細資料
Azure Synapse Analytics 修正資料表名稱變更的發佈作業,其中資料表名稱包含 '/' 字元。
匯出 修正具有相依性的 SQL 總帳記錄資料表匯出。
擷取 修正擷取作業失敗,其中使用函數的 offset 子句用於預存程序。
擷取 修正總帳資料表擷取作業的相關警告。
一般 修正問題:未正確套用命令逾時設定。
匯入 修正問題:匯入時停用全文檢索索引。
發佈 修正問題:當新增資料行時,發佈作業會卸除並建立叢集資料行存放區索引。
發佈 修正問題:當資料分割函數包含前置零時,圖形資料表無法部署。
ScriptDOM 修正問題:無法剖析以括弧括住的 IIF 條件。

已知問題

功能 詳細資料 因應措施
部署 尚不支援 Azure Synapse Analytics 工作負載管理功能 (工作負載群組和工作負載分類器)。 N/A
部署 使用 Azure Active Directory 使用者/密碼驗證進行部署時,由於 Microsoft Authentication Library (MSAL) 節流,而使得部署時間增加。 如需詳細資訊,請參閱 GitHub 使用替代的驗證方法,例如 Azure Active Directory 服務主體
部署 適用於 Windows、macOS 和 Linux 之 .NET Core 上的 SqlPackage 在發佈作業期間失敗,錯誤訊息為針對具有安全記憶體保護區的 Always Encrypted 使用就地加密時,「設定區段 system.diagnostics 無法辨識」。 從 SqlPackage 資料夾中移除檔案 sqlpackage.dll.config
ScriptDOM 剖析非常大的檔案可能會導致堆疊溢位。

19.0 SqlPackage

發行日期:2022 年 1 月 25 日

平台 下載 版本 Build
Windows .msi 檔案 19.0 16.0.5400.1
macOS .NET Core 壓縮檔 19.0 16.0.5400.1
Linux .NET Core 壓縮檔 19.0 16.0.5400.1
Windows .NET Core 壓縮檔 19.0 16.0.5400.1

特性

功能 詳細資料
Always Encrypted 新增 Always Encrypted 資料行就地加密的支援。 發佈現在可以利用伺服器端安全記憶體保護區來就地加密、解密和重新加密資料庫資料行。 這可避免在資料庫外部移動資料的費用。 請參閱使用具有安全記憶體保護區的 Always Encrypted 就地設定資料行加密中有關就地加密的必要條件。 注意:僅支援以離線方法進行就地加密。
Azure Synapse Analytics 新增資料行層級對稱式加密的支援。
總帳 新增使用總帳資料表匯出和匯入資料庫的支援。 下列限制適用於匯出:不會移轉總帳記錄資料表及已卸除的總帳資料表;不會移轉總帳系統檢視表中的 GENERATED ALWAYS 資料行和資料;會忽略資料庫層級總帳屬性的值。
平台 新增 .NET 6 作為目標架構的支援
平台 .NET Framework 版本中參考 Microsoft.Data.SqlClient (3.0),而不是 System.Data.SqlClient。 將 Microsoft.Data.SqlClient 的 .NET Core 版本從 2.1.3 升級為 3.0。
平台 將 .NET Framework 目標版本升級為 .NET 4.6.2
ScriptDOM 新增 Sql160 剖析器的支援。

修正

功能 詳細資料
部署 修正預存程序內資料行上資料表散發解譯的問題。
部署 修正發佈作業期間 [卸除不在來源中的物件] 選項的問題。
部署 修正使用包含敏感度分類的時態表部署 dacpac 的問題。
部署 修正即使 DoNotEvaluateSqlCmdVariables 設定為 true,也會驗證變數的 Bug
擷取 根據 includeCompositeObjects 選取,修正所參考 dacpac 的重構記錄。
匯入 修正匯入目標伺服器不支援的資料庫範圍設定的問題
SQL 專案 修正問題:當套用至主索引鍵時,累加統計資料導致專案組建發生問題。
SQL 專案 修正使用檔案資料表建置專案的問題。

已知問題

功能 詳細資料 因應措施
部署 尚不支援 Azure Synapse Analytics 工作負載管理功能 (工作負載群組和工作負載分類器)。 N/A
部署 使用 Azure Active Directory 使用者/密碼驗證進行部署時,由於 Microsoft Authentication Library (MSAL) 節流,而使得部署時間增加。 如需詳細資訊,請參閱 GitHub 使用替代的驗證方法,例如 Azure Active Directory 服務主體
ScriptDOM 剖析非常大的檔案可能會導致堆疊溢位。

18.8 SqlPackage

發行日期:2021 年 10 月 4 日

平台 下載 版本 Build
Windows .msi 檔案 18.8 15.0.5282.3
macOS .NET Core 壓縮檔 18.8 15.0.5282.3
Linux .NET Core 壓縮檔 18.8 15.0.5282.3
Windows .NET Core 壓縮檔 18.8 15.0.5282.3

特性

功能 詳細資料
匯出 新增選項 VerifyExtraction,以變更匯出時的結構描述模型驗證行為
Azure SQL 支援總帳資料庫和資料表,包括匯入和匯出動作。
平台 將 Microsoft.Data.SqlClient 的 .NET Core 版本從 2.0.0 升級為 2.1.3
Azure Synapse Analytics 支援使用對稱金鑰進行資料行加密
Azure Synapse Analytics 支援使用 CREATE CERTIFICATE 進行資料行加密
Azure Synapse Analytics 支援 MERGE 陳述式
部署 AE 資料行的變數參數化,新的發佈屬性 IsAlwaysEncryptedParameterizationEnabled
部署 支援 IgnoreWorkloadClassifiers 與 IgnoreDatabaseWorkloadGroups 發佈屬性
部署 支援外部語言執行階段
ScriptDOM 支援總帳資料庫和資料表
ScriptDOM 支援內嵌索引定義中的 INCLUDE 資料行

修正

功能 詳細資料
部署 修正問題:將外部使用者部署至 Azure SQL 受控執行個體會失敗
部署 修正涉及在系統版本設定關閉之前,時態表卸除相依性的部署順序問題
部署 修正 Always Encrypted 部署 Bug,錯誤為「物件名稱 '#tmpErrors' 無效」
匯出 驗證 SqlPackage 參數 ExcludeObjectType(s) 和 DoNotDropObjectType(s)
匯出 修正當資料庫中有異動資料擷取 (CDC) 物件時匯出失敗的問題,做法是排除
擷取 新增重試,以在第一次因競爭條件而失敗時重試擷取驗證
匯入 修正當匯入至 Azure 時偶爾發生死結的問題,做法是將 MAXDOP 設定為 1
匯入 修正當時態表相依於結構描述繫結已開啟的安全性原則時匯入失敗的問題
平台 DacFramework.msi 現在由 "Microsoft SQL Server Data-Tier Application Framework" 簽署,而不是 "SQL Server 2012"
平台 預設為 x64 SqlPackage 中的大型陣列,修正一些涉及大型資料庫的案例
結構描述比較 修正具有資料庫範圍設定之相等資料庫的結構描述比較失敗問題
結構描述比較 修正資料行存放區索引的結構描述比較問題
SQL 專案 修正 "GRANT EXECUTE ANY EXTERNAL SCRIPT" 發生建置錯誤的 Bug
SQL 專案 修正 Bug:具有資料行存放區索引和 (n)varchar(max) 資料行的資料庫專案建置成功,但部署失敗
SQL 專案 修正預存程序中資料表散發資料行的未解析參考警告

已知問題

功能 詳細資料 因應措施
部署 尚不支援 Azure Synapse Analytics 工作負載管理功能 (工作負載群組和工作負載分類器) N/A
部署 尚不支援 Azure SQL 總帳資料表功能 N/A

18.7.1 SqlPackage

發行日期:2021 年 6 月 2 日

組建:15.0.5164.1

特性

功能 詳細資料
稽核 新增 EXTERNAL_MONITOR 的支援。
Azure Synapse Analytics 新增 PREDICT 的支援。
記錄 將 SqlPackage 版本和架構資訊新增至診斷記錄檔。

修正

功能 詳細資料
匯出 修正問題:在沒有叢集索引的情況下,匯出第一個資料行中有文字或影像的資料表會失敗。
匯出 修正問題:在沒有叢集索引的情況下,匯出統計資料中的資料行順序與資料表建立指令碼不同的資料表會失敗。

18.7 SqlPackage

發行日期:2021 年 3 月 10 日

組建:15.0.5084.2

特性

功能 詳細資料
部署 從 Azure 儲存體擷取巨量資料/將巨量資料發佈至 Azure 儲存體。 如需詳細資訊,請參閱適用於巨量資料的 SqlPackage
Azure Synapse Analytics 資料列層級安全性支援 (內嵌資料表值函數、安全性原則、安全性述詞)
Azure Synapse Analytics 工作負載分類支援
Azure SQL Edge 外部串流作業支援
Azure SQL Edge 為資料保留新增資料表和資料庫選項。
匯入 為匯入作業新增 2 個新的索引選項屬性。 DisableIndexesForDataPhase (將資料匯入 SQL Server 之前停用索引,預設為 true),以及 RebuildIndexesOfflineForDataPhase (將資料匯入 SQL Server 之後離線重建索引,預設為 false)
記錄 為所有作業新增屬性 (HashObjectNamesInLogs),以將所有物件名稱轉變為記錄訊息中的雜湊字串。
效能 匯入和匯出效能改進,包括可協助判斷其他瓶頸的其他記錄。
SQLCMD 為部署和結構描述比較新增屬性 (DoNotEvaluateSqlCmdVariables),以指定是否將 SQLCMD 變數取代為值。

修正

功能 詳細資料
部署 Azure SQL 的預設 MAXDOP 已從 0 變更為 8,更新 DacFx 中的結構描述模型預設值
結構描述比較 使用 OUT 和 OUTPUT 關鍵字的預存程序會忽略差異
部署 巨量資料權杖的其他驗證
建置/部署 暫存外部資料表的完整結構描述模型清除,以取得最終 dacpac 一致性。
建置/部署 新增錯誤處理並修正非 Edge 150 RE。
匯入/部署 部署期間還原的序列值
部署 修正問題:在叢集索引上變更壓縮選項會導致重新建立資料表,而不是改變索引。
部署 修正問題:如果資料表資料行變更,叢集資料行存放區索引會卸除並重新建立。
部署 修正外部使用者在部署期間遭到卸除並重新建立的問題。
結構描述比較 修正外部串流作業的結構描述比較問題。
匯入 啟用環境設定 ReliableDdlEnabled 編寫部署報告指令碼時,引發 Null 參考例外狀況。
部署 修正問題:包含系統版本設定的部署步驟會以不正確的順序建立。
部署 修正問題:結構描述比較更新或 dacpac 部署因目標包含時態表而失敗。
部署 根據目標的上一個值,在部署後重新植入識別值。

已知問題

功能 詳細資料 因應措施
部署 尚不支援 Azure Synapse Analytics 工作負載管理功能 (工作負載群組和工作負載分類器) N/A
部署 在累加式部署案例中,當使用者卸除時態表及其相依物件 (例如函數、預存程序等) 時,部署可能會失敗。 指令碼產生順序會嘗試關閉資料表的 SYSTEM_VERSIONING,這是卸除資料表的必要條件但產生的步驟順序不正確。 工作項目 產生部署指令碼,將 System_Versioning OFF 步驟移至卸除資料表之前,然後執行指令碼。

18.6 SqlPackage

發行日期:2020 年 9 月 18 日

組建:15.0.4897.1

特性

功能 詳細資料
平台 將 SqlPackage 的 .NET Core 版本更新為 .NET Core 3.1
Always Encrypted 已新增 SQL Server 2019 的安全記憶體保護區匯入和匯出支援
部署 已新增支援在從 Azure SQL Database 匯出時忽略已啟用變更資料擷取的資料表
部署 已在 Azure SQL Database 中新增索引選項 OPTIMIZE_FOR_SEQUENTIAL_KEY 的支援
部署 已新增 Azure Synapse Analytics 的識別欄位支援
[說明] 在 help (/?) 中輸出 SqlPackage 版本,並支援 /version 參數

修正

功能 詳細資料
部署 已修正以非系統管理員 (non-sysadmin) 使用者身分將 Azure SQL 受控執行個體作為目標時,所產生的錯誤部署指令碼
部署 已修正在執行指令碼動作時載入部署參與者的問題
[說明] 當作業所需時間超過 1 天時,在 SqlPackage 中輸出正確的經過時間
部署 已修正針對 .NET Core 部署時的 dacpac 註冊問題
部署 修正 .NET Core 上處理 /accessToken (/at) 參數的 SqlPackage
部署 允許預存程序中的 ALTER TABLE 陳述式作為非最上層陳述式
部署 已將具體化檢視的 Azure Synapse Analytics 驗證修正為不區分大小寫

已知問題

功能 詳細資料
部署 尚不支援 Azure Synapse Analytics 工作負載管理功能 (工作負載群組和工作負載分類器)

18.5.1 SqlPackage

發行日期:2020 年 6 月 24 日

組建:15.0.4826.1

修正

功能 詳細資料
部署 修正 18.5 中引入的迴歸問題:透過外部登入使用者在內部部署中部署 dacpac 或匯入 bacpac 時,會出現「'type' 附近的語法不正確」的錯誤

18.5 SqlPackage

發行日期:2020 年 4 月 28 日

組建:15.0.4769.1

特性

功能 詳細資料
部署 SQL Server 2008 及更新版本、Azure SQL Database 和 Azure Synapse Analytics 現已支援資料敏感度分類
部署 新增 Azure Synapse Analytics 的資料表條件約束支援
部署 新增已排序叢集數據行存放區索引的 Azure Synapse Analytics 支援
部署 新增外部資料來源 (Oracle、Teradata、MongoDB/CosmosDB、ODBC、巨量資料叢集) 的支援,以及 SQL Server 2019 巨量資料叢集的外部資料表支援
部署 新增 SQL Database Edge 執行個體作為支援的版本
部署 支援格式為 '<伺服器>.<DNS 區域>.database.windows.net' 的 Azure SQL 受控執行個體伺服器名稱
部署 在 Azure Synapse Analytics 中新增複製命令支援
部署 新增發佈期間的部署選項 'IgnoreTablePartitionOptions',以避免當 Azure Synapse Analytics 資料表上的資料分割函數變更時重新建立資料表
.NET Core 在 .NET Core 版本的 SqlPackage 中新增 Microsoft.Data.SqlClient 的支援

修正

修正 詳細資料
部署 修正將 JSON 路徑剖析為運算式
部署 修正產生 AlterAnyDatabaseScopedConfiguration 和 AlterAnySensitivityClassification 權限的 GRANT 陳述式
部署 修正無法辨識的外部指令碼權限
部署 修正內嵌屬性 - 屬性的隱含新增不應顯示差異,但明確提及應透過指令碼顯示
部署 解決問題:變更具體化檢視 (MV) 所參考的資料表會導致產生 Alter View 陳述式。 Azure Synapse Analytics 的 MV 不支援 Alter View 陳述式。
部署 修正將資料行新增至具有 Azure Synapse Analytics 資料的資料表時發佈失敗此問題
部署 修正變更 Azure Synapse Analytics 的發佈資料行類型 (資料遺失案例) 時,更新指令碼應將資料移至新的資料表此問題
ScriptDom 修正 ScriptDom Bug,此 Bug 導致其無法辨識在內嵌索引後面定義的內嵌條件約束
ScriptDom 修正 ScriptDom SYSTEM_TIME 在批次陳述式中遺漏右括弧
Always Encrypted 修正 SqlPackage 重新連線且暫存資料表已消失時無法卸除 #tmpErrors 資料表,因為暫存資料表會在連線停止時消失

已知問題

功能 詳細資料
部署 18.5 中引入的迴歸問題:透過外部登入使用者在內部部署中部署 dacpac 或匯入 bacpac 時,會出現「'type' 附近的語法不正確」的錯誤。 因應措施是使用 SqlPackage 18.4,這將在下一版 SqlPackage 中修正。
.NET Core 因為 Microsoft.Data.SqlClient 的此一已知問題,匯入包含敏感度分類的 bacpacs 時,會因「內部連接發生嚴重錯誤」而失敗。 這將在下一版 SqlPackage 中修正。

18.4.1 SqlPackage

發行日期:2019 年 12 月 13 日

組建:15.0.4630.1

修正

修正 詳細資料
ScriptDom 18.3.1 中引進的 ScriptDom 剖析迴歸誤將 'RENAME' 視為最上層權杖,因而導致剖析失敗。

已知問題

功能 詳細資料
部署 18.4.1 中引入的迴歸問題:透過外部登入使用者部署 dacpac 或匯入 bacpac 時,會出現「未將物件參考設定為物件的執行個體」的錯誤。 因應措施是使用 SqlPackage 18.4,這將在下一版 SqlPackage 中修正。

18.4 SqlPackage

發行日期:2019 年 10 月 29 日

組建:15.0.4573.2

特性

功能 詳細資料
部署 新增部署至 Azure Synapse Analytics 的支援。
平台 適用於 macOS、Linux 和 Windows 的 SqlPackage .NET Core 正式推出。
安全性 移除 SHA1 程式碼簽署。
部署 新增支援全新的 Azure 資料庫版本:GeneralPurpose、BusinessCritical、Hyperscale
部署 新增 Azure Active Directory 使用者和群組的 Azure SQL 受控執行個體支援。
部署 支援 .NET Core 上 SqlPackage 的 /AccessToken 參數。

已知問題

功能 詳細資料
ScriptDom 18.3.1 中引進的 ScriptDom 剖析迴歸誤將 'RENAME' 視為最上層權杖,因而導致剖析失敗。 這將在下一版 SqlPackage 中修正。

.NET Core 的已知問題

功能 詳細資料
匯入 針對壓縮檔大小超過 4 GB 的 .bacpac 檔案,您可能需要使用 .NET Core 版本的 SqlPackage 來執行匯入。 因為 .NET Core 會產生 ZIP 標頭,這些標頭雖然有效,但 .NET Full Framework 版本的 SqlPackage 無法讀取。
部署 不支援 /p:Storage=File 參數。 .NET Core 只支援記憶體。
Always Encrypted SqlPackage .NET Core 不支援 Always Encrypted 資料行。
安全性 SqlPackage .NET Core 不支援多重要素驗證的 /ua 參數。
部署 不支援使用 JSON 資料序列化的舊版 V2 dacpac 與 bacpac 檔案。

18.3.1 SqlPackage

發行日期:2019 年 9 月 13 日

組建:15.0.4538.1

特性

功能 詳細資料
部署 新增部署至 Azure Synapse Analytics 的支援 (預覽)。
部署 將 /p:DatabaseLockTimeout=(INT32 '60') 參數新增至 SqlPackage。
部署 將 /p:LongRunningCommandTimeout=(INT32) 參數新增至 SqlPackage。
匯出/解壓縮 將 /p:TempDirectoryForTableData=(STRING) 參數新增至 SqlPackage。
部署 允許從其他位置載入部署參與者。 系統會從部署目標 .dacpac 的相同目錄 (相對於 SqlPackage 二進位檔的 Extensions 目錄) 載入部署參與者,並將 /p:AdditionalDeploymentContributorPaths=(STRING) 參數新增至可指定其他目錄位置的 SqlPackage。
部署 新增支援 OPTIMIZE_FOR_SEQUENTIAL_KEY。

修正

修正 詳細資料
部署 修正以忽略自動索引,使其不會在部署時中斷。
Always Encrypted 修正以處理 Always Encrypted varchar 資料行。
建置/部署 修正以解析 XML 資料行集的 nodes() 方法。
ScriptDom 修正會誤將 'URL' 字串解譯為最上層權杖的其他案例。
圖形 修正條件約束中虛擬資料行參考所產生的 SQL。
匯出 產生符合複雜性需求的隨機密碼。
部署 修正以在擷取條件約束時接受命令逾時。
.NET Core (預覽) 修正檔案的診斷記錄。
.NET Core (預覽) 使用串流來匯出資料表資料,以支援大型資料表。

18.2 SqlPackage

發行日期:2019 年 4 月 15 日

組建:15.0.4384.2

特性

功能 詳細資料
圖形 針對邊緣條件約束與邊緣條件約束子句新增圖形資料表支援。
部署 已啟用模型驗證規則,以針對 SQL Server 2016 和更新版本支援 32 個索引鍵資料行。

修正

修正 詳細資料
部署 修正因為使用了不支援的查詢提示,而對 SQL Server 2016 RTM 資料庫進行反向工程。
部署 修正在建立檔案群組陳述式前發生之自動關閉 alter 陳述式的部署順序。
ScriptDom 修正 ScriptDom 剖析迴歸,其中會將 'URL' 字串解譯為最上層權杖。
部署 修正在剖析 alter 資料表新增 index 陳述式時的 Null 參考例外狀況。
結構描述比較 已針對一律顯示為不同且可為 Null 之保存的計算資料行修正結構描述比較。

18.1 SqlPackage

發行日期:2019 年 2 月 1 日

組建:15.0.4316.1

預覽版本。

特性

功能 詳細資料
部署 已新增 UTF8 定序的支援。
部署 在索引檢視表上啟用了非叢集資料行存放區索引。
平台 移到 .NET Core 2.2。
結構描述比較 在 .NET Core 上使用記憶體支援的儲存體來進行結構描述比較。

修正

修正 詳細資料
效能 使用舊版基數估計工具進行反向工程查詢的效能修正。
效能 已修正在產生指令碼時所發生的重大結構描述比較效能問題。
結構描述比較 已修正結構描述漂移偵測邏輯,以忽略特定的擴充事件 (xevent) 工作階段。
圖形 已修正圖形資料表的匯入順序。
匯出 已修正搭配物件權限匯出外部資料表。

已知問題

此版本包含目標為 .NET Core 2.2 之 SqlPackage 的跨平台預覽組建。 SqlPackage 可以在 macOS 和 Linux 上執行。

已知問題 詳細資料
部署 針對 .NET Core,不支援建置及部署參與者。
部署 針對 .NET Core,不支援使用 JSON 資料序列化的舊版 dacpac 與 bacpac 檔案。
部署 針對 .NET Core,由於發生區分大小寫的檔案系統問題,因此可能無法解析參考的 dacpacs (例如 master.dacpac)。 因應措施是將參考檔案的名稱改為大寫 (例如 MASTER.BACPAC)。

18.0 SqlPackage

發行日期:2018 年 10 月 24 日

組建:15.0.4200.1

特性

功能 詳細資料
部署 已新增資料庫相容性層級 150 的支援。
部署 已新增 Azure SQL 受控執行個體的支援。
效能 已新增 MaxParallelism 命令列參數,可指定資料庫作業的平行處理原則程度。
安全性 已新增 AccessToken 命令列參數,可指定連線至 SQL Server 時的驗證權杖。
匯入 已新增支援串流處理 BLOB/CLOB 資料類型以用於匯入。
部署 已新增純量 UDF 'INLINE' 選項的支援。
圖形 已新增圖形資料表 'MERGE' 語法的支援。

修正

修正 詳細資料
圖形 已針對圖形資料表修正無法解析的虛擬資料行。
部署 已修正在使用記憶體最佳化的資料表時,透過記憶體最佳化的檔案群組來建立資料庫。
部署 已修正在外部資料表上包含擴充屬性。

17.8 SqlPackage

發行日期:2018 年 6 月 22 日

組建:14.0.4079.2

特性

功能 詳細資料
診斷 已改進連線失敗的錯誤訊息,包括 SqlClient 例外狀況訊息。
部署 在單一分割區索引上支援索引壓縮以用於匯入/匯出。

修正

修正 詳細資料
部署 已修正使用 SQL 2017 和更新版本的 XML 資料行集的反向工程問題。
部署 已針對 Azure SQL Database 修正對資料庫相容性層級 140 進行指令碼處理會遭到忽略的問題。

17.4.1 SqlPackage

發行日期:2018 年 1 月 25 日

組建:14.0.3917.1

特性

功能 詳細資料
匯入/匯出 已新增 ThreadMaxStackSize 命令列參數,可使用大量巢狀陳述式來剖析 Transact-SQL。
部署 資料庫目錄定序支援。

修正

修正 詳細資料
匯入 將 Azure SQL Database bacpac 匯入至內部部署執行個體時,已修正因為「此版本的 SQL Server 不支援沒有密碼的資料庫主要金鑰」而引發的錯誤。
圖形 已針對圖形資料表修正無法解析的虛擬資料行錯誤。
結構描述比較 已修正用來比較結構描述的 SQL 驗證。

17.4.0 SqlPackage

發行日期:2017 年 12 月 12 日

組建:14.0.3881.1

特性

功能 詳細資料
部署 已在 SQL 2017+ 和 Azure SQL Database 上新增「時態性保留原則」 的支援。
診斷 已新增 /DiagnosticsFile:"C:\Temp\SqlPackage.log" 命令列參數,可指定要儲存診斷資訊的檔案路徑。
診斷 已新增 /Diagnostics 命令列參數,可將診斷資訊記錄至主控台。

修正

修正 詳細資料
部署 在遇到不了解的資料庫相容性層級時不要封鎖。 相反地,將假設為最新的 Azure SQL 資料庫或內部部署平台。