将包含数据的表复制到SQL Server 2008中的另一个数据库

时间:2012-12-28 06:31:47

标签: sql sql-server sql-server-2008

我必须使用查询将包含数据的表格复制到另一个数据库。我知道如何在数据库中复制包含数据的表。但我不确定如何在两个数据库之间进行复制。

我必须复制大量的表,所以我需要使用查询的任何快速方法...

任何人都请帮忙......提前致谢...

4 个答案:

答案 0 :(得分:20)

您可以使用相同的方法在一个数据库SELECT INTO中复制表,但使用完全限定的表名database.schema.object_name,如下所示:

USE TheOtherDB;

SELECT *
INTO NewTable
FROM TheFirstDB.Schemaname.OldTable

这将在数据库Newtable中创建一个新表TheOtherDB,该表OldTable属于数据库TheFirstDB

答案 1 :(得分:12)

  1. 右键单击数据库,选择任务,然后单击Generate Scripts。
  2. 在结果弹出窗口中,根据需要选择选项(单击高级),删除并创建表格,删除(如果存在)等。
  3. 向下滚动并根据需要选择“架构和数据”或“仅数据”或“脚本数据类型(2008 R2)”。
  4. 保存到文件并在目标数据库上执行。
  5. 优点 -

    • 可以针对目标数据库执行,即使它位于其他服务器/实例
    • 上也是如此
    • 根据需要使用数据快速编写多个表的脚本

    警告 - 如果表包含大量数据,可能需要很长时间才能编写脚本。

    Rajan的

答案 2 :(得分:1)

INSERT INTO DB2.dbo.MyOtherTable (Col0, Col1)
SELECT Col0, Col1 FROM DB1.dbo.MyTable

两个表列必须具有相同的数据类型..

答案 3 :(得分:1)

下面的SQL Query将复制SQL Server表模式&数据从一个数据库到另一个数据库。您始终可以在目标数据库中使用表名(SampleTable)。

SELECT * INTO DestinationDB.dbo.SampleTable FROM SourceDB.dbo.SampleTable