问题标签 [dacpac]
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.
c# - 在不部署数据库属性的情况下部署通过代码 dacpac
我有一个 dacpac 文件,我正在使用 DacServices 库通过应用程序部署该文件。我有以下代码来做到这一点:
问题是,使用此代码,目标数据库始终将其恢复模式更改为“完整”,这是在 SSDT 数据库项目(生成 dacpac)中设置的内容。
我们部署的各种目标数据库使用各种数据库属性,我们不知道目标数据库的恢复模型。有些使用简单,有些使用完整——我们不想改变它。
如何更改此代码,使其不对目标数据库属性进行任何更改?我已经尝试取消勾选数据库项目中的“部署数据库属性”设置,但上面的代码似乎覆盖了它。
powershell - PowerShell 使用 **DacServices** 和 SQLCMD 变量来部署 DACPAC
在 PowerShell 中,我使用Microsoft.SqlServer.Dac.DacServices和 Microsoft.SqlServer.Dac.DacDeployOptions 来部署/更新数据库 DACPAC。我遇到的问题是找到设置包所需的 SQLCMD 变量的位置。
缩略样本
我知道我可以用 SqlPackage.exe 很好地输入这些,也许这就是我应该做的。但是,在文档或 web grok 中,我找不到使用 SQLCMD 变量作为选项的 DacServices 使用示例——SQLCMD 变量作为我项目 DACPAC 的必需参数。
sql-server-data-tools - 创建发布预览时出现 SSDT 发布错误
我正在使用 Visual Studio 2013 来管理包含我们数据库架构的 .sqlproj 文件。该模式已成功部署数十次。
尝试发布到特定目标数据库时,“创建发布预览”步骤似乎失败,但没有给出错误。预览的输出包括一些预期的警告:
- 列 {...} 正在被删除,可能会发生数据丢失
- 如果执行此部署,对 {...} 的更改可能会在 {...} 中引入运行时错误
- 此部署在执行期间可能会遇到错误,因为对 {...} 的更改被目标数据库中 {...} 的依赖项阻止
我已取消选中“如果可能发生数据丢失,则阻止增量部署”。
预览会停止,并且不会生成任何脚本。
sql-server - 使用 dacpac 获取 T-SQL 输入和输出?
FSharp.Data.SqlClient 依赖于sys.sp_describe_first_result_set
发现查询结果集的架构。问题是这需要在设计/构建时连接到 SQL Server 数据库。是否可以从 a 获取此信息.dacpac
?数据层应用程序声称“启用声明式数据库开发”。
有一些库可以读取 dacpac 及其内容和 T-SQL AST。我认为输入和输出类型可以从该信息中得出。
从声明性模型中导出输入和输出列表是否可能/可靠?有记录功能请求的好地方吗?:-)
dacpac - 使用 SqlPackage 发布 dacpac 时覆盖 DefaultDataPath 和 DefaultLogPath 变量
环境:
- 使用 Visual Studio 2013 Update 4 中的 SQL Server 数据库工具创建用于发布数据库的 DacPac。
- 使用 TFS 构建来构建和删除数据库项目。
- 使用 SqlPackage 版本将 dacpac 发布到 SQL Server 2012。
使用 SqlPackage 操作“发布”,部署脚本是根据目标数据库的默认值使用以下变量生成的:
:setvar DefaultDataPath "H:\YourServerDefault"
:setvar DefaultLogPath "H:\YourServerDefault"
我想覆盖这些位置以登陆我们配置了一些外部加密的特定目录对。
我试图以几种方式覆盖这些 SQLCMD 值:
在命令行上覆盖:
SQLPackage /Action:Publish /SourceFile:./Db.dacpac /Profile:./MyProfile.publish.xml /Variables:DefaultDataPath=H:\MyNewLocation
在发布配置文件中添加覆盖(下面的代码段):
<ItemGroup>
<SqlCmdVariable Include="DefaultDataPath ">
<Value>H:\YourServerDefault</Value>
</SqlCmdVariable>
</ItemGroup>
虽然我可以使用任何一种技术来覆盖我自己定义的 SQLCMD 变量,但是像 DefaultDataPath 和 DefaultLogPath 这样的内置变量会被忽略。
使用 SqlPackage 发布时有没有办法覆盖这些值?
sql-server - SQL Server 项目视图引用来自不同数据库的表
我正在将数据库模型转换为 SQLModel,以便我们可以开始使用 dacpac 进行部署。我已经用其他一些数据库完成了这项工作,但没有一个引用外部数据库。我有一个问题,即几个视图和存储过程引用来自同一服务器上不同数据库的表。对于存储过程没有错误,因为过程不需要在运行时创建表。但是对于我得到构建错误的视图
包含对对象的未解析引用。对象不存在或引用不明确
我一直在尝试找出一种方法来使其工作,而不必拥有第二个具有适当字段的项目或引用不同的 dacpac。我的同事建议尝试使用同义词,但这也没有解决问题。
任何帮助将不胜感激。
continuous-integration - 与 ssdt 的持续集成
因此,我一直在查看 sql server 数据工具 (ssdt) 并看到一些信息表明可以与 Microsoft 数据库项目进行持续集成,我只是想知道是否有人实际上在实践中这样做。
dacpac 方法看起来非常吸引人,乍一看似乎可行但不确定。查看带有最新 ssdt 的 Visual Studio 2013。
谢谢!
sql-server - 使用 MSDeploy 发布 DACPAC 文件,部署后脚本中的 UTF8 字符丢失
我有一个在 Visual Studio 2013 中为 SSDT 项目构建的 DACPAC 文件。这个 SSDT 项目定义了一个部署后脚本,旨在将一些静态数据合并到已发布的表中,其中一条数据包含版权符号。
现在,当我通过 Visual Studio 发布数据库时,版权符号被保留,并正确合并到目标表中。当我使用 MSDeploy 发布相同的数据库(具有相同的 dacpac 和发布配置文件)时,版权符号将作为“?”合并到目标数据库中。象征。同样,当我使用Action:Script
而不是Action:Publish
,生成的 SQL 脚本包含一个“?” 而不是版权符号。
似乎 Visual Studio 生成的脚本是 UTF8 编码的,但被烘焙到 dacpac 中的脚本会丢失 UTF8 编码。有没有人对如何解决这个问题有任何想法?
sql-server - 将 DACPAC 部署到 SQL Server - 创建数据库失败
我正在尝试将在 Visual Studio 2012 数据库项目中创建的新数据库发布到我们的 SQL Server 2012 环境。我可以转到服务器并右键单击“数据库”并创建一个没有问题的新数据库,但是当我尝试发布我的数据库时,我收到一个错误,即 CREATE DATABASE 权限在数据库中被拒绝master
。
有谁知道为什么我可以直接在服务器上创建它,但在尝试从 Visual Studio 发布时却不能?
谢谢,莱斯利
release-management - 发布管理配置 DACPAC 变量
我正在尝试在我们的一个存储过程中配置变量(令牌),该存储过程是 DACPAC 项目的一部分。我试图以与配置文件相同的方式执行此操作。IE
使用 ext 令牌创建一个重复文件。将要替换的项目替换为TOKEN_NAME。在 RM 中为组件创建一个变量。但是,这似乎不适用于 DACPAC 解决方案,并且变量不会被替换。
这可能与 DACPAC 项目有关吗?如果不是,我可以采取什么方法在存储过程中添加可配置项?
如果这是可能的,我哪里错了?