1、建立链接服务器

在ServerA 中创建指向ServerB的链接服务器,并做好账号映射。addlinkedserver存储过程创建一个链接服务器,参数详情参见官方文档

第1个参数LNK_ServerA是自定义的名称;第2参数产品名称,如果是SQL Server不用提供;第3个参数是驱动类型;第4个参数是数据源,这里写SQL Server服务器地址

exec sp_addlinkedserver 'LNK_ServerB_DatabaseB','','SQLNCLI','192.168.1.101'

配置链接服务器后,默认使用同一本地账号登陆远程数据库,如果账号有不同,还需要进行账号映射。sp_addlinkedsrvlogin参数详情参见官方文档

第1个参数同上;第2个参数false即使用后面参数提供的用户密码登陆;第3个参数null使所有本地账号都可以使用后面的用   户密码来登陆链接服务器,如果第3个参数设置为一个本地SQL Server登陆用户名,那么只有这个用户才可以使用远程账号登陆链接服务器;最后两个是登录远程服务器的用户和密码。

exec sp_addlinkedsrvlogin 'LNK_ServerB_DatabaseB','false',null,'user','password'

如果要删除以上配置可以如下
exec sp_droplinkedsrvlogin 'LNK_ServerB_DatabaseB',null
exec sp_dropserver 'LNK_ServerB_DatabaseB','droplogins'
也可以取SQLSEVER Stduio 里面手动删除,在服务器对象下\链接服务器中可以找到配置好的链接服务器 2、建立好了再用触发器来实现连个不同表结构的数据同步。
示例:在服务器A建立一个student_01表,有name,age,class列,同样在服务器B上建立一个student表,表结构一样。
通过新增或修改服务器A的数据,同时新增或修改服务器B的数据
定义的链接服务器名为[LINK_DB]

CREATE trigger [dbo].[trig_to_DB]
on [dbo].[student_01]
after insert ,update
as
begin

declare @name varchar(50);
declare @age int;
declare @class varchar(50);
declare @tname varchar(50);

select @name = name , @age =age , @class = class
from inserted

if(len(@name)!= 0)
select @tname =name from [LINK_DB].[数据库名].[dbo].[student] where name = @name
if(LEN(@tname)!= 0)
begin
update [LINK_DB].[数据库名].[dbo].[student] set age = @age,class = @class where name = @tname
end
else
begin
insert into [LINK_DB].[数据库名].[dbo].[student](name,age,class) values(@name,@age,@class)
end
end

保存成功过后,新增或修改服务器A的student_01表的数据,服务器B中表student 的数据也会新增或修改


												

SQLSEVER 不同服务器下两个结构相似的表实现数据同步(触发器)的更多相关文章

  1. oracle triggers 实现两个结构相同的表的数据级联更新操作

    首先创建两个结构相同的表 -- Create table create table TABLE_TEMP ( userid NUMBER not null, username NVARCHAR2(50 ...

  2. [原]用SQL比较两张结构完全相同的表数据

    前几天面试遇到一个比较有意思的问题,就是有两张结构完全相同的表A和B,但是这两张表属于不同的业务流程,经过一段时间后发现两张表的数据不能完全匹配,有可能A比B多,也可能B比A多,或者两种可能同时存在, ...

  3. SQLSEVER 同台服务器下不同表 触发器实现数据实时同步

    触发器的使用: 1.首先建立两个相同结构的表,两个表明的列的名称不同. student_01   字段  name  ;  字段 age  ; 字段  class ; student_02   字段  ...

  4. linux下两台服务器文件实时同步方案设计和实现

    inux下两台服务器文件实时同步方案设计和实现 假设有如下需求: 假设两个服务器: 192.168.0.1 源服务器  有目录 /opt/test/ 192.168.0.2 目标服务器  有目录 /o ...

  5. 什么是CS和BS结构,两种结构的区别

    什么是CS和BS结构,两种结构的区别 什么是C/S和B/S结构?         C/S又称Client/Server或客户/服务器模式.服务器通常采用高性能的PC.工作站或小型机,并采用大型数据库系 ...

  6. 【转存】阿里云服务器下 LAMP 环境配置 —— 基于 CentOS 6.3

    阿里云服务器下 LAMP 环境配置 —— 基于 CentOS 6.3  Posted on 2016年2月10日 by  学院君 1.Apache 配置 —————————————————– vi / ...

  7. Linux网络栈下两层实现

    http://www.cnblogs.com/zmkeil/archive/2013/04/18/3029339.html 1.1简介 VLAN是网络栈的一个附加功能,且位于下两层.首先来学习Linu ...

  8. linux服务器下添加字体

    版权声明:本文为楼主原创文章,未经楼主允许不得转载,如要转载请注明来源. 引言:这两天在开发一个动态生成海报的东西(图片拼接,图片水印),开发在windows下没有问题,图片和文字都能正常的生成出来. ...

  9. 【Unity Shaders】学习笔记——SurfaceShader(二)两个结构体和CG类型

    [Unity Shaders]学习笔记——SurfaceShader(二)两个结构体和CG类型 转载请注明出处:http://www.cnblogs.com/-867259206/p/5596698. ...

随机推荐

  1. SignalR 传Model类型的参数

    目录 集线器方法 js调用 集线器方法 集线器写了一个方法是这样的 public void test(string name, Customer customer) 第一个参数是string类型的,第 ...

  2. JS中search查找某些内容,正则表达式|查找分隔的任何项

    JS中可以用indexOf来查找某个字符串里的某些内容的索引,也就是在字符串的位置.如果存在该字符串,会返回该字符串的索引,如果不存在会返回-1,可以通过某些内容的索引是否为-1判断是否存在该字符串. ...

  3. Linux awk+uniq+sort 统计文件中某字符串出现次数并排序

    https://blog.csdn.net/qq_28766327/article/details/78069989 在服务器开发中,我们经常会写入大量的日志文件.有时候我们需要对这些日志文件进行统计 ...

  4. autocomplete="off" 在新版chrome中不起作用

    autocomplete="off" 在新版chrome中不起作用,还是自动填充了 用户名和密码,改为 autocomplete="new-password"  ...

  5. java设计模式(一)——单例模式

    1.基本介绍 单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供-一个取得其对象实例的方法(静态方法).如:一般情况下,数据库的连接 2.创建方式: ...

  6. 史上最浅显易懂的RxJava入门教程

    RxJava是一个神奇的框架,用法很简单,但内部实现有点复杂,代码逻辑有点绕.我读源码时,确实有点似懂非懂的感觉.网上关于RxJava源码分析的文章,源码贴了一大堆,代码逻辑绕来绕去的,让人看得云里雾 ...

  7. Centos7.5 添加环境变量并生效

    配置环境变量用户 jiangshan为例(base) [jiangshan@localhost ~]$ export PATH=$PATH:/usr/local/MATLAB/R2014a/bin/( ...

  8. git config命令详解

     Git有一个工具被称为git config,它允许你获得和设置配置变量:这些变量可以控制Git的外观和操作的各个方面. 一. 配置文件的存储位置 这些变量可以被存储在三个不同的位置: 1./etc/ ...

  9. 剑指offer55:链表中环的入口结点

    1 题目描述 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null. 2 思路和方法 这是一个典型的链表中查找环的问题,基本思路是,首先设置两个快慢指针slow和fast,并且快指 ...

  10. nginx与php配置用户问题

    当配置nginx的nginx.conf 时,可参照如下配置: server { listen 80; server_name www.advancephp2017.com; access_log lo ...