SSDT 创建回滚部署脚本?

2024-01-28

我们可以使用TFS&SSDT创建SQLServer部署脚本,但是有没有办法创建回滚脚本,以便我们可以回滚部署? 谢谢


由于 SSDT(和类似产品)都是通过将项目中的模式与实时数据库进行比较来使数据库与模型同步来工作的,因此没有直接的方法来创建回滚脚本。还需要考虑通过部署前或部署后脚本更改/添加/删除数据。

话虽这么说,有几种选择。

  1. 每次发布时都拍摄快照。您可以使用先前版本中的快照进行另一次比较以实现回滚目的。
  2. 在其他地方维护先前的版本 - 也许可以将生产系统与本地计算机的模式进行比较。您可以使用它来与生产进行比较并进行回滚。
  3. 在发布之前生成现有系统的 dacpac(使用 SQLPackage 或 SSDT 来执行此操作)。如果出现问题,您可以使用它将该版本的架构部署回数据库。
  4. 在发布之前拍摄数据库快照。最好的情况是,您不需要它并且可以删除快照。最坏的情况,你可以用它来回滚。当然,您需要注意空间和 IO,因为您将在其他地方保持原始状态。
  5. 在多个环境中运行您的更改,以最大程度地减少回滚的需要。理想情况下,如果您已在开发、质量检查和暂存/用户接受环境中运行此操作,那么您的代码和版本应该足够可靠,能够在没有任何问题的情况下发布。

您需要相应地编码来回滚数据更改。这可能会有点棘手,因为每个场景都不同。您需要确保编写的脚本可以撤消发布中所做的任何更改。如果插入了一行,则需要回滚脚本来删除它。如果您更新了一堆数据,您将需要备份该数据或通过其他方式将其恢复。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SSDT 创建回滚部署脚本? 的相关文章

  • 使用搜索模式 '...\**\TEST-*.xml 找不到测试结果文件

    我正在 TFS Nunit 加带有适配器的 Visual Studio 中运行测试 并且我已设置构建定义如下 构建成功但没有生成测试结果文件 TFS 是否写入此 Xml 文件 日志 2017 02 08T08 08 40 8151428Z
  • SQL 性能,使用 OPTION (FAST n)

    谁能告诉我在 SQL 查询中使用 OPTION FAST n 有什么缺点 比如我这么快就抓取了10万条记录 但这对SQL Server的其他进程有影响吗 我正在接近我的问题 我必须每周运行一次数据处理 因此 第一个结果会在 5 7 秒后出现
  • 如何在存储过程中使用名称求和和分组?

    我想对钱列求和 但我想要状态中的组名称和代码 这是存储过程代码 Sql Server 2008 SELECT um upmoney as money um pId as code um FName as name up status as
  • 默认情况下 dbo 架构中的 EF 6 Code First __MigrationHistory

    我是代码优先实体框架的新手 第一次运行我的应用程序后登录数据库时 当我看到 MigrationHistory 表时 我有点困惑 我现在了解对此表的需求 但不喜欢它位于用户表内的标准 dbo 模式中 我认为它很唐突且有风险 我的第一个想法是将
  • 从多行中获取/选择值到sql server中的1行中

    我有一个表格 每列都有一些图像 Acd unq id Emp unq id Acd BImg1 Acd BImg2 Acd RImg1 Acd RImp2 Acd RImg3 Acd Active 1 1745 BinaryImg Bina
  • Linq 选择与另一个表中的 ID 相等的项目

    我不确定这怎么可能 但我有两个表 我想通过表 1 的值从表 2 中获取值 表 1 有一个名为 rank 的外键 它是int 表 2 有一个名为 name 的值 它是string 现在表 1 的 排名 与表 2 的 ID 相关 所以当我说 v
  • 如何在 SQL 中选择“上一条”和“下一条”记录?

    I am building a blog post detail page on my site that will display display a previous and next link similar to how a typ
  • 如何确定代理池在 Azure DevOps 中脱机的原因

    我注意到我的所有构建突然卡住了 如果我单击构建 则会收到以下错误 所有符合条件的代理均已禁用或离线 When I check my agent pools I get the following 我怎样才能让他们上线 确定他们离线的原因 尝
  • 不同提供商的相同 EDMX 文件

    我正在开发一个项目 其中有一个本地数据库 SQL CE 在不存在与服务器的连接的情况下用作缓冲区 在服务器上我想使用相同的数据库布局 当然 我想使用服务器和客户端上可用的 Common dll 中的相同 EDMX 文件 在客户端中 我有一个
  • 查询链接服务器时登录失败

    我正在尝试在 SQL Server 中创建链接服务器 Create the link to server uranium EXEC master dbo sp addlinkedserver server N uranium srvprod
  • SSIS Master 包执行来自另一个项目的包

    我有多个SSIS项目 但其中的一些包是相同的 我想创建一个包含所有内容的项目generic包并将其他项目与他们的特定包一起保存 所以我的问题是 是否有可能有一个主包可以执行并将父变量传递给另一个项目的包 我是 SSIS 新手 如果这是一个明
  • 使用 Git 在线使用 TFS 的 Visual Studio 2013:自动保存文件签入

    我目前正在将 Visual Studio Premium 2013 Update 3 与 Team Foundation Server Online 结合使用并使用 Git 存储库 直到最近 我已经成功使用 Git Repo 几个月了 现在
  • C# 查询两个数据库的数据

    我目前有一个查询 我正在从两个不同的数据库获取数据 这些数据被附加到一个名为 accountbuys 的列表中 我的第一个表有三个数据条目 3个想要购买股票的帐户 下一张表有 17 个数据点 购买 17 只股票 I am merging t
  • 解释 SQL Server 中 sys.objects 中的类型代码

    在 SQL Server 上 sys objects 表包含 Type 和 Type Desc 属性 例如 对于我的一个数据库 SELECT DISTINCT Type Type Desc FROM Sys Objects ORDER BY
  • 将子查询的结果插入表中并带有常量

    相关表格的概要如下 我有一个表 我们称之为联接 它有两列 都是其他表的外键 我们将这两列称为 userid 和buildingid 因此 join 看起来像 join userid buildingid 我基本上需要在这个表中插入一堆行 通
  • 从 SQL Server 2012 查询结果中减去小时数

    我正在 SQL Server 2012 Management Studio 中的警报系统信号自动化平台数据库上运行查询 但遇到了一些问题 我的查询运行得很好 但我无法将结果细化到我想要的水平 我正在选择一些格式为的列DATETIME 我只想
  • 如何通过Object Id和Column Id查询表数据?

    有桌子Clients PK LastName Name Address 1 Vidal Arturo St 2 Lavezzi Ezequiel St 3 Cuadrado Guillermo St 我想得到 通过以下查询 我可以得到前四列
  • 使用 VSTest 代替 MSTest 运行单元测试用例

    我在 TFS2010 服务器上有一个 x64 平台 C 解决方案 VS2012 我已将一个单元测试项目 也是 x64 附加到此解决方案并创建了一个构建定义 当我对构建进行排队时 它成功了 但单元测试用例不会被执行 这是因为 MSTest 是
  • 清除表中的所有行将身份规范重置为零并且不影响外键?

    我们已经创建了数据库框架以及所有关系和依赖关系 但表内部只是虚拟数据 我们需要删除这些虚拟数据 并开始添加正确的数据 我们怎样才能清除所有内容并将主键 IsIdentity 是 保留为零 并且不影响外部表关系结构 多谢 您可以采取以下步骤
  • 如何在SQL Server数据库表列中存储图像[重复]

    这个问题在这里已经有答案了 我有一张名为FEMALE在我的数据库中 它有ID as Primary Key 它有一个Image column 我的问题是如何使用 SQL 查询存储图像 尝试一下 insert into tableName I

随机推荐

  • Android 将 Drawable 和 Shape 合并为一个 Drawable(以编程方式)

    我正在设置android drawable单选按钮的编程方式如下 Drawable unchecked getResources getDrawable R drawable ic room car Drawable d getResour
  • 为什么执行指针追踪时该跳转指令的开销如此之大?

    我有一个程序可以执行指针追逐 https en wikichip org wiki pointer chasing我正在尝试尽可能优化指针追逐循环 我注意到perf record检测到函数中约 20 的执行时间myFunction 用于执行
  • 带有标识符 LabelServices 的库丢失(可能已被删除?)/出现问题。请重新加载

    我已将其发布在 google apps script issues 上 但没有任何回应 我变得绝望 因为我所有的工作表和脚本都崩溃了 所以我希望这里有人可能遇到过这个问题 并且可以告诉我如何处理这个问题 我的一些现有脚本 包括电子表格中的一
  • 将 Typeahead.js 与 ASP.Net Webmethod 集成

    我正在寻找将 Typeahead js 与 Asp Net Webmethod 一起使用的示例 我有来自的例子http twitter github io typeahead js examples http twitter github
  • SQL Server 2012-数据库主数据库中的创建数据库权限被拒绝(错误 262)

    我想使用 SQL Server Management studio 在 SQL Server 2012 上创建一个新数据库 我以管理员身份运行 SQL Server Management studio 并使用 Windows 身份验证登录
  • 性能问题 - iOS 中的 plist 与 sqlite

    我需要跟踪一些变量并经常保存它们 我不需要复杂的搜索和排序 只需要简单的读 写 plist 和 sqlite 的读 写性能有什么区别 除了上述两种方法之外 我还应该使用 core data 吗 请给我一些提示 Thanks 在 SQlite
  • 无法加载 libhdfs

    尝试使用 pyarrow 访问 hdfs 文件但无法使其工作 下面是代码 非常感谢您 rxie cedgedev03 code python Python 2 7 12 Anaconda 4 2 0 64 bit default Jul 2
  • 电子如何允许不安全的https

    Loading https github com https github com例如 工作正常 但是加载不安全的https 页面显示为空 我做了一些研究并尝试了 3 个标志 webSecurity allowDisplayingInsec
  • 如何清除服务器端文件上传文本(c#)

    我想清除文件上传的文件路径 文件上传位于更新面板内 我正在使用AsyncFileUpload 如何清除文件并更改文件上传的背景颜色 btnAudUpload Click 方法 string filename FileUpload FileN
  • gcc优化说明

    出于黑客的好奇心 我想知道如何gcc能巧妙地优化下面的功能吗 int c int i j 0 for i 0 i lt 10 i j i return j objdump D c o下面是针对arm的 但x86在逻辑上没有什么不同 0000
  • 清除标准输入缓冲区?

    我正在编写一些代码并使用 fgets 来获取用户输入 然后我在代码上编写了一个循环 以不断要求用户输入 直到用户打印退出 但第二次询问时 它写了 2 次 请输入您的输入 而不是 1 次 并且第一次没有等待我的输入 所以 我用谷歌搜索它 发现
  • 如何使用原子操作切换一个文档中的布尔字段?

    有没有办法通过原子操作来切换 MongoDB 中一个文档的布尔字段 说 用Python cl update id toggle field 1 目前 我认为通过一次手术不可能做到这一点 按位运算符 http www mongodb org
  • Oracle 中的匿名 TABLE 或 VARRAY 类型

    在 Oracle 中 我有时想创建诸如此类的构造 SELECT FROM TABLE STRINGS a b c SELECT FROM TABLE NUMBERS 1 2 3 显然 我可以为上述声明我自己的类型 我可以选择TABLE an
  • MediatR 发布和 MediatR 发送

    我已经尝试使用 MediatR 的 CQRS 模式 并且喜欢正在处理的应用程序正在转换的干净状态 在我见过和使用的所有例子中 我总是这样做 await Mediator Send command 查询也是一样的 var data await
  • float32 和 float64 之间的真正区别

    我想了解之间的实际区别float16 and float32从结果精度来看 例如 NumPy 允许您选择所需数据类型的范围 np float16 np float32 np float64 我担心的是 如果我决定使用 float16 来保留
  • 删除默认构造函数令人头疼

    我的 C 书是这么说的 lippman c Primer 第五版 第 508 页 如果类 有一个 const 成员 其类型未显式定义默认构造函数 则合成的默认构造函数被定义为已删除and该成员没有类内初始值设定项 强调我的 那么为什么这段代
  • 使用套接字 io 向所有浏览器发送消息

    我正在摆弄socket io和node js 并且想知道如何完成以下任务 我有一个简单的表单 将文本字符串发送到服务器 服务器将其发回 并将其附加到div中 我想做的是为所有浏览器中的所有用户更新该 div 目前它只更新发送消息的浏览器 来
  • 拒绝应用来自...的样式,因为其 MIME 类型('text/html')不是受支持的样式表 MIME 类型,并且启用了严格的 MIME 检查

    此错误仅在 Chrome 中显示 我正在搜索这个问题 但还没有找到令人满意的解决方案 我附上了该错误的屏幕截图 请为此提出一些想法 错误图像 https i stack imgur com 6IAxV png 样式表的 MIME 类型应为t
  • 是否可以在 Wear OS 中永久可靠地运行网络 ping 服务?

    我正在尝试找到一种在 Wear OS 上以可靠的方式运行网络心跳服务的方法 目标是有一个进程每 x 分钟发送一次网络请求 无论设备的状态如何 屏幕开 关 充电 关闭充电器等 有可能实现吗 我的方法是运行前台服务 https develope
  • SSDT 创建回滚部署脚本?

    我们可以使用TFS SSDT创建SQLServer部署脚本 但是有没有办法创建回滚脚本 以便我们可以回滚部署 谢谢 由于 SSDT 和类似产品 都是通过将项目中的模式与实时数据库进行比较来使数据库与模型同步来工作的 因此没有直接的方法来创建