---跨服务器连接不同数据库
-----使用联结服务器
--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_addlinkedsrvlogin @rmtsrvname= '别名 ',@useself= 'false ',@locallogin= 'sa ',@rmtuser= 'sa ',@rmtpassword= '密码 '
----调用
--select * from 别名.库名.dbo.表名
--insert 库名.dbo.表名 select * from 别名.库名.dbo.表名
--select * into 库名.dbo.新表名 from 别名.库名.dbo.表名
--insert 库名.dbo.表名 select * from 别名.库名.dbo.表名
--select * into 库名.dbo.新表名 from 别名.库名.dbo.表名
--例子
exec sp_addlinkedserver 'MercServer','','MSDASQL',null,null,'DRIVER={SQL Server};SERVER=192.168.4.110;UID=sa;PWD=sa;'
exec sp_addlinkedsrvlogin @rmtsrvname= 'MercServer',@useself= 'false ',@locallogin= 'sa',@rmtuser= 'sa',@rmtpassword= 'sa'
exec sp_addlinkedserver 'MercServer','','MSDASQL',null,null,'DRIVER={SQL Server};SERVER=192.168.4.110;UID=sa;PWD=sa;'
exec sp_addlinkedsrvlogin @rmtsrvname= 'MercServer',@useself= 'false ',@locallogin= 'sa',@rmtuser= 'sa',@rmtpassword= 'sa'
--调用
select * from MercServer.Merc.dbo.FGM_bt_ePlnMain
select * from MercServer.Merc.dbo.FGM_bt_ePlnMain
-------不跨服务器的不同数据库 ,只需加上数据库名
select * from 数据库1.dbo.表名
select * from 数据库2.dbo.表名
select * from 数据库2.dbo.表名
转载于:https://blog.51cto.com/3941954/774067