【问题标题】:SQL Server Data Tools - How do I preserve data along with schema?SQL Server Data Tools - 如何将数据与架构一起保存?
【发布时间】:2015-11-14 19:06:17
【问题描述】:

我一直在使用 SQL Server 项目来管理数据库的结构。

首先我创建了项目,然后导入了一个数据库。

然后,当我需要更改架构时,比如更改字段名称,我在 SQL Server 项目中进行,然后使用架构比较选项将其发布到实际数据库。

我想更进一步来保存数据库需要的基本数据。例如一个OrderType 表,其中有 2 条记录“PHONE”、“WEB”

数据库的所有新实例都需要此数据。有没有办法将这些也保留在 SQL Server 项目中,以免丢失?

现在看来唯一的方法是保留一个包含元数据的主数据库的实际副本,然后使用数据比较。但是,如果数据可以与架构同时发布,那么生成的数据库就完成了。

【问题讨论】:

  • 尽管我很想回答这个问题并获得赏金,但已经有答案hereherehere。让我知道这是否有帮助。
  • @Keith Thx。我之前看过第一个,但由于它的年代久远,我认为可能会有更新的数据。但是,我没有看到第二个和第三个,它们的数据很好。如果您想发布一些内容作为答案,我会接受。
  • 我继续发布我在这个主题上的发现。

标签: sql-server-data-tools sql-server-data-project


【解决方案1】:

有两种方法可以保存静态数据并将其与数据库一起发布。

  1. 拥有一个填充了静态数据的“参考”数据库。在发布新实例时,SQL Server 数据工具有一个“数据比较”工具,可让您与实时数据库进行比较,并创建自定义脚本以使用另一个数据库中的数据更新一个数据库。

    李>
  2. 创建包含插入语句的脚本,然后在发布时运行这些脚本。 SQL Server 数据工具有两个工具可以协助完成此任务。

    一个。打开数据表(右键单击 SQL Server 对象资源管理器,然后选择“查看数据”),然后单击顶部的“脚本”按钮。它将为表中的所有行创建一个插入脚本。 More on Comparing Data from MSDN

    b.然后获取这个创建的脚本,并将其作为“部署后”脚本添加到数据库项目中。当您为数据库创建发布脚本时,项目中的任何部署后脚本都会自动包含在主脚本中。 More on post deployment scripts from MSDN

【讨论】:

    猜你喜欢
    • 2012-05-14
    • 2015-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多