CREATE PROCEDURE pro_testDBLink
AS
BEGIN
-- SELECT * FROM Table WHERE Field='wh01'
SELECT * FROM openrowset( 'SQLOLEDB', 'IP,Port'; 'UserName'; 'Password', DBName.dbo.TableName)
WHERE account='wh01'
END;
exec pro_testDBLink;
-- SQL Server 阻止了对组件“Ad Hoc Distributed Queries”的 STATEMENT“OpenRowset/OpenDatasource”的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用“Ad Hoc Distributed Queries”。
-- 开启 OpenRowset/OpenDatasource
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
-- 关闭OpenRowset/OpenDatasource
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure