2014-09-11 32 views
0

我们的生产数据库有大约2000个表,并且所有这些表都在一个表(Project)中列出,另一列标记为1表示测试,0表示测试。我需要将标记为0的表导出到我们的测试环境。从查询中导出带名称的选择表

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

表的名称将是此查询的结果是:除非你的表没有索引,关系等

select tableName from [Project] where test = 0     
+0

你对'出口'有什么期望?你想将数据导出到新的数据库吗?还是只想把表格结构导入新的数据库? – 2014-09-11 06:40:42

回答

0

任务时要采取数据库结构和数据的一部分,是不平凡的。比较容易的任务是放弃你不需要的东西。但是,如果你的表格有任何关系,你需要按照正确的顺序放置。因此,可以通过以下步骤完成任务:

  1. 在表Project中再添加一列,例如DropOrder。考虑到您当前的限制,请按照正确的顺序手动填写。
  2. 备份您的测试数据库并在生产地点进行恢复。
  3. 运行脚本以删除测试表。这个脚本可以使用简单的动态sql DROP声明。

当然,这是一般的想法,不知道很多细节。例如,交换第3步和第2步可能会更好,或者具有更复杂的删除脚本功能。

+0

非常感谢Serg。它有帮助。 – pritamS 2014-09-11 07:19:50

+0

很高兴听到这一点。顺便说一句,我认为这个解决方案有更多的处理 - 例如,你需要缩小表和日志来优化生产数据库等。 – Serg 2014-09-11 07:59:16