怎样创建SQLSERVER 存储过程,连接多个远程数据库查询相同结构表的数据!如果远程SQL服务器则不查询?

怎样创建SQLSERVER 存储过程,连接多个远程数据库查询相同结构表的数据!如果远程SQL服务器则不查询?,第1张

存储过程是建立单个数据库的基础上的,我还没见到过一个存储过程可以访问别的数据的,

所以只能是在本数据库中对表进行检索。

你可以在你程序中建立所有连接数据库的连接字符串,例:在webconfig中建立

而且这样方便管理

需要在“开始”-“程序”里设置一下。

具体步骤:

1单击“开始”,依次指向“程序”、“Microsoft SQL Server2005”和“配置工具”,然后单击“SQL Server 外围应用配置器”。

2 在“SQL Server 2005 外围应用配置器”页上,单击“服务和连接的外围应用配置器”。

3 在“服务和连接的外围应用配置器”页上,展开“数据库引擎”。

4依次单击“远程连接”和“本地连接和远程连接”,单击适用于您的环境的相应协议,然后单击“应用”。

5在“服务和连接的外围应用配置器”页上,展开“数据库引擎”。

6依次单击“服务”和“停止”,等待 MSSQLSERVER 服务停止,然后单击“启动”以重新启动 MSSQLSERVER 服务。

最简单的方法是:在查询分析器中之执行语句:execsp_who利用这个系统存储过程可以看到当前服务器上数据库的连接情况。

在SQLServer服务器中,打开SQLServer服务管理器。单击开始-程序-MicrosoftSQLServer-服务管理器菜单命令。

数据库连接不成功的原因:数据库的服务没有正常启动。数据库的IP协议没有启动。客户端链接服务器时电脑的防火墙没有关闭,被防火墙拦截。解决办法:检查数据库服务是否打开。打开计算机管理中的服务和应用程序。

当部署好SQLServer数据库之后,突然发现数据库服务器的主机名字取得不符合企业的命名规范。此时若更改了计算机的名字后,原来的数据库实例就可能发生访问故障。客户端可能无法连接到这个数据库实例。此时该如何处理呢难道只有重新安装数据库一个办法了吗在SQLServer2008中已经可以在不重新安装数据库的情况下让数据库在启动期间自动识别新修改后的数据库名称。笔者在这篇文章中就这个话题跟大家探讨一下。

一、重命名计算机可能会带来的麻烦。

虽然在SQLServer2008中已近可以在不重新安装数据库系统的情况下来重命名数据库服务器主机的名字。但是在使用这种方法的时候,仍然有很多的限制。为此在动手对主机名字进行修改之前,数据库管理员必须先对这些限制有所了解。这有助于主机名字修改之后相关服务的正常使用。

如果数据库中同时部署有报表服务器,无论他们是部署在同一台主机上还是部署在不同的主机中,只要更改了数据库服务器主机的名字,那么很这报表服务器就将无法访问。也就是说,报表服务其是无法主动识别修改后的计算机名字的。为此在更改主机名字之后,还需要手工调整数据库引擎,让报表服务器能够识别修改后的主机名字。如果要调整数据库服务器的引擎的话,需要按如下的方法来做。如果数据库服务器与报表服务器是部署在同一台主机上的,即报表服务器使用的是本地数据库引起,则可以使用local命令来指定新的服务器(换了主机名字之后,报表服务器就会认为采用了一台新的服务器)。如果数据库服务器与报表服务器不是在同一台主机上的话,那么调整的过程就比较复杂了。此时数据库管理员需要启动报表服务器配置工具,连接到使用重命名的服务器中的报表服务器数据库的报表服务器。这是官方资料上的说话,听起来比较拗口。其实数据库管理员只要知道,对于重命名后的数据库服务器,报表服务器都把它当作新的服务器来对待。为此这里就是使用新命名的计算机名字来进行连接。连接上之后,打开数据库安装页,在服务器名称处找到数据库名称,然后单击连接。连接上之后,按应用即可。以后报表服务器启动的时候,就会利用最新的主机名字来进行连接。可见虽然重新命名后,不用重新安装SQLServer数据库。但是数据库与其他服务之间的连接,如与报表服务器之间的连接就需要重新设置过。

如需要更新全部客户端的连接。在客户端连接上,可以通过IP地址来进行连接,也可以通过主机名来进行连接。如果在客户端的连接设置上恰巧采用了主机名字连接的话,那么更换主机名字之后就需要逐一的去更改客户端的连接设置。要把客户端的连接名字改为最新的计算机名字。显然当数据库客户端的数量比较多的时候,这会增加很多的工作量。所以,有时候如果把客户端的连接设置为通过IP地址来连接,可能会更加的方便。因为通过这种方式连接后,数据库更改服务器后就对各个客户端就不需要进行调整。另外如果企业还配置了数据库镜像,则在给部属有数据库镜像的计算机重命名时,需要注意必须先关闭数据库镜像,然后才能够更改镜像主机的名字。而且跟报表服务器一样,要利用新的名字来建立数据库镜像。因为数据库镜像中的元数数据不会自动更新来反映新计算机的名称。

可见即使在不用重新安装数据库服务器的情况下,如果贸然更改数据库主机的名字,仍然会凭空的增加不少的工作量。因为跟数据库服务器相关的其它应用服务器,如报表服务器、镜像主机等等,可能都需要重新设置,才能够建立起跟数据库服务器之间的连接。为此SQLServer2008只所以提供这项功能并不是说他就赞同大家去更改数据库服务器的名字。相反,在平时的工作中各位数据库管理员还是需要尽量去避免这么做。在数据库服务器部属之前,需要先确认一下数据库服务器的主机名字是否符合相关的命名规范。如果数据库管理员不能够确定的话,那么就让企业的网络管理员确认一下。总之,数据库服务器部署完成之后,不到万不得已的情况下,不要重命名数据库服务器的主机名字。

二、更改计算机名字。

1、 重命名数据库服务器的名字。

要更改数据库服务器的名字还是比较简单的,只需要执行几个系统存储过程既可。为了方便数据库管理员更改数据库主机的名字,数据库中提供了几个存储过程。如sp_dropserver与sp_addserver存储过程。这两个存储过程的作用就是先把旧的服务器注销掉,然后把新的服务器加进去。虽然更改了名字后仍然是同一个数据库服务器,但是系统是把他们当作两个不同的服务器来管理。以上这个两个存储过程,会把存储在sysservers 中并由系统函数@@SERVERNAME报告的系统元数据进行更新。这可以让相关的作业得知计算机名称的变化。如可以让一些远程连接得知其名称发生变化的事实。另外需要注意的是,如果当前数据库有远程登录的话,则执行第一个存储过程时可能会出现错误。此时数据库管理员必须要远程登录等删除掉,然后才能够执行这个存储过程。为此对数据库重命名的动作最好能够在夜深人静没有人使用数据库的情况下进行设置。免得因为重命名数据库服务器的作业影响员工正常使用数据库服务器。如果用户24小时全天候都需要使用数据库,那么也需要提前告知用户,让他们事先做好准备。如可以规定一天中访问数据库用户比较少的时刻,在断开数据库服务器网络连接的情况下来进行这个作业。防止因为其他用户的登录请求而导致这个重命名作业无法顺利进行。

不过仍然有不少的应用服务不能够自动更新其自身的连接配置。如上面谈到的报表服务器与镜像主机,仍然需要手工来重新建立这些应用服务器与数据库服务器之间的连接。为此数据库管理员必须耐心的更新这些连接信息,以免给用户的正常访问带来负面的影响。

2、 更改报表服务器的名字。

更改报表服务器主机的名字与更改数据库服务器的名字方法有所不同。如果数据库管理员下定决心需要修改报表服务器的名字,则需要按照以下的步骤来操作。

第一步:修改配置文件。在报表服务器中,采用的配置文件是rsreportserverconfig。报表服务器与数据库服务器之间的连接都是通过这个配置文件来控制的。为此如果报表服务器的名字修改了,则需要相应的修改这个配置文件。如数据库管理员需要找到URLROOT这一项内容。传递扩展插件模块是使用这个参数设置的值来编写在访问存储于报表服务器中的项是所使用的。所以更改报表服务器的名字时需要更改这个参数,以便数据库的订阅服务能够按照预期的方式继续传递。为此习惯管理员需要把这个参数找到然后把主机名字修改为新的主机名字。

第二步:查看ReportServerUrl参数。在有些报表服务器的配置文件中,会存在这个选项。如果有这个选项的话,则必须同时更改这个选项的值,把服务器主机的名字更改为新的服务器主机名。如果这个参数没有值的话,那么就不需要管他。注意千万不要多次一举,把空值更新为最新的计算机名字。虽然这可能不会影响到报表服务器的正常使用,但是这么做是画蛇添足。只会增加后续的维护工作量,而没有其他的价值。

另外需要注意的是,修改报表服务器的名字后可能在一段时间内还是可以通过原先的名字来访问报表服务其。此时数据库管理员不要高兴的太早,以为更改数据库报表服务器的名字没有关系。其实不用几分钟用户就会向你反映报表服务器访问不了了。原来这是因为企业网络中可能存在一些域名解析的服务器。在这些服务器中存在着主机名与IP地址的一一对应关系。可能报表服务器的名字更改后,在域名服务器中还没有及时更新过来。为此更改了报表服务器的名字之后,有些用户在短时间内还是可以通过原先的名字登陆到报表服务器上的。但是这只会存在一段比较短的时间之内。所以数据库管理员还是老老实实的按照上面的方法调整配置文件为好

应该很详细了吧

跨数据库使用比较简单,如ceshi数据库想使用Finance2014的A表,则使用SELECT FROM Finance2014dboA

跨服务器的使用,相对复杂一些 需要先连接服务器

EXEC sp_addlinkedserver 'srv_lnk','','SQLOLEDB','1921682249'EXEC sp_addlinkedsrvlogin 'srv_lnk','false',null,'sa','12345'

再设置保证存储过程能够使用

EXEC sp_serveroption @server='srv_lnk',@optname='rpc',@optvalue='TRUE'EXEC sp_serveroption @server='srv_lnk',@optname='rpc out',@optvalue='TRUE'

4

再跨服务器调用数据库表和存储过程如:

SELECT FROM srv_lnkAdboB  其中A为数据库B为表

EXEC srv_lnkAdboB 其中A为数据库B为存储过程

数据库:存储数据的应用软件。

服务器:公共的服务库。

应用服务器是应用的服务器,提供应用服务,也可以是自己的网络应用服务器,接口服务器是提供给第三方调用的服务,主要是为了自己的应用的安全性,所以只把能供给第三方调用的东西封装在应用服务器服务器。

根据应用环境的不同,需要的数据库服务器也不同,一般来说,如果数据库服务器需要连接的客户端多、并且是不同权限组的客户端的话需要网络接口比较多的,除此之外,数据库服务器的处理器性能要求比较高,因为其要进行频繁的操作,内存要求大,加快数据存取速度。

应用服务器相对而言要求低一些,如果是FTP服务器的话网卡的速率要求要高,起码是千兆的,网页服务器对于网卡的速率也同样有较高的要求,但对于处理器性能要求就不那么高了。

应用程序服务器是为应用程序提供业务逻辑的。它是基于组件的,位于以服务器为中心的架构的中间件。

这个架构通常是一个主要的基于Web的界面。中间件是业务逻辑所在的应用服务器。而第三层,后端是负责数据库的服务器。应用程序服务器充当用户和数据库之间的交互。

应用服务器通过各种协议向客户端应用程序打开业务逻辑。它还可以包括计算机,web服务器或其他应用服务器上的图形用户界面。业务逻辑通过组件API。它还管理自己的资源以及执行安全性,事务处理,资源和连接池以及消息传递。

对于高端要求,应用服务器往往具有高可用性监控,集群,负载平衡,集成冗余和高性能分布式应用服务,并支持复杂的数据库访问。

当需要与现有数据库和服务器(如Web服务器)集成时,应使用应用程序服务器,可以通过启用集中式方法来提供应用程序更新和升级来提供数据和代码的完整性。

可伸缩性是使用应用服务器的另一个原因和好处。应用程序服务器可以与数据库连接。这意味着企业可以扩展Web服务器群,而不需要增加数据库连接的数量。

从网页到数据库的直接链接如果暴露,可导致SQL注入攻击基础架构。

通过单独的数据访问层执行数据验证和/或显示业务逻辑,可以确保以Web表单输入的文本不被用作SQL调用。通过集中身份验证过程以及数据访问管理,还可以提高安全性。

应用程序服务器与Web服务器不同,因为前者通过多种协议处理向应用程序提供业务逻辑,而Web服务器响应并处理HTTP请求;托管一个网站并存储静态内容,如图像,CSS,JavaScript和HTML页面。

虽然Web服务器可能不支持事务或数据库连接,但可能具有容错和可扩展性功能,如负载平衡,缓存和集群。

与数据库服务器不同,因为该服务器执行诸如数据分析,存储,数据处理,归档以及其他数据管理相关任务之类的任务。

数据库服务器使用诸如ODBC,JDBC等协议。他们还将托管数据库,如Oracle,SQLServer,MySQL等。

扩展资料:

服务器是计算机局域网的核心部件。网络操作系统是在网络服务器上运行的,网络服务器的效率直接影响整个网络的效率。

因此,一般要用高档计算机或专用服务器计算机作为网络服务器。网络服务器主要有以下4个作用:

运行网络操作系统,控制和协调网络中各计算机之间的工作,最大限度地满足用户的要求,并做出响应和处理。

存储和管理网络中的共享资源,如数据库、文件、应用程序、磁盘空间、打印机、绘图仪等。

·为各工作站的应用程序服务,如采用客户/服务器(Client/Server)结构使网络服务器不仅担当网络服务器,而且还担当应用程序服务器。

对网络活动进行监督及控制,对网络进行实际管理,分配系统资源,了解和调整系统运行状态,关闭或启动某些资源等。

参考资料:

-网络服务器

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 怎样创建SQLSERVER 存储过程,连接多个远程数据库查询相同结构表的数据!如果远程SQL服务器则不查询?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情