文章参考百度过的文章,现在忘了具体哪篇,感谢其分享,这里根据自己的操作和遇到的问题整理一下。
     需求:在两个不同的SQL SERVER 2012的服务器之间进行数据访问和更新。我们需要把SourceData的数据插入到TargetData的服务器上去,一天执行一次任务。我们的首选方案是在两个服务器之间建立链接服务器。
     操作:定时全量的把SourceData的数据插入到TargetData里去。这里涉及到需要把TargetData里的表的信息做删除操作,由于delete表需要记录详细的日志 (用于回滚),而当表比较大时,而且每天都做一次删除会产生庞大的日志数据占用内存,所以这里不采用delete操作,而用truncate来删除表。
     两个服务器的配置:
Server one: DB Version: 2012 Server IP: 192.168.2.200 Souce Database
Server two: DB Version: 2012 Server IP: 192.168.1.56  Target Database
     我们可以在任意一个服务器上建立链接服务器,但是是有区别的。区别体现在处理数据的时候。
     方法一:在源数据库服务器上建立一个链接服务器,让源数据库主动的把数据push到目标数据库中。
 
1、在源数据库服务器上建立链接服务器。【服务器对象】-【链接服务器】-右键【新建链接服务器(N)...】-【常规】(如下图)
 
 
 
 
注 意:链接服务器IP:192.168.1.65是目标数据库,建立这个链接服务器准备直接访问192.168.1.65的服务器上的数据库表。由于这里是 SQL SERVER 2012 到SQL SERVER 2012数据库,所以服务器类型选择SQL Server。
 
2、选择【安全性】设置登录用户和密码,添加一个本地服务器登录到远程服务器的登录映射。然后【确定】(如下图)
 
 
3、这时可以看到了一个192.168.1.56的链接服务器。右键【测试连接(T)】(如下图)
 
 
4、如果出现如下对话框则说明配置正确(如下图)
 
 
  在源数据库服务器上建立一个job主动的把数据push到目标数据库里去。
5、新建立作业:【SQL Server 代理】-【作业】-右键【新建作业(N)...】
 
 
6、在【常规】中为作业起个名称(如下图)
 
 
7、点击【步骤】,然后点击【新建(N)...】创建作业步骤(如下图)
 
 
8、编辑步骤(如下图),然后【确定】
从源数据库push数据到目标数据库的sql语句:
truncate table [192.168.1.56].TargetData.[dbo].[TargetTable]
go
insert into [192.168.1.56 ].TargetData.[dbo].[TargetTable ] select * from SourceData.[dbo].[SourceTable]
go
 
 
9、新建作业计划(如下图),然后【确定】
 
 
10、最终【确定】就可以了(如下图)
 
 
11、执行SQL JOB,右键点击刚新建的作业【PushDataToTarget】-【作业开始步骤(T)...】(如下图)
 
 
12、结果出现下面的问题(如下图)
 
 
13、然后去查看日志右键点击【PushDataToTarget】-【查看历史记录(V)】(如下图)
 
 
 
 
=============================================================
 
 
     方法二:在目标数据库服务器上建立一个链接服务器,让目标数据库主动的把数据pull到源数据库中。
 
1、创建链接服务器 参照上方的方法,并测试链接成功。然后在目标数据中新建作业,如下图
 
 
2、新建步骤(如下图)
从源数据库pull数据的sql语句:
truncate table TargetData.[dbo].[TargetTable]
go
insert into TargetData.[dbo].[TargetTable ] select * from [192.168.2.200].SourceData.[dbo].[SourceTable]
go
 
 
 
3、新建计划(如下图)
 
 
4、最终【确定】
 
 
5、右键点击【PullDataFromSource】-【作业开始步骤(T)...】
 
 
6、执行结果如下
 
 
7、再查看日志如下
 
 
8、表明执行结果是成功的。从上面的操作中可以总结出:
链接服务器的两个特点:
1.通过链接服务器不能删除(including truncate)链接源服务器的任何对像.
2:能过链接服务器可以对链接源服务器的表进行insert,updae,delete操作.
 
2015.10.30 10:26 willem SqlServer2012 数据库同步的两种方式(SQL JOB + 建立链接服务器)

SqlServer2012 数据库的同步之SQL JOB + 建立链接服务器的更多相关文章

  1. Sql Server建立链接服务器访问Access的MDB数据库

    EXEC master.dbo.sp_addlinkedserver @server = N'test', @srvproduct=N'OLE DB Provider for Jet', @provi ...

  2. 用sp_addlinkedserver建立链接服务器(sql server2008中通过测试)

    --在SQL SERVER 2008里,可以按以下的方式建立链接服务器 ? EXEC  sp_addlinkedserver          @server='Test',--这里是给链接服务器取的 ...

  3. [翻译]——SQL Server使用链接服务器的5个性能杀手

    前言: 本文是对博客http://www.dbnewsfeed.com/2012/09/08/5-performance-killers-when-working-with-linked-server ...

  4. sql server 使用链接服务器连接Oracle,openquery查询数据

      对接问题描述:不知道正式库oracle数据库账户密码,对方愿意在对方的客户端上输入账号和密码,但不告诉我们 解决方案:使用一台sql server作为中间服务器,可以通过转存数据到sql serv ...

  5. SQL Server的链接服务器(MySQL、Oracle、Ms_sql、Access、SYBASE)

    原文:SQL Server的链接服务器(MySQL.Oracle.Ms_sql.Access.SYBASE) 一.使用 Microsoft OLE DB Provider For ODBC 链接MyS ...

  6. sql server 2012 链接服务器不能链接sql server 2000的解决方案 ,

    本数据源来自 https://www.kafan.cn/edu/922556.html  目的为了备忘 把原来的sql server 2005直接装成了2012,然后在建立链接服务器链接一台sql s ...

  7. SQL Server 远程链接服务器详细配置

    原文:SQL Server 远程链接服务器详细配置[转载] http://hi.baidu.com/luxi0194/blog/item/a5c2a9128a705cc6c2fd7803.html - ...

  8. SQL Server创建链接服务器

    1.通过sql语句创建链接服务器,数据是sql server的 EXEC sp_addlinkedserver @server='test', --链接服务器别名,自定义 @srvproduct='' ...

  9. sql server 2005 链接服务器:未将服务器 配置为用于 RPC

    原文:sql server 2005 链接服务器:未将服务器 配置为用于 RPC  RPC: 远程过程调用(Remote Procedure Calls) --LinkedServer.Rpc 属性: ...

随机推荐

  1. JavaScript事件——冒泡、捕获

    本节要点:1.干预系统的事件处理机制 (一)DOM事件流 (二)停止事件冒泡 (三)阻止事件的默认行为 1.干预系统的事件处理机制 (一)DOM事件流 DOM模型是一个树形结构,在DOM模型中,HTM ...

  2. AngularJs自定义指令详解(5) - link

    在指令中操作DOM,我们需要link参数,这参数要求声明一个函数,称之为链接函数. 写法: link: function(scope, element, attrs) { // 在这里操作DOM} 如 ...

  3. 磊科NI360路由器绕过密码登录

    先分析正确登陆360路由器后cookies是怎么样的,发现只有一个值如下图: 可以看出登陆后只有一个netcore_login=guest:1 下面来模拟一下这个cookies看是否能登陆 增加好后直 ...

  4. DB2死锁的解决办法

    db2 get snapshot for locks on sampledb2 get db cfg for sampledb2 update db cfg using dlchktime 10000 ...

  5. 记录Gzip函数

    仅仅作个日志而与 public static function compress(param1:ByteArray) : ByteArray { var _loc_2:ByteArray; var _ ...

  6. app启动速度

    跟踪代码发现,应用启动时的白屏会持续到draw调用完成,这个过程中任何耗时操作将导致白屏时间增长. 1.adb shell am start -W -n yourpakagename/MainActi ...

  7. liunx 防火墙开放端口的设置

    今天在liunx 服务器上遇到一个问题,tomcat服务启动后怎么也访问不到项目,找了好久的原因,终于发现原来是liunx服务防火墙限制服务端口的访问,也就不多说了,看下面解决方法. 1.查看防火墙的 ...

  8. ros机器人开发概述

    1.       ROS项目开发流程? 参照古月大神写的ROS探索总结系列:http://blog.exbot.net/archives/619 具体项目设计可看看<程序员>杂志的最新一篇 ...

  9. 将 project.json 项目转换为 Visual Studio 2015 解决方案

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  10. 20151011 C# 第一篇 运算符

    20151011 表达式: 表达式是由运算符和操作数组成的. 运算符: 1. 算数运算符 运算符 说明 备注 + 加 ++M 前缀增量操作 该操作的操作结果是操作数加 1 之后的值 M++ 后缀增量操 ...