SQL 跨服務器查詢

直接上乾貨.. 數據庫

語法:安全

Select * From OPENDATASOURCE('SQLOLEDB','Data Source=Your DB IP;User ID=UserName;Password=Pwd').DBName.dbo.TableName

相信有了這語法.. 一眼就能看明白這是怎麼回事兒.. 服務器

若是報錯:spa

SQL Server 阻止了對組件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 的訪問,由於此組件已做爲此服務器安全配置的一部分而被關閉。
系統管理員能夠經過使用 sp_configure 啓用 'Ad Hoc Distributed Queries'
有關啓用 'Ad Hoc Distributed Queries' 的詳細信息,請參閱 SQL Server 聯機叢書中的 "外圍應用配置器"。

 

則能夠在查詢語句前加上修改數據庫配置的命令,啓用 Ad Hoc Distributed Queriescode

--打開 Ad Hoc Distributed Queries
--兩個 reconfigure是必須的
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure 

--T_SQL
Select * From OPENDATASOURCE('SQLOLEDB','Data Source=Your DB IP;User ID=UserName;Password=Pwd').DBName.dbo.TableName

--從新關閉 Ad Hoc Distributed Queries
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure

 

該配置項須要你的當前登陸用戶有足夠的權限..sa能夠..本地登陸也能夠..blog

可是通常項目裏有幾個直接使用sa的? 通常對於數據庫的 DB_Owner 是不行的..io

要對於服務器的管理權限..也就是服務器角色 中.. 大概得要 sysadmin  權限吧? 試試..class

相關文章
相關標籤/搜索