Sql server 将表复制到其他SQL Server上的其他数据库

Sql server 将表复制到其他SQL Server上的其他数据库,sql-server,Sql Server,我想将一个表从一个数据库复制到另一个数据库。我知道,如果数据库位于同一台SQL Server上,您可以轻松地执行以下操作 SELECT * INTO NewTable FROM existingdb.dbo.existingtable; 如果数据库位于两个不同的SQL Server上,而不必遍历原始表中的每条记录并将其插入新表中,有没有简单的方法可以做到这一点 此外,这需要在SQL Server Management Studio之外的代码中完成。Microsoft SQL Server数据库

我想将一个表从一个数据库复制到另一个数据库。我知道,如果数据库位于同一台SQL Server上,您可以轻松地执行以下操作

SELECT * INTO NewTable FROM existingdb.dbo.existingtable;
如果数据库位于两个不同的SQL Server上,而不必遍历原始表中的每条记录并将其插入新表中,有没有简单的方法可以做到这一点


此外,这需要在SQL Server Management Studio之外的代码中完成。

Microsoft SQL Server数据库发布向导将生成所有必要的insert语句,如果需要,还可以生成架构信息:

是的。添加一个条目,并使用select into使用由四部分组成的db对象命名约定

例如:

SELECT * INTO targetTable 
FROM [sourceserver].[sourcedatabase].[dbo].[sourceTable]
生成脚本

生成一个脚本来创建表,然后生成一个脚本来插入数据


签出以生成数据插入脚本。

如果只是复制表,则链接服务器可以正常工作或创建脚本,但如果辅助表已包含一些数据,则建议使用第三方比较工具

我正在使用,但也有很多其他工具,如红门或开发艺术

当然,第三方工具是不必要的,你可以用本机做任何事情,只是更方便而已。即使你的预算很紧,你也可以在试用模式下使用这些工具来完成任务


是一个关于类似主题的好文章,有很多关于如何在纯sql中执行此操作的示例。

创建数据库,将脚本数据库作为。。。创造

在源服务器上的SSMS中,使用导出向导,将目标服务器数据库作为目标

  • 源实例>数据库>任务>导出数据
  • 数据源=SQL Server本机客户端
    • 验证/输入服务器和数据库
  • 目标=SQL Server本机客户端
    • 验证/输入服务器和数据库
  • 后续向导
SQL Server(2012)提供了另一种为SQL Server数据库及其对象和数据生成脚本的方法。在本例中,该脚本可用于将表的架构和数据从源数据库复制到目标数据库

  • 使用SQLServerManagementStudio,在对象资源管理器中右键单击源数据库,然后从“任务”中选择“生成脚本”。
  • 在“选择对象”窗口中,选择“选择特定数据库对象”以指定要为其生成脚本的表,然后通过在每个表旁边勾选来选择这些表。单击下一步。
  • 在“设置脚本选项”窗口中,指定保存生成的脚本文件的路径,然后单击“高级”。
  • 在“高级脚本选项”窗口中,将架构和数据指定为要编写脚本的数据类型。您可以从这里决定是否要为表中的索引和键编写脚本。单击“确定”。 返回“高级脚本选项”窗口,单击“下一步”
  • 查看摘要窗口并单击下一步。
  • 您可以从“保存或发布脚本”窗口监视进度。如果没有错误,单击Finish,您将在指定路径中找到脚本文件。

  • SQL脚本方法对于为表的架构和数据(包括索引和键)生成单个脚本非常有用。但是,如果表之间存在关系,此方法也不会以正确的顺序生成表的创建脚本。

    如果编写大量数据的脚本,SSM将无法打开SQL。但是您仍然可以在命令提示符下使用
    sqlcmd
    来执行脚本。@Rubiksmomo-True,但还要注意的是,即使SSM可以打开大量数据,在编写少量数据的脚本时,插入仍可能失败(“查询完成时出错”)。即使只有少量列(宽度较窄),也可能发生这种情况。