从另一个数据库创建数据库?

时间:2008-08-23 19:51:31

标签: sql-server-2005 tsql

SQL Server 2005中是否有自动方法从另一个数据库中的多个表创建数据库?我需要处理一个项目,我只需要几个表来在本地运行它,我不想备份50 gig DB。

更新

我尝试过任务 - >在Management Studio中导出数据,虽然它创建了一个包含我想要的表的新子数据库,但它没有复制任何表元数据,即...没有PK / FK约束和没有身份数据(即使选中了Preserve Identity)。

我显然需要这些来工作,所以我愿意接受其他建议。我将尝试使用该数据库发布工具。

我没有可用的Integration Services,并且两个SQL Server无法直接相互连接,因此它们已经用完了。

更新更新

数据库发布工具工作,它生成的SQL有点错误,所以需要一点手动编辑(尝试引用不存在的触发器),但是一旦我这样做了,我就很高兴。

5 个答案:

答案 0 :(得分:4)

您可以使用Database Publishing Wizard。它将允许您选择一组包含或不包含数据的表,并将其导出到.sql脚本文件中,然后您可以针对其他数据库运行该文件以重新创建表和/或数据。

答案 1 :(得分:1)

首先创建新数据库。然后右键单击它并转到上下文菜单中的“任务”子菜单。你应该有一些导入/导出功能。我记不起来,因为我现在不在工作! :)

从那里,您可以选择源和目标数据源以及要传输的表。选择表时,单击高级(或选项)按钮,然后选中名为“保留主键”的复选框。否则,将为您创建新的主键值。

答案 2 :(得分:1)

  

我知道这种方法几乎不能自动调用,但为什么不使用一些简单的SELECT INTO语句呢?

因为我必须首先重建模式,约束和索引。这就是我想要自动化的部分......获取数据很容易。

感谢大家的建议,看起来很容易。

答案 3 :(得分:0)

Integration Services可以帮助您完成此任务。该工具提供了高级数据转换功能,因此您可以从大型数据库中获取所需的确切数据子集。

假设测试/调试需要此类数据,您可以考虑应用行抽样来减少导出的数据量。

答案 4 :(得分:-1)

  1. 创建新数据库
  2. 右键单击它,
  3. 任务 - >导入数据
  4. 按照说明