sqlserver创建服务器连接,及同构数据库同步问题

SQL SERVER 链接服务器 以及 openrowset 简单来说,通过链接服务器,让访问其它服务器,像跟访问自身数据库一样方便。from [链接服务器][数据库].[所有者].Tabel。 阅读详情

创建服务器连接

   exec   sp_addlinkedserver     'srv1','','SQLOLEDB','192.168.0.221,7788'  

   exec   sp_addlinkedsrvlogin   'srv1','false',null,'userid','pwd'


删除服务器连接

sp_droplinkedsrvlogin ‘srv1',null
sp_dropserver 'srv1'

或者 exec sp_dropserver 'srv1', 'droplogins '

查看服务器连接

select * from master..sysservers


创建存储过程的语法

create   proc   p_process    

{

  @in_name varchar(100),

  @int_param2 int,

  @out_param3 int output      --输出参数

}

as  
-- content

  return xxx;

end

//////////////////////////////////////////////////////////////////////////////////////////////////

/*--同步两个数据库中两个表的示例  
   
  测试环境及同步要求:  
   
  有数据库服务器srv1和srv2,两台电脑能互相访问,有数据  
  srv1.库名..author有字段:id,name,phone,  
  srv2.库名..author有字段:id,name,telphone,adress  
   
  要求:  
  srv1.库名..author增加记录则srv2.库名..author记录增加  
  srv1.库名..author的phone字段更新,则srv2.库名..author对应字段telphone更新  
  --*/  
   
  --大致的处理步骤  
  --1.在   srv1   上创建连接服务器,以便在   srv1   中操作   srv2,实现同步  
  exec   sp_addlinkedserver     'srv2','','SQLOLEDB','srv2的sql实例名或ip'  
  exec   sp_addlinkedsrvlogin   'srv2','false',null,'用户名','密码'  
  go  
   
  --2.在   srv1   和   srv2   这两台电脑中,启动   msdtc(分布式事务处理服务),并且设置为自动启动  
  我的电脑--控制面板--管理工具--服务--右键   Distributed   Transaction   Coordinator--属性--启动--并将启动类型设置为自动启动  
  go  

  --3.实现同步处理  
   
  --a.在srv1..author中创建触发器,实现数据即时同步  
  --新增同步  
  create   trigger   tr_insert_author   on   author  
  for   insert  
  as  
  set   xact_abort   on   --如果执行 Transact-SQL 语句产生运行时错误,则整个事务将终止并回滚。

  insert   srv2.库名.dbo.author(id,name,telphone)  
  select   id, name, telphone   from   inserted  
  go  
   
  --修改同步  
  create   trigger   tr_update_author   on   author  
  for   update  
  as  
  set   xact_abort   on  
  update   b   set   name=i.name,telphone=i.telphone  
  from   srv2.库名.dbo.author   b,inserted   i  
  where   b.id=i.id  
  go  
   
  --删除同步  
  create   trigger   tr_delete_author   on   author  
  for   delete  
  as  
  set   xact_abort   on  
  delete   b    
  from   srv2.库名.dbo.author   b,deleted   d  
  where   b.id=d.id  
  go  


上面的触发器是同步更新到链接的同构sql server服务器上的,如果链接服务器不是24小时都可用的,则要定时提交更新
   
  --在srv1中创建如下的同步处理存储过程  
  create   proc   p_process    
  as  
  --更新修改过的数据  
  update   b   set   name=i.name,telphone=i.telphone  
  from   srv2.库名.dbo.author   b,author   i  
  where   b.id=i.id   and  
  (b.name<>i.name   or   b.telphone<>i.telphone)  
   
  --插入新增的数据  
  insert   srv2.库名.dbo.author(id,name,telphone)  
  select   id,name,telphone   from   author   i  
  where   not   exists(  
  select   *   from   srv2.库名.dbo.author   where   id=i.id)  
   
  --删除已经删除的数据(如果需要的话)  
  delete   b    
  from   srv2.库名.dbo.author   b  
  where   not   exists(  
  select   *   from   author   where   id=b.id)  
  go  
   
  --然后创建一个作业定时调用上面的同步处理存储过程就行了  
   
  企业管理器  
  --管理  
  --SQL   Server代理  
  --右键作业  
  --新建作业  
  --"常规"项中输入作业名称  
  --"步骤"项  
  --新建  
  --"步骤名"中输入步骤名  
  --"类型"中选择"Transact-SQL   脚本(TSQL)"  
  --"数据库"选择执行命令的数据库  
  --"命令"中输入要执行的语句:   exec   p_process    
  --确定  
  --"调度"项  
  --新建调度  
  --"名称"中输入调度名称  
  --"调度类型"中选择你的作业执行安排  
  --如果选择"反复出现"  
  --点"更改"来设置你的时间安排  
   
   
  然后将SQL   Agent服务启动,并设置为自动启动,否则你的作业不会被执行  
   
总结:
1. 这个是用于同构的sql server服务器之间的同步
2. 没有采用增量同步技术,直接对比两张表找出不同,大数据量下不适用。


SQLserver如何创建链接服务器,实现跨库连接 在远程计算机上使用 SQL Server Management Studio(SSMS)或其他 SQL 客户端工具连接到 SQL Server 实例。在连接对话框中,指定 SQL Server 的 IP 地址或主机名,以及凭据(Windows 身份验证或 SQL Server 身份验证)。如果你的 SQL Server 托管在防火墙后面的计算机上,确保打开了用于 SQL Server 的端口(默认情况下是1433)。三、在需要链接其他服务器的数据库中---->SQL语句创建链接服务器。 阅读详情

相关推荐

记一次SQLServer2012 创建链接服务器连接ORACLE数据库

场景:业务数据库是oracle 11g ,现在需要在另外一台服务器上安装SQLServer2012 并抽取oracle数据库中的数据 首先是安装服务器系统,WinServer2008R2 64位 操作系统安装完成后,拷贝数据库镜像,加载虚拟光驱,单击安装程序 提示系统不满足最低要求,因为没有打补丁,2008R2需要安装Service Pack1补丁包,去微软官网下载,没有2008R2...

唔咿呀嘿嘿的博客 1万+

同步两个数据库的示例

原文出处:http://topic.youkuaiyun.com/t/20050602/13/4053922.html 测试环境及同步要求: 有数据库服务器srv1和srv2,两台电脑能互相访问,有数据 srv1.库名..author有字段:id,name,phone, srv2.库名..author有字段:id,name,telphone,adress ...

weixin_30794851的博客 118

sqlserver数据库同步更新数据到mysql数据库,利用ODBC

项目要求SQLSERVER数据库增加数据的时候同步数据到mysql数据库。 这里用到了存储过程与触发器的混合使用。 因为要同步到MySQL数据库所以首先下载MySQL的ODBC驱动 ↓ https://dev.mysql.com/downloads/connector/odbc/ 最好是下载那个MSI自动安装的,安装后打开电脑自带的ODBC配置 ↓ 添加刚才安装的驱动 ,记住这个名字 ↓ ...

zxcxixixi的博客 3535

sqlserver 链接数据库

exec sp_addlinkedserver  [ServerName],,SQLOLEDB,[ip]exec sp_serveroption [ServerName], rpc out, true exec sp_serveroption [ServerName], rpc, trueexec sp_addlinkedsrvlogin [ServerN

sssxueren的专栏 903

SQLServer数据库同步准实时解决方案

下载网站:www.SyncNavigator.CN   ---------------------------------------------------------- HKROnline SyncNavigator 8.4.1 非破解版 注册机 授权激活教程 1. 需求 1)如何将在线运营的SQLServer数据库数据及时同步到另外一个SQLServer数据库。 2)数据仓库系统的数据...

syncnavigator 4339

【深度学习】肺结节分割项目实战二:分割肺实质

在后续训练模型的时候如果直接使用原始的肺部CT图像,其中的非肺区域会对训练造成干扰,因此我们需要提取分割肺实质。这一部分参考了kaggle上的教程。 从这张CT图像中可以看出扫描器以外的部分为黑色,背景和肺内部颜色较深,非肺组织和骨头颜色较浅。我们的目的是将肺部分割出来。由于肺部区域和其他部分对比明显,我们可以设置一个合适的阈值对图像中的区域进行隔离。 import argparse import os import numpy as np from medpy.filter.smoothing imp

weixin_42182906的博客 7240

sql server mysql同步_SQL Server 用链接server 同步MySQL

--測试环境SQL 2014在MySql环境:use test ;Create Table Demo(ID int,Name varchar(50))在控制面板—管理工具—数据源(ODBC)—系统 DSN--加入--下一步(完毕)下一步(OK)正常显示配置(MySql_Link),记住名称在SQL Server查询分析器或SSMS界面操作方法1:以SSMS为例--打开企业管理器—server对象—...

weixin_42352080的博客 179

2023年第二十届五一数学建模竞赛C题:“双碳”目标下低碳建筑研究-思路详解与代码答案

2023年第二十届五一数学建模竞赛C题:“双碳”目标下低碳建筑研究-思路详解与代码答案

lichensun的博客 1万+

MSSQL跨数据库执行脚本:利用sp_addlinkedserver实现远程数据库链接

'192.168.2.66', --被访问的服务器别名(如果上面sp_addlinkedserver中使用别名JOY,则这里也是JOY)@server='192.168.2.66',--被访问的服务器别名(习惯上直接使用目标服务器IP,或取个别名如:JOY)@datasrc='192.168.2.66' --要访问的服务器。报错信息:仍有对服务器 'JOY' 的远程登录或链接登录。--使用 sp_helpserver 来显示可用的服务器。'test123' --密码。'sa', --帐号。

qq_16499627的博客 605

MES系统领料申请、出库、确认到料各环节的处理

在WMS和MES系统协同的车间管理中,核心分工原则为:MES负责生产需求发起(领料申请)和结果确认(到料验收),WMS执行库存管理和物流作业。具体流程为:1)MES根据生产需求生成领料单推送至WMS;2)WMS完成拣货出库并调度AGV配送;3)车间在MES确认到料后解锁生产工序。系统边界严格限定:MES不参与库存/库位管理,WMS不干预生产决策。特殊场景(紧急补料、缺料异常等)通过标准化接口流程处理,确保生产与物流高效协同的同时保持账实一致。

做有价值的事,积累有价值的笔记! 583

基因家族Motif 分析

MEME

hgz2020的博客 6317

sqlserver 无法远程连接到服务器,解决SQLServer远程连接失败的问题

解决SQLServer远程连接失败的问题机房收费系统异地发布的时候,需要保证数据库能够远程连接,但连接的时候通常会报错:要解决这个问题,首先需要检查SqlServer 的几项设置。(这些设置一般都是系统默认项,不过最好看一下)(一)检查SQL Server是否允许远程链接。以SqlServer 身份验证方式登陆。登录账户sa(二)打开配置管理器,检查微软SQL服务器(MSSQLServer)的TC...

weixin_29967003的博客 2万+

北京途游游戏后端开发面经

北京途游游戏后端开发面经 我面试岗位是基于Python的后端开发工程师,主要是搞游戏的服务器开发。面试一共分了两轮,之后说是看看其他的候选人再定,感觉凉凉~~ 由于受到此次新型冠状病毒疫情的影响,本次面试采用视频面试的方式,下面是面试的时候面试官提的问题,python的基础知识还是问的比较多的。  一面:(32分钟微信视频)  简单做下自我介绍,   1.说一下你开发过的项目,挑一个说下你都做了...

weixin_45603043的博客 2124

SQLSERVER数据库、表的创建及SQL语句命令

SQLSERVER数据库、表的创建及SQL语句命令 备份,还原,创建,删除,查询,修改 ** 数据库定义及操作命令:** 按照数据结构来组织、存储和管理数据的仓库。由表、关系以及操作对象组成,把数据存放在数据表中。 修改数据库密码的命令: EXEC sp_password NULL, ‘你的新密码’, ‘sa’ sp_password Null,‘sa’,‘sa’ 1、备份SQL数据库 备份SQL数据库: backup database [3D-DATA]/*原数据库*/ to disk='D:\Prog

优快云hansl的博客 1万+

异步FIFO的隐形陷阱:复位信号同步化实战解析

本文深入解析异步FIFO设计中复位信号同步化的隐形陷阱,重点分析赛灵思xpm_fifo_async原语在FPGA应用中的常见问题。通过实战代码和系统集成方案,提供复位同步化的最佳实践,帮助工程师避免跨时钟域通信故障,提升系统可靠性。

keras9composer的博客 244

【深度学习新浪潮】深度学习特别是大模型在图像配准方面的研发进展

深度学习,尤其是大模型的出现,彻底改变了图像配准的技术范式——从“手工设计特征+几何约束”走向“数据驱动+通用特征学习”。当前,大模型配准已在医学影像、遥感、工业检测等领域实现商业化落地,解决了传统方法难以应对的跨模态、少样本、复杂形变等问题。但大模型配准仍面临推理效率、可解释性、数据隐私等挑战,未来的研发核心将是“精度与效率的平衡”“泛化能力的提升”“场景化适配的简化”。对于开发者而言,从简化版大模型配准代码入手,逐步理解预训练+微调的核心逻辑,是衔接前沿技术的有效路径。

专注:太空算力、AI infra、异构调度、大模型成本工程 424

MSSQL数据库自动同步

MSSQL自动同步 by zengyu这里以117和75为例说明:117发布&分发服务器、75订阅服务器一、准备工作:1、117&75上建立sqlagt用户,隶属于administrators组,用于启动Sqlserveragent服务(开机自启动),本地系统帐户local,将不具备网络功能,会产生错误2、117/75上企业管理器中的SQL注册必须为本机名称,不能为local或ip

Tech my Life 7453

高云FPGA系列教程(2):FPGA点灯工程创建、程序下载和固化

相比于国外FPGA厂商EDA开发环境,几个G到几十个G的大小,高云云源软件安装包也很小巧,界面也很简洁,综合速度非常快,是我没想到的,好像在使用单片机一样,点一下就编译完成了,以本文简单的LED示例工程为例,比特流文件几乎在几秒钟内生成;无论是下载比特流文件到RAM还是Flash中,速度都很快,而且只有一种fs程序文件格式,不用再进行bit/mcs转换;云源软件自带的编辑器也很好用,和Notepad++界面差不多,而且快捷键很方便,具有基本的自动补全功能。

whik1194的博客 5460

Oracle数据库和SQLServer数据库中创建DB-Link语法

1.Oracle数据库中DB-Link对象创建语法: create public database link DB_Link_Name connect to userName identified by password using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.

七步诗 2039

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

sqlserver怎么连接mysql_SQLServer数据库如何创建MYSQL的链接服务器

本文主要向大家介绍了SQLServer数据库如何创建MYSQL的链接服务器,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助。这两天需要从别人的mysql里读数据过来,由于在自动取数据过程中,要保存各类控制数据,这些数据还是存在我自己的SQLSERVER中比较方便,所以想来想去,决定用链接服务器。接下来把我建立链接服务器的经历跟各位分享一下:整个过程共分为三大部分:准备过程...

weixin_33918262的博客 5047

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

C/C++使用ODBC连接MSSQL数据库

在C/C++中通过ODBC连接MSSQL数据库的一个全部过程,希望能帮助到有需要的人。

nanyouWSH的博客 1万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Sqlserver2000连接Oracle11G数据库进行数据实时同步

Sqlserver2000连接Oracle11G数据库进行数据实时同步 1,前提条件 已经有sqlserver2000环境,已经存在oracle11g环境,准备这两个数据库,建立各自的访问账号,两者之间需要ping通,telnet端口也要能通,目的是将sqlserver里面的数据自动同步到oracle数据库里面去。Sqlserver里面有链路服务器(linked server)可以实现...

csdn's blog 1万+

mssql 连接mysql_Mssql链接mysql数据库

最近在做mysql数据库实时同步到mssql数据库的方案,花了一周时间,测试通过了,在实际机器上测试出现了若干问题。第一个问题就是在mssql上链接mysql的问题。第一步,安装 Mysql ODBC首先要在mssql的机器上安装mysql ODBC,如果没有安装将报错:但安装不一定就能成功,比如会报错1918:出现这种情况的原因是服务器上没有安装运行库,安装 MS C++2010后,再安装ODB...

weixin_27014595的博客 1284

PHP通过PDO_odbc数据源方式连接MSSQL sqlserver数据库

PHP和数据库一般都是用的MYSQL来搭配的,但有一些情况环境中还是需要用到PHP连接MSSQLSQL Server数据库的,因为PHP和MSSQL连接的情况比较少,所以想在网上找个方法比较难,城北最近就遇到了PHP需要连接SQL Server数据库的情况,今天就分享一下城北在连接过程中遇到的问题和成功的方法. 首先城北也不会连接,所以在网上找了很多的方法,但是呢,其它都没成功.太麻烦了,需要下载很多文件之类的.又要改什么什么文件.太麻烦了,都不知道是那一步错了.反正没成功连接上MSSQL,最后发..

1322

如何同步两个SQLServer数据库的内容

  如何同步两个SQLServer数据库的内容?程序代码可以有版本管理CVS进行同步管理,可是数据库同步就非常麻烦,只能自己改了一个后再去改另一个,如果忘记了更改另一个经常造成两个数据库的结构或内容上不一致.各位有什么好的方法吗?  一、分发与复制   用强制订阅实现数据库同步操作. 大量和批量的数据可以用数据库的同步机制处理://说明:为方便操作,所有操作均在

Thinking > Coding >Think 2356

如何排查和修复 MSSQL 数据库连接失败的问题

如何排查和修复 MSSQL 数据库连接失败的问题

2409_89014517的博客 1920
上一篇: SQLite3 delete限制删除行数的问题
下一篇: 软件项目版本号的命名规则及格式介绍
WaveYang
博客等级 码龄22年 14粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值