远程
服务器配置允许客户端连接到一个 Microsoft® SQL Server™ 实例,然后不用另外建立连接即可在其它的 SQL Server 实例上执行存储过程。客户端所连接的
服务器接受客户端的请求,并代表客户端将该请求发送到远程
服务器。远程
服务器处理请求并将结果返回给原
服务器,原
服务器进而将结果传递给客户端。
如果打算设置
服务器配置,以便在另一台
服务器上执行存储过程,并且没有现有的远程
服务器配置,此时应使用链接
服务器而非远程
服务器。可以对链接
服务器执行存储过程和分布式查询;但对远程
服务器只能执行存储过程。
网管联盟bitsCN_com 说明 支持远程
服务器只是为了向后兼容。新的应用程序如果必须对 SQL Server 的远程实例执行存储过程,应该使用链接
服务器。
远程
服务器详细信息
远程
服务器是成对设置的。若要设置一对远程
服务器,请将这两台
服务器配置为彼此将对方识别为远程
服务器。然后,验证这两台
服务器的配置选项设置是否正确,以使每个 SQL Server 实例都允许远程用户执行过程调用。检查本地和远程
服务器上的\"
服务器属性\"对话框中的配置选项。
大多数情况下,不需要为远程
服务器设置配置选项;SQL Server 安装程序在本地和远程计算机上设置的默认值允许建立远程
服务器连接。
网管网www_bitscn_com
为使远程
服务器能够工作,必须在本地和远程计算机上将控制远程
服务器登录的 remote access 配置选项设为 1(默认设置)。如果更改了其中一台
服务器的 remote access 选项设置,必须将一台或两台
服务器的选项重新设回 1 才能允许远程访问。这可通过 SQL Server 企业管理器或 Transact-SQL sp_configure 语句完成。
可以在本地
服务器上禁用远程
服务器配置,以防止用户访问该
服务器。
如何设置远程
服务器以便允许使用远程存储过程 (Transact-SQL)
在第一台运行 Microsoft® SQL Server™ 的
服务器上运行下列代码:
EXEC sp_addlinkedserver ServerName1, N'SQL Server'
EXEC sp_addlinkedserver ServerName2
网管u家u.bitscn@com EXEC sp_configure 'remote access', 1
RECONFIGURE
GO
停止并重新启动第一台 SQL Server。
在第二台 SQL Server 上运行下列代码。确保使用 SQL Server 身份验证登录。
-- The example shows how to set up access for a login 'sa'
-- from ServerName1 on ServerName2.
EXEC sp_addlinkedserver ServerName2, local
EXEC sp_addlinkedserver ServerName1
EXEC sp_configure 'remote access', 1
RECONFIGURE
GO
-- Assumes that the login 'sa' in ServerName2 and ServerName1
-- have the same password.
EXEC sp_addremotelogin ServerName1, sa, sa
GO
停止并重新启动第二台 SQL Server。
使用 sa 登录,现在就可以在第一台 SQL Server 上执行第二台 SQL Server 上的存储过程。
检查和设置远程
服务器配置选项
如何检查和设置远程
服务器配置选项(企业管理器)
1、展开一个
服务器组,然后右击一个
服务器。
中国网管联盟bitsCN.com
2、单击\"属性\",然后单击\"连接\"选项卡。
3、在\"远程
服务器连接\"下,复查并在合适时更改下列配置选项的值:
允许其它 SQL Server 使用 RPC 远程连接到本 SQL Server。
查询超时设定(秒,0 = 无限制)
此选项指定从处理查询返回之前等待的秒数。0 值允许无限的等待。默认值为 0。
强制分布式事务处理 (MTS)。
更改配置选项需要停止并重新启动
服务器。如果更改了配置选项,则继续步骤 4,否则跳到步骤 6。
4、右击该
服务器,然后单击\"停止\"按钮。
5、停止
服务器之后,右击该
服务器,然后单击\"启动\"按钮。
6、为远程
服务器对的另一台
服务器重复步骤 1 到 5。
禁用远程
服务器设置
网管网www.bitscn.com 如何禁用远程
服务器设置(企业管理器)
展开
服务器组,然后展开
服务器。
展开\"安全性\",单击\"远程
服务器\"以列出在所选
服务器上定义的远程
服务器。
右击要禁用的远程
服务器,然后单击\"删除\"按钮。
如何禁用远程
服务器设置 (Transact-SQL)
在第二台运行 Microsoft® SQL Server™ 的
服务器上运行下列代码:
EXEC sp_remoteoption ServerName1,sa, sa, trusted, false
EXEC sp_dropremotelogin ServerName1, sa, sa
RECONFIGURE
GO
EXEC sp_configure 'remote access', 0
EXEC sp_dropserver ServerName1
网管联盟bitsCN_com
EXEC sp_dropserver ServerName2
RECONFIGURE
GO
停止并重新启动第二台 SQL Server。
在第一台 SQL Server 上运行下列代码:
EXEC sp_configure 'remote access', 0
EXEC sp_dropserver ServerName2
EXEC sp_dropserver ServerName1
RECONFIGURE
GO
停止并重新启动第一台 SQL Server。
建立远程
服务器的安全性
设置对远程
服务器执行远程存储过程调用 (RPC) 的安全性时,涉及的工作包括在远程
服务器中建立登录映射,可能还包括在运行 Microsoft® SQL Server™ 实例的本地
服务器中建立登录映射。
说明 支持远程
服务器只是为了向后兼容。新的应用程序如果必须对 SQL Server 的远程实例执行存储过程,应该使用链接
服务器。
网管联盟bitsCN@com
设置远程
服务器 必须在远程
服务器上设置远程登录映射。使用这些映射,远程
服务器将来自特定
服务器的 RPC 连接的外来登录映射到本地登录。可以使用 sp_addremotelogin 存储过程在远程
服务器上设置远程登录映射。
设置本地
服务器 在 SQL Server 2000 内,通过以下方法为 Windows 身份验证创建的远程
服务器登录创建远程
服务器连接:
可在本地
服务器上设置本地登录映射,定义 SQL Server 实例与远程
服务器建立 RPC 连接时所使用的登录和密码。
对于 Windows 身份验证所创建的登录,必须创建到登录名和密码的映射。此登录名和密码必须与远程
服务器所需的外来登录和密码相匹配。
网管论坛bbs_bitsCN_com 使用 sp_addlinkedsrvlogin 存储过程创建本地登录映射。
说明 对于 SQL Server 身份验证所创建的登录,不必为了对远程
服务器执行存储过程而创建任何本地登录映射。
远程
服务器安全性示例
假设有两个 SQL Server 安装:serverSend 和 serverReceive。serverReceive 配置为将来自 serverSend 的名为 Sales_Mary 的外来登录映射到 serverReceive 中名为 Alice 的 SQL Server 授权登录。另一个将来自 serverSend 的名为 Joe 的外来登录映射到 serverReceive 中名为 Joe 的 SQL Server 授权登录。
可以执行下面的 Transact-SQL 代码,以配置 serverSend 对 serverReceive 执行 RPC:
--Create remote server entry for RPCs from serverSend.
EXEC sp_addserver 'serverSend'
GO
--Create remote login mapping for login 'Sales_Mary' from serverSend
--to Alice.
EXEC sp_addremotelogin 'serverSend', 'Alice', 'Sales_Mary'
GO
--Set trusted option on for this mapping to disable password checking
网管联盟bitsCN_com --for Sales_Mary from serverSend.
EXEC sp_remoteoption 'serverSend', 'Alice', 'Sales_Mary', trusted, true
GO
--Create remote login mapping for login Joe from serverReceive to same login;
--assumes same password for Joe in both servers.
EXEC sp_addremotelogin 'serverSend', 'Joe', 'Joe'
GO
在 serverSend 上创建本地登录映射,将 Windows 授权登录 Sales\Mary 映射到登录 Sales_Mary。Joe 不需要本地映射,因为默认设置是使用相同的登录名和密码,并且 serverReceive 中有 Joe 的映射:
--Create a remote server entry for RPCs from serverReceive.
EXEC sp_addserver 'serverReceive'
GO
--Create a local login mapping for the Windows Authenticated login.
--Sales\Mary to Sales_Mary.
EXEC sp_addlinkedsrvlogin 'serverReceive', false, 'Sales\Mary',
'Sales_Mary,' NULL
GO
查看本地或远程
服务器属性
可以在某个方便的位置查看本地或远程
服务器的
服务器特性(如 Microsoft® SQL Server™ 的版本号、计算机中处理器的数目及类型、操作系统的版本等)。从本地
服务器可以查看远程
服务器的数据库、文件、登录和工具。
网管u家u.bitsCN.com
如何查看
服务器属性(企业管理器)
展开一个
服务器组,然后右击一个
服务器。
单击\"属性\"。
Transact-SQL
xp_msver
返回并允许要查询的 Microsoft® SQL Server™ 版本信息。除了有关
服务器实际内部版本号码的版本信息外,还返回多种环境信息。该信息可以在 Transact-SQL 语句、批处理、存储过程等环境中使用,以增强与平台无关代码