SQLServer跨庫查詢

2021-07-10 05:33:36 字數 1461 閱讀 7416

--用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--查詢示例

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

複製**

SQL Server跨庫查詢

方式一 語句select from 資料庫a.dbo.表a a,資料庫b.dbo.表b b where a.field b.field dbo 可以省略 如 select from 資料庫a.表a a,資料庫b.表b b where a.field b.field 方式二 在乙個資料庫掛上另乙個資料...

sql server跨庫查詢

方式一 dbo可以省略 select from 資料庫a.dbo.表a a,資料庫b.dbo.表b b where a.field b.field 方式二 在乙個資料庫掛上另乙個資料庫的外鏈 對映乙個遠端資料庫 exec sp addlinkedserver 遠端資料庫的ip或主機名 n sql s...

sqlserver 跨庫查詢

select from opendatasource sqloledb data source 遠端ip user id sa password 密碼 庫名.dbo.表名 where 條件 解除sql阻止 sql server 阻止了對元件 adhocdistributedqueries 的 sta...