出處:http://www.cnblogs.com/doosmile/archive/2012/03/16/2400646.html
--用openrowset連接遠程SQL或插入數據
--如果只是臨時訪問,可以直接用openrowset
--查詢示例
select * from openrowset('SQLOLEDB'
,'sql服務器名';'用戶名';'密碼'
,數據庫名.dbo.表名)
在跨庫查詢時需要啟用Ad Hoc Distributed Queries
啟用Ad Hoc Distributed Queries:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
使用完成后,關閉Ad Hoc Distributed Queries:
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure
--導入示例
select * into 表 from openrowset('SQLOLEDB'
,'sql服務器名';'用戶名';'密碼'
,數據庫名.dbo.表名)
--創建鏈接服務器
exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','遠程服務器名或ip地址'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用戶名','密碼'
go
--創建鏈接服務器(包含鏡像)
Exec sp_addlinkedserver
@server = '14db',
@srvproduct = N'',
@provider = N'SQLOLEDB',
@provstr= = N'Server=10.2.16.11\COMPUTECLUSTER;FailoverPartner=10.2.16.12\COMPUTECLUSTER ;',
@catalog=N’SimCloud’
exec sp_addlinkedsrvlogin '14db','false',null,'sa','123456'
--查詢示例
select * from srv_lnk.數據庫名.dbo.表名
--導入示例
select * into 表 from srv_lnk.數據庫名.dbo.表名
--以后不再使用時刪除鏈接服務器
exec sp_dropserver 'srv_lnk','droplogins'
go
--下面的示例訪問來自某個表的數據,該表在 SQL Server 的另一個實例中。
SELECT *FROM OPENDATASOURCE('SQLOLEDB','Data Source=ServerName;User ID=MyUID;Password=MyPass').Northwind.dbo.Categories
--下面是個查詢的示例,它通過用於 Jet 的 OLE DB 提供程序查詢 Excel 電子表格。
SELECT *FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:Financeaccount.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions