5

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

更新

我在 Management Studio 中尝试了 Tasks -> Export Data,虽然它使用我想要的表创建了一个新的子数据库,但它没有复制任何表元数据,即......没有 PK/FK 约束和身份数据(甚至选中保留身份)。

我显然需要这些才能工作,所以我愿意接受其他建议。我会试试那个数据库发布工具。

我没有可用的集成服务,两个 SQL Server 不能直接相互连接,所以这些都出来了。

更新的更新

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

4

5 回答 5

4

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

于 2008-08-23T19:55:31.143 回答
1

首先创建新数据库。然后右键单击它并转到上下文菜单中的任务子菜单。您应该在那里具有某种导入/导出功能。我不记得确切,因为我现在不在工作!:)

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

于 2008-08-23T20:22:33.417 回答
1

我知道这种方法很难被称为自动,但你为什么不使用一些简单的 SELECT INTO 语句呢?

因为我必须首先重建架构、约束和索引。这就是我想要自动化的部分......获取数据是简单的部分。

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

于 2008-08-23T22:08:18.047 回答
0

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

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

于 2008-08-23T20:08:07.510 回答
-1
  1. 创建新数据库
  2. 右键点击它,
  3. 任务 -> 导入数据
  4. 遵守指示
于 2014-04-04T06:47:15.373 回答