首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将数据从生产转移到测试的简单或可调度的方法

将数据从生产转移到测试的简单或可调度的方法
EN

Database Administration用户
提问于 2012-01-23 18:44:00
回答 3查看 10.9K关注 0票数 2

我想要做的是,将生产数据库中的数据副本安排到dev/test数据库。

在模式方面,dev/test数据库将比生产数据库更新,但是生产数据库有当前的数据。由于我需要对照生产规模数据测试我的数据库更改,所以我遇到了一些困难,拥有当前的数据将非常有帮助。

我使用的是用于生产和开发环境的Server 2008 R2标准;有什么方法可以在我的开发服务器上创建一个作业来以只读的方式从生产数据库中“吸”数据?我想要一个脚本,它可以大量复制表数据,忽略缺少的列,忽略目标表中的任何约束。为一个表执行此操作的脚本是我真正需要的,我可以修改它以适应我的表,并复制它来运行我的所有表。我遇到的问题是找到任何与此类似的东西。

这是对我上一个性质相同的问题的跟进;从那以后,我把我的数据库放到了源代码管理中,而且我更喜欢它。问题是,我在我的开发服务器上仍然面临一个陈旧的数据问题,所以我想找到一种方法来安排更新。

我对实现这一目标的其他方法持开放态度,但它需要是我可以按计划运行的东西,以及我可以用记事本和/或SSMS或标准版SQL Server提供的其他工具构建的工具。

EN

回答 3

Database Administration用户

回答已采纳

发布于 2012-01-23 21:44:29

以下是我的建议:

  1. 如果您还没有这样做,请为生产数据库创建一个常规备份过程。为了使生活变得简单,让它成为一个完整的备份,并包含所有的数据库对象(table/schema/data/user)。微软网站上有很多关于如何实现这一点的信息。
  2. 当您需要更新您的开发环境时,将生产备份还原到开发中,然后实现迁移(表、过程、数据),您需要使用为生产更改记录的方法进行测试。
  3. 测试,知道您不仅测试您的代码更改,还测试您的迁移策略时,您推出您的更改到生产环境。您还在测试您的数据库备份和恢复(DR)策略。

注意,这可能意味着您有2个开发数据库,一个用于实际开发,一个用于集成/QA/UAT测试。

票数 8
EN

Database Administration用户

发布于 2012-01-23 20:14:28

对于这种情况,SSIS可能是最好的工具。创建一个执行复制的包,并使用SQL代理对其进行调度。您可以非常容易地将数据从一个环境复制到另一个环境。根据需要,可以将其设置为重定向或忽略复制操作中的错误和不一致。

我意识到这不是记事本和SSMS,但是SSIS包含在Sql2008SSIS标准中,并且(IMO)至少有一个短暂的熟悉。

票数 2
EN

Database Administration用户

发布于 2013-03-12 06:32:40

我觉得最好的方法是:

  1. 为生产数据库创建一个常规备份过程。为了使生活变得简单,让它成为一个完整的备份,并包含所有的数据库对象(table/schema/data/user)。
  2. 当您需要更新开发/ QA环境时,将生产备份还原到development / QA中,然后实现迁移(表、过程和数据)。
  3. 然后,根据需求,您可以设置事务性复制、差异事务或快照复制。对于报表数据库,您可以通过日志传送、复制或镜像与创建快照(取决于需求)保持相对最新的状态。
  4. 如果您想控制QA服务器上数据库的大小,那么您可以根据需求设置清除作业。
票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/11409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档