SQL Server 遠程登入伺服器管理與查詢
/*不同伺服器資料庫之間的資料操作*/--建立連結的伺服器 exec sp_addlinkedserver 'ITSV', ' ', 'SQLOLEDB', '遠程伺服器名或ip地址' exec sp_addlinkedsrvlogin 'ITSV', 'false ',null, '使用者名稱', '密碼' --查詢樣本 select * from ITSV.資料庫名.dbo.表名 --匯入樣本 select * into 表 from ITSV.資料庫名.dbo.表名 --以後不再使用時刪除連結的伺服器 exec sp_dropserver 'ITSV', 'droplogins' --串連遠程/區域網路資料(openrowset/openquery/opendatasource) --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 --openquery用法需要建立一個串連 --首先建立一個串連建立連結的伺服器 exec sp_addlinkedserver 'ITSV', ' ', 'SQLOLEDB', '遠程伺服器名或ip地址' --查詢 select * FROM openquery(ITSV, 'SELECT * FROM 資料庫.dbo.表名 ') --把本地表匯入遠端資料表 insert openquery(ITSV, '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 --把本地表匯入遠端資料表