我有一台Windows 2012服务器。服务器可以访问我的SQL数据库。 我无法访问SQL数据库服务器,也无法在运行我的网站的Windows 2012服务器上安装SSMS。
我想使用SqlPackage.exe
使用.dacpac文件更新我的数据库方案
我收到以下错误:
未处理的异常:System.TypeInitializationException:'Microsoft.SqlServer.Dac.DacPackage'的类型初始值设定项引发了异常。 ---> System.TypeInitializationException:'Microsoft.SqlServer.Dac.DacServices'的类型初始值设定项引发异常。 ---> System.TypeInitializationException:'SqlSchemaModelStaticState'的类型初始值设定项引发了异常。 ---> System.IO.FileNotFoundException:无法加载文件或程序集“Microsoft.SqlServer.TransactSql.ScriptDom,Version = 12.0.0.0,Culture = neutral,PublicKeyToken = 89845dcd8080cc91”或其依赖项之一。系统找不到指定的文件。
如果没有在服务器上安装SSMS,我是否可以通过某种方式SqlPackage.exe
提供所需的Microsoft.SqlServer.TransactSql.ScriptDom
?
如果不可能的话,是否有一个可以完成这项任务的现有独立执行官?
答案 0 :(得分:1)
SqlPackage附带SMSS或SQL数据工具。
除了安装这两个二进制文件中的一个以部署dacpac之外别无其他选择,大多数计算机都可以运行visual studio,因为sql数据工具是默认VS安装的一部分。答案 1 :(得分:1)
您可以下载任何这些nuget包(取决于所需的版本和平台)。你会发现任何丢失的DLL https://www.nuget.org/packages?q=microsoft.sqlserver.dac+microsoft.sqlserver.dacfx
(或者您可以直接从包中使用Microsoft.SqlServer.Dac.DacServices
编写自己的C#/ Powershell应用程序。)
答案 2 :(得分:1)
自2018年8月以来,最好的选择是从https://docs.microsoft.com/en-us/sql/tools/sqlpackage-download?view=sql-server-2017#get-sqlpackage-net-core-for-windows下载“ Windows .NET Core .zip文件”
答案 3 :(得分:0)
通常您安装SSDT来执行此操作。我不确定是否有可移动版本的SSDT在某个地方不需要安装,如果那就是你真正需要的。
答案 4 :(得分:0)
这似乎是我可以安装的最小的软件包,仍然可以使用该工具(sqlpackage.exe)。
Microsoft®SQLServer®数据层应用程序框架(2016年6月30日)
https://www.microsoft.com/en-us/download/confirmation.aspx?id=53013
以上(今天)安装时,将其安装到以下目录中
C:\ Program Files \ Microsoft SQL Server \ 130 \ DAC \ bin \ SqlPackage.exe