SQL Server中链接服务器将替代远程服务器

网络整理 - 07-27
远程服务器配置可以使得数据库管理员在服务器以外的主机上连接到一个SQL Server实例,以便管理员在没有建立单据连接的情况下在其他的SQL Server实例上执行存储过程等相关操作。在远程服务器配置模式下,客户端所连接发服务器接受客户端的请求,并代表客户端把这个请求发送到远程的数据库服务器。远程服务器执行完毕后,会把执行报告返回给原始的服务器。然后这个原始服务器再把结果传递给客户端。不过在SQL Server中,之所以要实现这种技术,主要是出于兼容性的需要。出于安全、性能方面的考虑,现在微软官方是建议数据库管理员通过链接服务器功能来对服务器进远程操作。因为链接服务器可以比远程服务器提供更高的安全性与更好的性能。

一、链接服务器的优点。

在远程服务器模式下,客户端是通过另外一个SQL Server数据库服务器连接到远程的SQL Server数据库服务器中。而链接服务器模式下,客户端是通过链接服务器连接到远程的SQL Server数据库服务器中。也就是说,微软专门开发了一个链接服务器,用来跟远程的数据库进行链接。由于这个链接服务器是一个独立于SQL Server数据库的服务器,所以,其性能会比远程服务器配置模式高的多,而且安全性也有所保障。

如链接服务器可以以相同的方式确定不同的数据源。如果是远程服务器模式,则在客户端之能够链接到SQL Server数据库。但是,如果管理员采用了链接服务器的话,那么远程客户端不仅可以访问SQL Server数据库;而且还可以访问其他数据源,如Oracle、Acess等数据库。当管理员需要实现数据迁移,把其他数据库中的数据迁移到SQL Server数据库中,将变得非常有用。而且,在链接服务器模式下,管理员还可以对企业内的异类数据源发出分布式查询、更新等操作。

所以说,链接服务器模式在性能上,比远程服务器模式更胜一筹。那么在安全性上,其又有什么杰出表现呢?

二、登陆名映射提高链接服务的安全性。

如果客户端通过链接服务器访问远程数据库时,发送服务器必须提供登陆名和密码以代表自己连接到接收服务器。而这个过程,是通过SQL Server数据库系统存储过程实现的。这种技术,就叫做登录名映射。

链接服务器登录名映射为特定的链接服务器和本地登录名建立远程登陆名和远程密码。在客户端连接到链接服务器以执行查询或者存储过程时,数据库会查找正在执行查询或者存储过程的当前登录名的登陆名映射。如果找到一个合适的登陆名映射时,则数据库在连接到链接服务器时会发送相应的远程登陆名和密码。这看起来好像是在绕口令,比较难以理解。这也正常。笔者刚接触到这个链接服务器时,也想了几个小时,才弄明白什么叫做登陆名映射。其实我们可以简单的理解。即到客户端链接到链接服务器时,链接服务器需要先对客户端的身份进行验证。而其验证的依据就是远程数据库是与链接服务器建立了登陆名映射。也就说,链接服务器在其中起着“保安”的作用,会先确定访问者的合法身份。

可见,通过登陆名映射可以在很大程度上提高远程数据库服务的安全性。