更改 SQL Server Data Tools (SSDT) 使用的 DacFx

在特定情况下,可能需要将不同版本的 DacFx 与 Visual Studio 中的 SQL Server Data Tools 接口一起使用。 如果需要 SQL Server Data Tools 的替代版本,则建议在可能的情况下使用独立版本的 DacFx。

按照以下过程更改 SQL Server Data Tools (SSDT) 使用的 DacFx 版本。

替换 SSDT 中的 DacFx 文件

SQL Server Data Tools 将 DacFx 文件存储在 Visual Studio 程序文件的 Common7\IDE\Extensions\Microsoft\SQLDB\DAC 下。 对于 Visual Studio 2022 Community,完整路径通常为 C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Extensions\Microsoft\SQLDB\DAC

替换应在相同的 DacFx 主版本中完成。 例如,如果 Visual Studio 17.9 (2022) 使用 DacFx 版本 162.2.33.1,则只应使用其他 162.x 版本。 要查看当前版本,请在文件资源管理器中从 SSDT DacFx 文件夹中选择 Microsoft.SqlServer.Dac.dll 文件,然后使用关联菜单打开文件属性。

DacFx 将发布到 NuGet。 确定 Microsoft.SqlServer.DacFx NuGet 源中所需的版本,然后按照以下步骤将其与 SSDT 配合使用:

  1. 从 Web 界面下载 DacFx 版本的 NuGet 包。

  2. 将 nupkg 文件更改为 zip 文件,并解压缩存档。

  3. 关闭 Visual Studio。

  4. 将以下文件从 lib/net462 复制到 SSDT DacFx 文件夹:

    • Microsoft.Data.Tools.Schema.Sql.dll
    • Microsoft.Data.Tools.Utilities.dll
    • Microsoft.SqlServer.Dac.dll
    • Microsoft.SqlServer.Dac.Extensions.dll
    • Microsoft.SqlServer.Dac.Extensions.xml
    • Micrososft.SqlServer.Dac.xml
    • Microsoft.SqlServer.TransactSql.ScriptDom.dll
    • Microsoft.SqlServer.Types.dll

完成此过程后,SQL 项目将需要进行清理或重新生成,才能正确合并替换的 DacFx 版本。