网络编程
位置:首页>> 网络编程>> 数据库>> SQL Server中链接服务器将替代远程服务器(2)

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

 来源:asp之家 发布时间:2009-06-15 11:03:00 

标签:SQL,Server,远程服务器


三、链接服务器的实现方式。

链接服务器的部署是非常简单的。在SQLServer的管理控制台中,只需要通过几个简单的步骤即可。不过在谈具体的配置之前,还必须先要来了解一个新内容,即OLE数据库接口。

上面我们在谈到链接服务器性能的时候,说过管理员可以通过链接服务器来访问呢不同的数据源。其实,这都是OLE数据库接口的功劳。OLE数据库访问接口是用来管理特定数据源并且与其进行交互的工具。其实,他是一个DLL文件,即动态链接库文件。这个文件往往不能够单独运行,但是它允许应用程序共享执行特殊任务所必须的代码和其他内容。而OLE数据源标示可通过OLE来访问特定的数据库。有了OLE的帮助,使得链接服务器不仅可以访问各大品牌的数据库,还可以访问一些非数据库的数据文件,如Excel、带有固定格式的文本文件等等。

而且,OLE接口参数还可以对某些操作进行控制。因为不同的数据库都对标准的SQL语句进行了扩充。也就是说,某些特殊的语法只有特定的数据库系统才能够执行。为了保证SQL语句的通用性,可以在OLE接口参数中进行一些配置,来防止管理员执行一些不兼容的SQL语句。如在OLE接口中,有一个NestedQueries的参数。它主要用来控制是否允许在From子句中潜套Select语句。如果把这个参数设置为0,就表示不允许在From子句中使用嵌套的Select语句。如果非0,则表明访问接口允许在From子句中使用嵌套的Select语句。笔者有时候经常利用这个参数来对一些操作进行控制。如可以通过这个选项,使得数据库管理员能够将某些查询委托给需要在From子句中嵌套Select语句的访问接口。

通过接口还可以控制操作者是否有更新权限,即通过链接服务器访问远程数据库时,能否对数据库进行更新操作。如要进行这个控制,则可以使用NonTransactedUpdates参数。如果这个参数为0,则允许进行更新。反之,则不允许更新。不过如果启用了更新的话,需要注意一个问题。由于访问接口不支持事务,则通过链接服务器更新的数据,将不可恢复。

链接服务器可以采用SQL Server自带的OLE接口,也可以采用第三方的接口。但是,如果采用第三方的OLE数据库接口的话,需要注意运行SQL Server服务的帐户必须具有对安装访问接口的目录以及所有子目录具有读取权限和执行权限。在大部分情况下,笔者建议还是采用数据库自带的OLE接口,以减少配置的工作量。

四、如何定义链接服务器。

在SQL Server数据库中,链接服务器定义主要有两种方式。一是通过数据库自带的存储过程来进行定义;二是通过管理控制台来进行部署。

笔者比较喜欢采用系统存储过程和目录视图来管理链接服务器。如可以通过SP-addlinkedserver存储过程来创建服务器定义。如果需要查看链接服务器的信息,则可以通过SYS.SERVERS系统目录视图进行查询。如果要删除链接服务的话,也可以通过存储过程来删除。

如果初学者觉得通过存储过程与视图的方式不够直观,则可以通过数据库的管理控制台来进行链接服务器的定义。这个步骤也很简单。在数据库的对象资源管理器中,右键单击服务器对象,选择新建,再选择链接服务器即可。如果要删除连接服务,则选中需要删除的链接服务器,选择删除即可。通常情况下,不需要对OLE的接口参数进行调整。如果对于性能、安全等要求比较高,或者有多个管理员同时管理数据库的时候,则可以通过对OLE部分参数进行调整。如笔者上面谈到的控制是否允许更新等相关参数。对于初学者来说,笔者不建议对这些参数进行调整。因为如果调整不得法的话,会导致链接服务器无法正常工作。而且这个错误很难排查。

链接服务器除了可以帮助管理员轻松访问不同的数据源之外,在分布式查询中也特别有用。当用户利用客户端应用程序通过链接服务器执行分布式查询时,数据库将会分析链接服务器传送过来的语句。行集请求的形式可以是对该访问接口执行查询或者从该访问接口直接打开基表。


0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com