1. 建立分布式环境
为了使用远程SQL Server 或另一个OLE DB 数据源,必须先建立一个连接服务器。连接服务器是预先在本地SQL Server注册的OLE
DB 数据源,使其在被引用时本地服务器知道在哪里找到远程数据和对象。连接服务器的信息存放在sysoledbusers系统表中。
要建立连接服务器,首先必须建立一个到远程数据源的连接,然后还需要建立与远程服务器之间的安全策略。
(1) 连接到远程数据源
要运行远程SQL Server 或OLE DB 数据源上的Transact-SQL语句,必须建立到该服务器或数据源的连接。建立到远程SQL
Server的连接方法:
● 可以使用SQL Server Enterprise Manager 或;
● sp-addlinkedserver系统存储过程。
系统存储过程的参数包括:
Server:连接服务器名
Product_name: OLE DB 数据源产品名;
provider-name :对应数据源的OLE DB提供者的唯一名;
data-source:由OLE DB提供者解释的数据源名;
location :由OLE DB提供者解释的数据库的位置;
provider-string:标识唯一数据源的OLE DB提供者特定的链接串;
Catalog: OLE DB支持多种数据源类别时使用。
① 使用系统存储过程链接远程数据源
◆ 连接到远程SQL Server
如果连接到运行Microsoft SQL Server 的服务器,则不需要指定provider-name, data-source, location
, provider-string,Catalog。
例1,添加运行SQL Server 计算机AccountingServer到本地SQL Server计算机可用的连接服务器列表中,命令如下:
EXEC sp-addlinkedserver'AccountingServer','SQL Server'
服务器名 数据源产品名
或:
EXEC sp_addlinkedserver
@server = 'AccountingServer',
@product_name = 'SQL Server'
常用的OLE DB提供者名字参见SQL Server在线手册。
例2,连接到OLE DB 数据源'OracleDB'
EXEC sp_addlinkedserver
@server = 'OracleFinance', //服务器名字
@product_name = 'Oracle' // OLE DB 数据源产品名;
@provider_name = 'MSDORA' // OLE DB提供者的唯一名;
@data_source = 'OracleDB' //由OLE DB提供者解释的数据源名;
② 使用Enterprise Manager链接远程数据源
● 打开企业管理器Enterprise Manager;
● 展开服务器组和本地服务器;
● 展开安全(Security)文件夹,右击链接服务器(Linked Server),选择新建链接服务器(New Linked Server),选择服务器类型:连接到SQL
Server 或连接到其他OLE DB 数据源。
(2) 建立与连接服务器的安全策略
需要建立远程服务器和本地服务器之间的安全策略,有如下几种方法:
● 可以用本地服务器以用户的名义登录到远程服务器上;.
● 如果用户的登录名存在于两个服务器上,可用于登录到已链接的远程服务器上。当两个服务器使用相同的域帐号时,可用这种方式建立安全策略;
● 使用sp_addlinkedsrvlogin实现服务器之间映射登录ID和密码。
|