SQLServer2012建立链接服务器
发布时间:2020-12-12 13:45:53 所属栏目:MsSql教程 来源:网络整理
导读:现在我有一个需求是需要在两个不同的SQL SERVER 2012的服务器之间进行数据访问和更新。我们需要把Server One的数据插入到Server Two的服务器上去,一天执行一次任务。我们的首选方案是在两个服务器之间建立 链接服务器, 下面介绍下如何建立链接服务器。 我
现在我有一个需求是需要在两个不同的SQL SERVER 2012的服务器之间进行数据访问和更新。我们需要把Server One的数据插入到Server Two的服务器上去,一天执行一次任务。我们的首选方案是在两个服务器之间建立
链接服务器,
下面介绍下如何建立链接服务器。 我需要做的事情是,我需要定时的全量的把Server one的数据插入到Server Two里去。所以这里就涉及到需要把Server Two里的表的信息做删除操作,由于我们都知道delete表是需要记录日志,他是为了回滚用的。所以要记录详细的日志。由于我此表比较大,而且每天都做一次删除,我也不需要写日志。所以我不想用delete操作,我想用truncate来删除表。这就是故事的有趣的点。
两个服务器的配置: Server one: DB Version: 2012 Server IP: 192.168.21.252 Souce Database Server two: DB Version: 2012 Server IP: 192.168.25.210 Target Database 我们可以在任意一个服务器上建立链接服务器,但是是有细微的区别的,下面看我在处理数据的时候遇到的问题,此问题让我了解到在任意一个服务器上建立链接服务器是有区别的。 方法一:我在源 数据库 服务器上建立一个链接服务器,我想让源数据库主动的把数据push到目标数据库中。 1,建立链接服务器 在源数据库服务器上建立链接服务器如下:? 注意:链接服务器IP:192.168.25.210是我的目标数据库,建立的这个链接服务器就想直接访问192.168.25.210的服务器上的数据库表。由于我是SQL SERVER 2012 到SQL SERVER 2012数据库,所以服务器类型选择SQL Server。 ?这个时候我们看到了一个192.168.25.210的链接服务器了。 ?可以测试下链接服务器是否链接成功。 2, 在源数据库服务器上建立一个job主动的把数据push到目标数据库里去。 a,新建立作业 b,编辑步骤 ?我从源数据库push数据到目标数据库的sql语句是: truncate table [192.168.25.210].BI.[dbo].[BIU8_GL_ACCVOUCH] go insert into [192.168.25.210].BI.[dbo].[BIU8_GL_ACCVOUCH] SELECT * FROM BI.DBO.[BIU8_GL_ACCVOUCH] go c,新建作业计划
我修改了下计划的执行时间,让他立马执行下这个job.下面问题来了。如下图:
下面我把job里的脚本放到查询分析器里执行了下,执行结果让我很迷茫。如下图:
从上图的错误提示可以看出这个语句是有问题的不可以这么执行的。 但是这个语句的语法是没有错的。truncate table [192.168.25.210].BI.[dbo].[BIU8_GL_ACCVOUCH],我一开始怀疑是否不可以这么执行SQL 语句,如是我执行了下面的语句
方法二:我在目标数据库服务器上建立一个链接服务器,我想让目标数据库主动地从源数据库中把数据pull到自己的数据库中。 1,在目标库服务器上(192.168.25.210)建立链接服务器,连接服务器(192.168.21.252)如下图,具体步骤请参考上面的方法。 2,测试链接服务器是否链接成功 3,在目标数据库服务器上建立一个job主动的把源数据库的数据pull到自己的数据库里来。关于如何建立job的细节可以参考上面的步骤。 4,新建立作业名:pull_data_from_target_db 5,具体的作业步骤代码如下图:? insert into BI.[dbo].[BIU8_GL_ACCVOUCH] SELECT * FROM [192.168.21.252].BI.DBO.[BIU8_GL_ACCVOUCH] 6,新建立作业计划 ?7,查看job的执行情况如下图: 从上面2014/12/19 9:48:02就是我刚才执行的,它成功的执行了job。可以看出下面的语句是执行成功的。 truncate table BI.[dbo].[BIU8_GL_ACCVOUCH] go ?? 所以从上的操作中可以得出如下的非常重要的结论: 链接服务器有两个特点: 1:通过链接服务器不能删除(including truncate)链接源服务器的任何对像. 2:能过链接服务器可以对链接源服务器的表进行insert,updae,delete操作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |