不要说是同一台机器上的两个数据库了就是两台机器上的两个数据库也没问题。
同一台机器上的两个数据库
insert into 库名.dbo.表(...) select * from 库名.dbo.表
insert into 库名.dbo.表(...) select * from 库名.dbo.表
在多个服务器间进行,条件查询,条件插入操作
select * into 本地库名..表名 from OPENDATASOURCE('SQLOLEDB', 'Data Source=远程ip;User ID=sa;Password=密码').库名.dbo.表名
select * into 本地库名..表名 from OPENDATASOURCE('SQLOLEDB', 'Data Source=远程ip;User ID=sa;Password=密码').库名.dbo.表名
insert 本地库名..表名 select * from OPENDATASOURCE('SQLOLEDB','Data Source=远程ip;User ID=sa;Password=密码').库名.dbo.表名
或使用联结服务器:
EXEC sp_addlinkedserver '别名','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;'exec sp_addlinkedsrvlogin @rmtsrvname='名',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码'
EXEC sp_addlinkedserver '别名','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;'exec sp_addlinkedsrvlogin @rmtsrvname='名',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码'
go
然后你就可以如下:
select * from 别名.库名.dbo.表名
insert 库名.dbo.表名 select * from 别名.库名.dbo.表名
select * into 库名.dbo.新表名 from 别名.库名.dbo.表名
go
select * from 别名.库名.dbo.表名
insert 库名.dbo.表名 select * from 别名.库名.dbo.表名
select * into 库名.dbo.新表名 from 别名.库名.dbo.表名
go