您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關怎么用SQL Server啟用Ad Hoc Distributed Queries,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
SQLServer數據庫遠程操作中,在使用openrowset/opendatasource前首先要啟用AdHocDistributedQueries服務,因為這個服務不安全所以SqlServer默認是關閉的。下面億速云小編來講解下如何用SQLServer啟用AdHocDistributedQueries?
如何用SQLServer啟用AdHocDistributedQueries
1、啟用AdHocDistributedQueries的方法
SQLServer阻止了對組件'AdHocDistributedQueries'的STATEMENT'OpenRowset/OpenDatasource'的訪問,因為此組件已作為此服務器安全配置的一部分而被關閉。系統管理員可以通過使用。sp_configure啟用'AdHocDistributedQueries'。
啟用AdHocDistributedQueries的方法,執行下面的查詢語句就可以了:
execsp_configure'showadvancedoptions',1reconfigureexecsp_configure'AdHocDistributedQueries',1reconfigure
使用完畢后,記得一定要關閉它,因為這是一個安全隱患,切記執行下面的SQL語句:
execsp_configure'AdHocDistributedQueries',0reconfigureexecsp_configure'showadvancedoptions',0reconfigure
2、使用示例
創建鏈接服務器
execsp_addlinkedserver'ITSV','','SQLOLEDB','遠程服務器名或ip地址'execsp_addlinkedsrvlogin'ITSV','false',null,'用戶名','密碼'
查詢示例
select*fromITSV.數據庫名.dbo.表名
導入示例
select*into表fromITSV.數據庫名.dbo.表名
以后不再使用時刪除鏈接服務器
execsp_dropserver'ITSV','droplogins'
如何用SQLServer啟用AdHocDistributedQueries
3、連接遠程/局域網數據(openrowset/openquery/opendatasource)
1、openrowset
查詢示例
select*fromopenrowset('SQLOLEDB','sql服務器名';'用戶名';'密碼',數據庫名.dbo.表名)
生成本地表
select*into表fromopenrowset('SQLOLEDB','sql服務器名';'用戶名';'密碼',數據庫名.dbo.表名)
把本地表導入遠程表
insertopenrowset('SQLOLEDB','sql服務器名';'用戶名';'密碼',數據庫名.dbo.表名)select*from本地表
更新本地表
updatebsetb.列A=a.列Afromopenrowset('SQLOLEDB','sql服務器名';'用戶名';'密碼',數據庫名.dbo.表名)asainnerjoin本地表bona.column1=b.column1
openquery用法需要創建一個連接。
首先創建一個連接創建鏈接服務器
execsp_addlinkedserver'ITSV','','SQLOLEDB','遠程服務器名或ip地址'
查詢
select*FROMopenquery(ITSV,'SELECT*FROM數據庫.dbo.表名')
把本地表導入遠程表
insertopenquery(ITSV,'SELECT*FROM數據庫.dbo.表名')select*from本地表
更新本地表
updatebsetb.列B=a.列BFROMopenquery(ITSV,'SELECT*FROM數據庫.dbo.表名')asainnerjoin本地表bona.列A=b.列A
2、opendatasource/openrowset
SELECT*FROMopendatasource('SQLOLEDB','DataSource=ip/ServerName;UserID=登陸名;Password=密碼').test.dbo.roy_ta
把本地表導入遠程表:
insertopendatasource('SQLOLEDB','DataSource=ip/ServerName;UserID=登陸名;Password=密碼').數據庫.dbo.表名select*from本地表。
以上就是怎么用SQL Server啟用Ad Hoc Distributed Queries,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。