SQL语句大全(六)

2015-01-25 21:50:35 · 作者: · 浏览: 26
名或ip'

  exec sp_addlinkedsrvlogin 'srv2','false',null,'用户名','密码'

  go

  --2.在 srv1 和 srv2 这两台电脑中,启动 msdtc(分布式事务处理服务),并且设置为自动启动

  。我的电脑--控制面板--管理工具--服务--右键 Distributed Transaction Coordinator--属性--启动--并将启动类型设置为自动启动

  go

  --然后创建一个作业定时调用上面的同步处理存储过程就行了

  企业管理器

  --管理

  --SQL Server代理

  --右键作业

  --新建作业

  --"常规"项中输入作业名称

  --"步骤"项

  --新建

  --"步骤名"中输入步骤名

  --"类型"中选择"Transact-SQL 脚本(TSQL)"

  --"数据库"选择执行命令的数据库

  --"命令"中输入要执行的语句: exec p_process

  --确定

  --"调度"项

  --新建调度

  --"名称"中输入调度名称

  --"调度类型"中选择你的作业执行安排

  --如果选择"反复出现"

  --点"更改"来设置你的时间安排

  然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行

  设置方法:

  我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.

  --3.实现同步处理的方法2,定时同步

  --在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