问题标签 [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.
sql-server-data-tools - SSDT/SqlPackage 丢弃统计信息
在构建期间,我们基于 SSDT .sqlproject 生成数据库的 dacpac 文件。这个 dacpac 稍后会使用 sqlpackage 部署到生产环境中。尽管使用了 /p:DropStatisticsNotInSource=False 开关,sqlpackage 将删除所有统计信息,这些统计信息是在 sqlproject 与生产数据库的最后一次同步之后添加的。
我们还可以使用发布配置文件和 SSDT 的生成脚本选项来重现这一点:
我们如何强制 sqlpackage 不删除统计信息?
sql-server-data-tools - 错误 SQL72014:找不到变量 DatabaseName - DacPac、SSDT、SqlPackage.exe
我无法意识到我做错了什么并在互联网上找到了一些东西。
有谁知道以下部署停止器的原因是什么?
可能这就是 DacPac 的众多设置。
visual-studio - 为什么 SqlPackage Script Action 和 VisualStudio Generate Script 会产生不同的结果?
我们有一个带有发布配置文件的 Visual Studio 数据库项目,根据我是使用 Visual Studio 的Generate Script选项还是命令行中的 SQL Package 来生成不同的更改脚本:
- Visual Studio 创建一个 10,455KB 的文件。
- SqlPackage 使用以下命令创建一个 8,835KB 的文件:
SqlPackage /a:Script /sf:pub.dacpac /pr:pub.profile.xml
关于如何观察命令行 VS 用于生成其脚本的任何建议?任何想法当两个进程都使用以下发布配置文件时可能会有什么区别?
sql-server-data-tools - 使用 DacServices 部署时获取目标机器上的 SqlServer Dac 程序集文件路径
我正在调用 DacServices API 来部署 DACPAC,这需要 Microsoft.SqlServer.Dac 的程序集引用。我运行安装程序的目标机器可能在 D 驱动器上安装了 SSDT/SQL,或者可能安装了更高版本的 SQLServer。
使用 DacServices 部署时,如何在目标机器上动态获取 Microsoft.SqlServer.Dac 程序集文件路径(如果我们使用 SqlPackage.exe,我们会遇到同样的问题,因为我需要动态找出 120/DAC/我运行安装程序的目标上的 bin 或 130/DAC/bin 文件夹)?
或者,如果有人可以针对此问题提出任何其他解决方案,以便相同的 exe 可以在不同的机器/环境中运行,那就太好了。
sql-server - sqlpackage.exe:有什么方法可以在导出时忽略用户?
我正在尝试创建一个 bacpac 文件以将我的数据库导出到 azure。
在创建导出包()时,是否有让它忽略用户sqlpackage /a:Export
?
sql-server - 使用 SqlPackage 导入 bacpac 数据库,检查存在并指定位置
我可以运行SqlPackage
import bacpac
,它可以在运行之前检查数据库是否存在,并且还可以指定文件的放置位置.mdf, .ldf
?所以当数据库存在时,它不会做任何事情;但如果它不存在,它会为我导入数据库吗?
sql-server - 防止 SqlPackage 在导出期间写入主分区
要将 144GB SQL Server 数据库移动到 Azure SQL,我想将其导出为 .bacpac 格式。
为此,我使用 SQL 版本 130 的 SQL 包:
但是,这失败了,因为我的主分区(C:,有 39GB 可用空间)在操作过程中耗尽了磁盘空间。正如您在命令中看到的那样,我尝试导出到 D:。似乎导出脚本在 C: 上做了一些临时的事情。
我怎样才能防止这种情况?(我已经检查了默认的 SQL Server 临时路径,它也在 D 上:)
cmd - 带有日期的 SQLPackage.exe 文件名
我正在尝试使用 SQLPackage.exe 自动将 Azure 数据库备份到我的本地计算机。我正在尝试将日期添加到文件名中,以便每晚都不会被覆盖。以下行将获取日期,但随后将停止备份运行,并出现如下所示的错误
命令
错误
我试过使用
和其他选择,但没有运气。任何人都可以提出任何建议吗?
sql-server - Linux 上的 SQL Server 无法导出到 bacpac
我正在尝试将我的数据库导出到 .bacpac 文件。我收到以下错误:
我正在使用的命令是:
我要备份的数据库与我的 mssql 安装在不同的 ssd 上。我不知道这是否有区别。
我一直在谷歌搜索如何解决这个问题,大多数使用 Windows 的人通过确保各种 Windows 服务正在运行并在没有运行时启动它们来解决类似的问题。但我不确定如何在 linux 中检查相同的东西,但我认为我需要的所有服务当前都在运行,因为我可以sqlcmd
通过 JetBrains 的 DataGrip 应用程序连接到数据库。所以我知道连接是可能的。就是不知道为什么sqlpackage
连接不上。。。
更新
按照建议,我试了一下以下命令:
并且错误略有不同:
sql-server - 部署包含 $(ESCAPE_SQUOTE()) 的 SQL 更改
我在 Visual Studio 中有一个数据库项目,我试图每晚自动部署到测试环境。为此,我使用了 TFS,它利用 PowerShell 脚本运行“ SqlPackage.exe ”来部署白天发生的任何更改。
我的一些 proc 包含在作为代理作业步骤的一部分的脚本内运行的逻辑,并包含以下代码(在动态 SQL 中):
部署影响此过程的更改时,我遇到以下问题:
SQL 执行错误:发生致命错误。解析 $(ESCAPE_SQUOTE( 时遇到不正确的语法。
这是一个已知问题,似乎不受支持。它似乎是“SQLCmd”命令将 $( 字符误解为变量的函数:
“覆盖发布操作期间使用的 SQL 命令 (sqlcmd) 变量的值。”
那么我该如何解决呢?您无法禁用变量似乎是“sqlcmd”的一个主要限制,我没有看到支持该参数的参数......
更新 1
似乎通过您可以通过提供“-x”参数( Source,Documentation )来禁用“sqlcmd”中的变量替换:
-x(禁用变量替换)
不过,仍然看不到从“SqlPackage.exe”中执行此操作的方法。