问题标签 [sqlpackage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
244 浏览

windows-7-x64 - NT AUTHORITY\Local account Windows 7 上的 SQLPackage.exe 问题

我们一直在使用安装程序中的 SQLPackage.exe 文件在各种操作系统上部署 LocalDB V11.0。

虽然这在 Windows 8.1 和 Window 2012 R2 上运行良好,但当我们从 Windows7 尝试时,我们总是遇到以下错误。

错误 SQL72014:.Net SqlClient 数据提供程序:消息 15401,级别 16,状态 1,第 1 行 Windows NT 用户或组“NT AUTHORITY\Local 帐户和管理员组成员”未找到。再次检查名称。错误 SQL72045:脚本执行错误。执行脚本:CREATE USER [NT AUTHORITY\Local account and member of Administrators group] FOR LOGIN [NT AUTHORITY\Local account and member of Administrators group];

我们不确定我们在这里缺少什么,有人知道吗?

0 投票
2 回答
1021 浏览

c# - 尝试使用带有 powershell 的 sqlpackage.exe 提取数据库时出现“无法访问已关闭的流”错误消息

所以我有一个自动化工具,它使用 c# 调用 Powershell 脚本,该脚本将使用 sqlpackage.exe 将远程服务器上的数据库提取到 .dacpac 中并将其保存到我的文件系统中。

我们使用对 powershell 进程/管道的异步调用来获取脚本执行的当前结果并将它们输出到屏幕上供用户使用。该工具多年来一直运行良好,但突然在提取过程中途停止并抛出以下错误消息“提取数据库时出错:无法从数据库中导出模式和数据。无法访问关闭的流。” 在这一点上,我不知道是什么导致流被中断并且提取过程突然停止。

只是想知道是否有人经历过类似的事情,或者是否有人可以推荐一些步骤来调试此错误?

这是执行提取的脚本部分:

0 投票
1 回答
467 浏览

azure - 启用数据库审核和威胁检测后无法提取 Azure Sql Server 数据库

在 Azure 中为我的 Sql Server 数据库启用审核和威胁检测后,我无法再使用 sqlPackage.exe 提取我的数据库 dacpac,因为我遇到了以下错误:

有任何想法吗?

0 投票
5 回答
1957 浏览

c# - 在未安装 SSMS 的服务器上使用 SqlPackage.exe

我有一个 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

如果不可能,那么是否有一个现有的独立 exe 可以完成这项工作?

0 投票
1 回答
1840 浏览

sql-server - sqlPackage.exe 不包括部署脚本中删除的存储过程

我在 Visual Studio 中有一个 SQL Server 数据库项目,并且我已经删除了一个现有的存储过程。我在本地也有一个数据库,其中存在确切的存储过程。

当我从 Visual Studio 中对两者运行架构比较时,在生成的架构比较窗口中,我可以看到将在生成的部署脚本中删除的存储过程。但是,当我从 Powershell 脚本调用 sqlPackage.exe 时,生成的部署脚本不包含存储过程的删除语句。有趣的是,当我对存储过程进行更改时,它会包含在生成的部署脚本中,并带有一条 alter 语句。

为什么 sqlPackage.exe 在我删除它但包含它以进行更改时省略了删除存储过程语句?我觉得这是我需要提供给 sqlPackage.exe 的参数设置,但它们似乎选择退出,而不是选择加入(https://msdn.microsoft.com/library/hh550080(vs.103).aspx#Anchor_7)。

以下是我从 Powershell 发出的命令:

0 投票
1 回答
483 浏览

amazon-web-services - 从 AWS CodeDeploy 运行 sqlpackage.exe 会引发异常

我正在尝试sqlpackage.exe从 AWS CodeDeploy 执行的脚本运行。

以管理员身份登录时,该sqlpackage命令在本地 CMD 提示符下运行良好,但在作为 CodeDeploy 管道的一部分调用时不运行。

出现以下错误:

似乎无法与数据库建立连接。

CodeDeploy 作为在Local System帐户下运行的 Windows 服务运行,而我的命令提示符在该Administrator帐户下运行。这是唯一的区别,所以我认为这一定是权限问题。

似乎需要由具有sysadmin特权的用户安装 dacpac。我尝试(作为测试)将 SQL Server 用户设置NT AUTHORITY\SYSTEM为具有DBCreator.

然后部署失败并出现以下错误。

但是,我不确定如何进行。我猜做NT AUTHORITY\SYSTEM一个SysAdmin是个坏主意!

0 投票
1 回答
485 浏览

dacpac - 从 dacpac 确定目标 SQL 平台

是否可以确定创建 dacpac 时使用的目标平台。我查看了 SqlPackage.exe 的所有参数,但似乎没有一个提供此信息。理想情况下,我希望能够从命令行确定这一点,但如果也有某种方法可以从 Visual Studio 确定它,那就没问题了。

0 投票
0 回答
1865 浏览

sql-server - 导入目标模型失败。Microsoft Azure SQL 数据库 v12 不支持该元素

我正在为 Azure SQL DB 设置 CI。

跑步时

我越来越

初始化部署(开始)

初始化部署(失败)

部署计划生成期间发生错误。部署无法继续。导入目标模型 db-name 失败。详细消息 Microsoft Azure SQL 数据库 v12 不支持元素 SYMMETRIC_KEY_NAME。

SYMMETRIC_KEY_NAME 定义为:

据我了解, Azure SQL ( https://docs.microsoft.com/en-us/azure/sql-database/sql-database-transact-sql-information )支持对称密钥加密,尽管证书存储的体系结构是不同的。

是否有我可以使用的解决方法(例如,我可以在构建代理上设置的 sqlpackage.exe 参数)或可以抑制此错误以绕过此限制的标志?

到目前为止,我已经尝试过:

/p:AllowIncompatiblePlatform=True

/p:ExcludeObjectTypes=证书;SymmetricKeys

/p:ScriptDatabaseCompatibility=False

/p:TreatVerificationErrorsAsWarnings=True

/p:UnmodifiableObjectWarnings=False

/p:验证部署=假

/p:RunDeploymentPlanExecutors=False

0 投票
1 回答
1121 浏览

sql-server - 将 SQL 数据库从 Azure Blob Azure 上传到 Sql 数据库

我想将 .bacpac 数据库从 Azure Blob 存储转移到 Azure SQL 数据库。我正在sqlpackage.exe使用导入命令作为

sqlpackage.exe /a:Import /sf:<Azure Blob .bacpac 文件> /tsn:<Azure 服务器名称> /tdn:<目标数据库名称> /tu:<目标数据库用户名> /tp:<目标数据库密码>

但是这个命令给出的错误为

“无法从 . 加载包。不支持文件格式”。

请注意,在 /sf 字段中提供本地文件(与 sqlpackage 在同一系统中的.bacpac 文件)时,它可以正常工作。

- -编辑 - -

更多详细信息:我想使用 nodejs 代码将 .bacpac 文件上传到 Azure DB。所以我想出的唯一选择是将用户的 .bacpac 文件上传到 Azure blob,然后在配置的 azure Windows Server 中调用包含 sqlpackage.exe 命令的自定义脚本,以将此上传的 bacpac 传输到 Azure DB。如果您可以为这种情况提供任何可行的解决方案,而不是我想出来的,那将会很有帮助。

0 投票
2 回答
1550 浏览

sql-server - 有什么方法可以停止 SqlPackage.exe 在部署脚本中设置默认文件组?

我们正在使用 Sql Server 数据库项目使用 SqlPackage.exe 从 DacPac 创建部署脚本。我们在各种环境中设置了不同的 SQL Server 文件组。部署时,我们排除文件组,因为我们希望在默认文件组中创建对象。在数据库项目设置中,默认文件组不会从 PRIMARY 更改。

在此处输入图像描述

这在尝试部署到默认文件组不是PRIMARY 的环境时会出现问题,因为包含以下代码...

有没有办法防止在部署 SQL 中产生这种情况?