【问题标题】:Create a database from another database?从另一个数据库创建一个数据库?
【发布时间】:2010-09-06 16:12:47
【问题描述】:

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

更新

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

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

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

更新更新

Database Publishing Tool 工作正常,它生成的 SQL 有点错误,因此需要进行一些手动编辑(尝试引用不存在的触发器),但一旦我这样做了,我就可以开始了。

【问题讨论】:

    标签: sql-server-2005 tsql


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          【解决方案4】:

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

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

          谢谢大家的建议,看起来很简单。

          【讨论】:

            【解决方案5】:
            1. 创建新数据库
            2. 右键单击它,
            3. 任务 -> 导入数据
            4. 按照说明进行

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2012-09-05
              • 2020-03-16
              • 1970-01-01
              • 1970-01-01
              • 2014-03-23
              • 1970-01-01
              相关资源
              最近更新 更多