1、建立鏈結伺服器(包括遠端以及本地伺服器的鏈結)
exec sp_addlinkedserver 'remote ', 』 ', 'sqloledb ', '遠端伺服器名或ip位址 』
exec sp_addlinkedsrvlogin 'local ', 'false ',null, '使用者名稱 ', '密碼 』
2、資料操作
(1)查詢遠端伺服器資料庫表資料示例
select * from remote .資料庫名.dbo.表名
(2)匯入示例(將遠端資料庫表資料匯入到本地資料庫表中)
select * into 表 from remote .資料庫名.dbo.表名
(3)不再使用時刪除鏈結伺服器
exec sp_dropserver 『remote』, 'droplogins 』
–連線遠端/區域網資料(openrowset/openquery/opendatasource)
3、兩種遠端訪問的方法
(1)、openrowset(臨時訪問)
–查詢示例
select * from openrowset( 'sqloledb ', 'sql伺服器名 '; '使用者名稱 '; '密碼 ',資料庫名.dbo.表名)
–生成本地表
select * into 表 from openrowset( 'sqloledb ', 'sql伺服器名 '; '使用者名稱 '; '密碼 ',資料庫名.dbo.表名)
–把本地表匯入遠端表
insert openrowset( 'sqloledb ', 'sql伺服器名 '; '使用者名稱 '; '密碼 ',資料庫名.dbo.表名)
select * from 本地表
–更新本地表
update b set b.列a=a.列a from openrowset( 'sqloledb ', 'sql伺服器名 '; '使用者名稱 '; '密碼 ',資料庫名.dbo.表名)as a inner join 本地表 b
on a.column1=b.column1
(2)openquery用法需要建立乙個連線(固定鏈結)
–首先建立乙個連線建立鏈結伺服器
exec sp_addlinkedserver 'remote ', 』 ', 'sqloledb ', '遠端伺服器名或ip位址 』
–查詢select * from openquery(remote , 'select * from 資料庫.dbo.表名 ')
–把本地表匯入遠端表
insert openquery(remote , 'select * from 資料庫.dbo.表名 ')
select * from 本地表
–更新本地表
update b set b.列b=a.列b from openquery(itsv, 'select * from 資料庫.dbo.表名 ') as a
inner join 本地表 b on a.列a=b.列a
(3)、opendatasource/openrowset
select *
from opendatasource( 'sqloledb ', 'data source=ip/servername;user id=登陸名;password=密碼 』 ).test.dbo.roy_ta
–把本地表匯入遠端表
insert opendatasource( 'sqloledb ', 'data source=ip/servername;user id=登陸名;password=密碼 ').資料庫.dbo.表名
select * from 本地表
4、使用場景
(1)如果在同一臺機器上
insert into db1…tablename select * from db2…tablename
(2)如果在同一伺服器上:
insert into db1…tablename select (這裡寫字段,除自增列以外的字段都寫進來) from db2…tablename
Sql Server使用鏈結伺服器遠端取資料
由於最近開發的乙個查詢系統,基本是在其它伺服器的,所以在本地伺服器設計了中間,用來存從遠端伺服器取資料 一種方法是通過,opendatasource來遠端讀取資料 from opendatasource sqloledb data source servername user id myuid pa...
Sql Server使用鏈結伺服器遠端取資料
由於最近開發的乙個查詢系統,基本是在其它伺服器的,所以在本地伺服器設計了中間,用來存從遠端伺服器取資料 一種方法是通過,opendatasource來遠端讀取資料 select from opendatasource sqloledb data source servername user id m...
sqlserver伺服器 急救
今天突然發現,sqlserver伺服器 遠端桌面連不上了,但是資料庫都能正常連線,記得是上次更改了遠端桌面的埠,但是防火牆上沒有開啟規則。現在通過資料庫使用者解決方法如下 作為備忘 開啟xp cmdshell sql server blocked access to procedure xp cmd...