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

时间:2020-03-05 18:42:27  来源:igfitidea点击:

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

更新

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

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

我没有可用的Integration Services,并且两个SQL Server无法直接彼此连接,所以它们都掉了。

更新的更新

数据库发布工具正常工作,它生成的SQL有点错误,因此需要一点手工编辑(试图引用不存在的触发器),但是一旦我这样做,我就很好了。

解决方案

回答

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

回答

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

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

回答

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

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

回答

I know this method can hardly be called automatic but why don't you use a few simple SELECT INTO statements?

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

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