SqlServer将数据库中的表复制到另一个数据库

时间:2022-10-04 22:30:26

sqlserver将数据库中的表复制到另一个数据库

 

一、如果两个数据库在同一台服务器上

1、复制表结构和数据(a->b):select * into databaseb.dbo.tableb from databasea.dbo.tablea

2、仅仅复制表结构(a->b):select * into databaseb.dbo.tableb from databasea.dbo.tablea where 1=2

二、如果两个数据库在不同的服务器上

分为导出和导入两种,都需要先连接远程数据库,再进行操作。如何连接远程数据库?

在连接远程数据库之前,需要先打开ad hoc服务,依次执行下面四句语句(不要一次执行):

exec sp_configure "show advanced options",1
reconfigure
exec sp_configure "ad hoc distributed queries",1
reconfigure

这样就可以连接远程数据库了:

select * into databaseb.dbo.tableb from opendatasource( 'sqloledb', 'data source=ip/servername;user id=sa;password=***' ).databasea.dbo.tablea where 1=2

记住,为了安全起见,执行完成之后,请关闭ad hoc服务:

exec sp_configure "ad hoc distributed queries",0
reconfigure
exec sp_configure "show advanced options",0
reconfigure,

复制表结构与数据的图文方法

 

复制表结构

首先,打开并连接sql server,在源数据库source_db(源数据库名称)上右键,然后依次点击“编写表脚本为”→“create到”→“新查询编辑器窗口”。

SqlServer将数据库中的表复制到另一个数据库

在上一步产生的编辑器中按”crtl+a“组合键全选内容,然后右键“复制“(或按"crtl+c"键)。

SqlServer将数据库中的表复制到另一个数据库

新建查询,然后右键”粘贴“(或ctrl+v);如图所示,将代码中source_db(源数据库名)改为target_db(目标数据库名)。接着右键单击”执行“执行代码。

SqlServer将数据库中的表复制到另一个数据库

然后,在目标数据库的表结构中就可以看到被复制过来的表了。

SqlServer将数据库中的表复制到另一个数据库

其实上面的操作一句sql语句就可以实现了

select * into new_table from old_table;

表的数据内容复制图文方法

选中目标数据库target_db,然后点击”任务“→”导入数据“。

SqlServer将数据库中的表复制到另一个数据库

进入”sql server导入导出向导“,根据提示步骤操作。

SqlServer将数据库中的表复制到另一个数据库

选择数据源(源数据库)。

SqlServer将数据库中的表复制到另一个数据库

选择目标(目标数据库)、指定表复制或查询。

SqlServer将数据库中的表复制到另一个数据库

SqlServer将数据库中的表复制到另一个数据库

选择源表和源视图:设置源表和目标表后,单击“编辑映射”按钮,在弹出窗口中选中“启用标识插入”。(否则后面会出错)

SqlServer将数据库中的表复制到另一个数据库

SqlServer将数据库中的表复制到另一个数据库

一直点击“下一步”至最后完成操作。

SqlServer将数据库中的表复制到另一个数据库

SqlServer将数据库中的表复制到另一个数据库

SqlServer将数据库中的表复制到另一个数据库

有点是不用输入这么多字段名了。

对应sql语句如下:

insert into table1(col1,col2,col3,...)
select [col1,col2,col3...] from table2 ;

到这里这篇关于sqlserver将数据库中的表复制到另一个数据库的文章就介绍到这了,更多相关sqlserver表复制内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!