使用查询中的名称导出选择性表

时间:2014-09-11 05:49:25

标签: sql sql-server tsql ssis

我们的生产数据库有大约2000个表,所有这些表都列在一个表(Project)中,另一列将它们标记为1表示测试,0表示prod。我需要将标记为0的表导出到我们的测试环境中。

那么如何在SQL ServerSSIS中导出一些名称将是查询结果的表呢?

表名将是此查询的结果:

select tableName from [Project] where test = 0                

1 个答案:

答案 0 :(得分:0)

除非您的表没有索引,关系等,否则获取数据库结构和数据的一部分的任务并不重要。相对容易的任务是放弃你不需要的东西。但是,如果你的表有任何关系,你需要做正确的顺序。因此,任务可以通过以下步骤完成:

  1. 将另一列添加到表Project,比如DropOrder。使用正确的顺序手动填写,同时考虑到您当前的限制。
  2. 备份您的测试数据库并在生产地点恢复它。
  3. 运行脚本以删除测试表。该脚本可以使用简单的动态sql DROP语句。
  4. 当然,这是一般性的想法,不知道太多细节。例如,交换步骤3和2可能更好,或者具有更复杂的功能来删除脚本。