一、同一个服务器上,不同数据库间复制数据
1.insert into database1.dbo.table1(col1,col2) select col1,col2 from database2.dbo.table2
这种复制数据要求table1和table2 同时存在于两个数据库中
2.select * into database1.dbo.table1 from database2.dbo.table2
当table1不存在时,可以通过这条语句完全复制table2的结构和数据到table1中。
二、不同服务器间复制数据
第一步、a.进行外围配置,如下图进入:

b.进入下面界面后,单击“功能的外围应用配置器”

c.再勾选“启用OPENROWSET和OPENDATASOURCE支持”
第二步,Sql语句
--目的:从远程服务器(192.168.0.1)上的DataBase1数据库的 —Table1表中获取数据插入到本地的DataBaseLocal数据库表--User_Info中 --第一种 运用openrowset insert into DataBaseLocal.dbo.User_Info(DBLcol1,DBLcol2) select DBcol1,DBcol2 from openrowset( 'SQLOLEDB ', '192.168.0.1 '; 'UserName'; UserPassword', DataBase1.dbo.Table1) --第二种 运用opendatasource insert into DataBaseLocal.dbo.User_Info(DBLcol1,DBLcol2) SELECT DBcol1,DBcol2 FROM opendatasource( 'SQLOLEDB ', 'Data Source=192.168.0.1;User ID= UserName;Password= UserPassword '). DataBase1.dbo. Table1
另外说明一下,用于连接远程服务器的两个系统存储过程
1) sp_addlinkedserver –-用来映射一个远程数据库
2) sp_addlinkedsrvlogin –-用来登录一个远程数据库
本文介绍了在同一服务器和不同服务器间复制数据库数据的方法。对于同一服务器,使用INSERT INTO和SELECT...INTO语句实现数据迁移;不同服务器间,通过启用OPENROWSET或OPENDATASOURCE,结合sp_addlinkedserver和sp_addlinkedsrvlogin系统存储过程,实现远程数据的获取与插入。
7万+

被折叠的 条评论
为什么被折叠?



