1. 程式人生 > >跨伺服器匯入資料或查詢資料

跨伺服器匯入資料或查詢資料

跨伺服器匯入資料SQL語句及其問題解決方案
跨伺服器匯入資料SQL語句:

--自定義表名,在匯入前建立表
SELECT * INTO TbName FROM OPENROWSET('SQLOLEDB','192.168.0.7';'sa';'damon king',DBName.dbo.TbName)


--跨伺服器查詢示例
SELECT * FROM OPENROWSET('SQLOLEDB','192.168.0.7';'sa';damon king',DBName.dbo.TbName)
按F5執行,若未啟用'Ad Hoc Distributed Queries'(專案分散式查詢),則會提示如下資訊:

SQL Server 阻止了對元件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的訪問,因為此元件已作為此伺服器安全配置的一部分而被關閉。系統管理員可以通過使用 sp_configure 啟用 'Ad Hoc Distributed Queries'。有關啟用 'Ad Hoc Distributed Queries' 的詳細資訊,請參閱 SQL Server 聯機叢書中的 "外圍應用配置器"。

此時,可以使用sp_configure來啟用'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' 關閉:

--啟用'Ad Hoc Distributed Queries'
EXEC SP_CONFIGURE 'show advanced options',0
RECONFIGURE
EXEC SP_CONFIGURE 'Ad Hoc Distributed Queries',0
RECONFIGURE
此時完成了跨伺服器匯入資料任務!