此复选框是设置远程访问配置选项的 GUI 方式,
EXEC sp_configure 'remote access', 0; -- UI checkbox unchecked
EXEC sp_configure 'remote access', 1; -- UI checkbox checked
Run Code Online (Sandbox Code Playgroud)
该功能在 SSMS UI 中标记不正确:
并且文档描述错误:
允许远程连接到此服务器
控制从运行 SQL Server 实例的远程服务器执行存储过程。选中此复选框与将sp_configure 远程访问选项设置为 1 的效果相同。清除它可防止从远程服务器执行存储过程。
它应该是:
允许远程连接
到从该服务器控制
从运行 SQL Server 实例的远程服务器到存储过程的执行。选中此复选框它和设置相同的效果sp_configure的远程访问为1。清除它可以防止存储过程执行选项从到远程服务器。
SQL Server 2000 是最后一次记录此功能。出于后代和调试目的在此处转载:
配置远程服务器
远程服务器配置允许连接到 Microsoft® SQL Server™ 的一个实例的客户端在另一个 SQL Server 实例上执行存储过程,而无需建立另一个连接。客户端连接的服务器接受客户端请求并代表客户端将请求发送到远程服务器。远程服务器处理请求并将任何结果返回给原始服务器,原始服务器又将这些结果传递给客户端。
如果要设置服务器配置以便在另一台服务器上执行存储过程并且没有现有的远程服务器配置,请使用链接服务器而不是远程服务器。存储过程和分布式查询都允许针对链接服务器;但是,仅允许存储过程用于远程服务器。
注意 提供对远程服务器的支持只是为了向后兼容。必须对 SQL Server 的远程实例执行存储过程的新应用程序应改用链接服务器。
如果您尝试在远程链接服务器(即sp_addlinkedserver
)上执行存储过程:
EXECUTE [Hyperion].[SharePoint].[dbo].[GetUnreadDocuments]
Run Code Online (Sandbox Code Playgroud)
它会运行良好。
如果然后remote access
在本地服务器上禁用:
EXEC sp_configure 'remote access', 0;
, 或者相同的链接存储过程将失败:
Run Code Online (Sandbox Code Playgroud)EXECUTE [Hyperion].[SharePoint].[dbo].[GetUnreadDocuments]
消息 7201,级别 17,状态 4,过程 GetUnreadDocuments,第 1 行
无法在远程服务器“Hyperion”上执行过程,因为 SQL Server 未配置为远程访问。请您的系统管理员重新配置 SQL Server 以允许远程访问。
Remote access
控制对远程存储过程的传出访问。并且文档错误地指出使用sp_addlinkedserver
可以避免问题:
此功能将在 Microsoft SQL Server 的下一版本中删除。请勿在新的开发工作中使用此功能,并尽快修改当前使用此功能的应用程序。请改用 sp_addlinkedserver。
那是假的。
归档时间: |
|
查看次数: |
9532 次 |
最近记录: |