以下实现复制步骤(以快照复制为例)
运行平台SQL SERVER 2005

一、准备工作:
1.建立一个 WINDOWS 用户,设置为管理员权限,并设置密码,作为发布快照文件的有效访问用户。
2.在SQL SERVER下实现发布服务器和订阅服务器的通信正常(即可以互访)。打开1433端口,在防火墙中设特例

3.在发布服务器上建立一个共享目录,作为发布快照文件的存放目录。例如:在D盘根目录下建文件夹名为SqlCopy

4.设置SQL 代理(发布服务器和订阅服务器均设置)
打开服务(控制面板---管理工具---服务)
---右击SQLSERVER AGENT---属性---登录---选择“此帐户“
---输入或选择第一步中创建的WINDOWS 用户
---“密码“中输入该用户密码

5.设置SQL SERVER 身份验证,解决连接时的权限问题(发布、订阅服务器均设置)

步骤为:对象资源管理器----右击SQL实例-----属性----安全性----服务器身份验证------选“SQL Server和WINDOWS“,然后点确定

6.开启SQL Server 2005的网络协议TCP/IP和管道命名协议并重启网络服务。

7.在SQL Server中创建步骤1中对应的系统用户登陆名,作为发布数据库的拥有者(设置为dbo_owner和public)。

8.以系统超级用户sa登陆SQL Server建立数据库和表。

9.发布服务器和订阅服务器互相注册

步骤如下:视图----单击以注册服务器----右键数据库引擎----新建服务器注册-----填写要注册的远程服务器名称------身份验证选“SQL Server验证“-----用户名(sa) 密码------创建组(也可不建)-----完成。

10.对于只能用IP,不能用计算机名的,为其注册服务器别名

二、开始:

发布服务器配置(在发布服务器上配置发布和订阅)
1. 选择 复制 节点
2. 右键本地发布 ----下一步---------系统弹出对话框看提示----直到“指定快照文件夹“
----在“快照文件夹“中输入准备工作中创建的目录(指向步骤3所建的共享文件夹)------选择发布数据库-------选择发布类型-------选择订阅服务器类型-------选择要发布的对象------设置快照代理-------填写发布名称。

3. 右键本地订阅--------选择发布服务器-------选择订阅方式(如果是在服务器方订阅的话选择推送订阅反之
选择请求订阅)-------填加订阅服务器--------选择代理计划(一般选择连续运行)---------其余选择默认项。

至此, SQL SERVER 2005 同步复制就完成了。使用复制技术,用户可以将一份客户端的数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性,就无需编程实现客户端和服务器端数据同步了!大大提高了工作效率!

----------------------------------------------------------------------------------------------------------------------------------------------------

--即时同步两个表的实例:

--测试环境:SQL2000,远程主机名:xz,用户名:sa,密码:无,数据库名:test

--创建测试表,不能用标识列做主键,因为不能进行正常更新
--在本机上创建测试表,远程主机上也要做同样的建表操作,只是不写触发器
if exists (select * from dbo.sysobjects where id = object_id(N'[test]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [test]

create table test(id int not null constraint PK_test primary key
 ,name varchar(10))
go

--创建同步的触发器
create trigger t_test on test
for insert,update,delete
as
set  XACT_ABORT on
--启动远程服务器的MSDTC服务
exec master..xp_cmdshell 'isql /S"xz" /U"sa" /P"" /q"exec master..xp_cmdshell ''net start msdtc'',no_output"',no_output

--启动本机的MSDTC服务
exec master..xp_cmdshell 'net start msdtc',no_output

--进行分布事务处理,如果表用标识列做主键,用下面的方法
BEGIN DISTRIBUTED TRANSACTION
delete from openrowset('sqloledb','xz';'sa';'',test.dbo.test)
 where id in(select id from deleted)
insert into openrowset('sqloledb','xz';'sa';'',test.dbo.test)
 select * from inserted
commit tran
go

--插入数据测试
insert into test
select 1,'aa'
union all select 2,'bb'
union all select 3,'c'
union all select 4,'dd'
union all select 5,'ab'
union all select 6,'bc'
union all select 7,'ddd'

--删除数据测试
delete from test where id in(1,4,6)

--更新数据测试
update test set name=name+'_123' where id in(3,5)

--显示测试的结果
select * from test a full join
openrowset('sqloledb','xz';'sa';'',test.dbo.test) b on a.id=b.id


传统的方法是写程序用事务同步

本文转自钢钢博客园博客,原文链接:http://www.cnblogs.com/xugang/archive/2008/01/17/1042805.html,如需转载请自行联系原作者

SQL SERVER 2005 同步复制技术(转)相关推荐

  1. SQL SERVER 2005 同步复制技术

    SQL SERVER 2005 同步复制技术 以下实现复制步骤(以快照复制为例) 运行平台SQL SERVER 2005 一.准备工作: 1.建立一个 WINDOWS 用户,设置为管理员权限,并设置密 ...

  2. SQL SERVER 2005 同步复制技术 发布与订阅功能使用说明

    SQL SERVER 2005 同步复制技术 以下实现复制步骤(以快照复制为例) 运行平台SQL SERVER 2005 一.准备工作: 1.建立一个 WINDOWS 用户,设置为管理员权限,并设置密 ...

  3. SQL SERVER 2005 使用订阅发布同步数据库

    这两天有一个同事在设计项目的时候考虑到数据量查询和写入都比较大,问我数据库该怎么设计,了解了他们的业务后,我给的建议是发布一个订阅的数据库来分担压力,写下自己的操作步骤分享给大家. 数据库复制涉及 发 ...

  4. 实验一:SQL server 2005高可用性之----日志传送

    如转载,请注明出处:http://blog.csdn.net/robinson_0612/archive/2009/10/31/4751070.aspx SQL server 2005高可用性之日志传 ...

  5. SQL Server 2005中的分析服务功能[转]

    XXXX(不知道为什么CnBlogs上的人这么抵制XXXX,呵呵--)上推出了"体验SQL Server 2005"活动,当然啦,一些关于SQL Server 2005的文章被翻译 ...

  6. Visual Studio 2005 SQL Server 2005 are COMING!

    环绕着神圣光环的IDE圣杯--Microsoft Visual Studio 2005已确定于今年11月7日在San Francisco正式发布!届时同步发布的还将包括SQL Server 2005的 ...

  7. 黄聪:SQL server 2005高可用性之----数据库镜像

    SQL server 2005高可用性之数据库镜像,是SQL server 2005的新技术之一,是一种基于软件的高可用性解决方案,可以对不同服务器或同一服务器不同实例之间的数据库实验无数据延迟,自动 ...

  8. SQL Server 2005 Service Broker 初探

    发布日期 : 11/4/2004| 更新日期 : 11/4/2004 Roger Wolter 适用于: Microsoft SQL Server 2005 Transact SQL (T-SQL) ...

  9. SQL Server 2005 的版本和组件[转载]

    可以在生产环境中使用所有版本的 SQL Server 2005,但 SQL Server 2005 Developer Edition 和 SQL Server 2005 Evaluation Edi ...

最新文章

  1. 信用卡葵花宝典笔记(一)
  2. matlab中基本函数的用法
  3. Android Studio系列(二)使用Android Studio开发/调试整个android系统源代码(不定时更新)
  4. 详解 GNU C 标准中的 typeof 关键字
  5. vs2017+配置工程的编译路径(输出目录和中间目录)
  6. C语言实现推箱子game
  7. Centos7安装iNode客户端
  8. 人工智能入门——机器学习小案例(一)
  9. 重新学习Python的第二天_列表及字符串的学习与练习
  10. Android实现应用数字角标
  11. Window10设置图标名、文件名的字体大小方法
  12. 光驱刻录软件提示需要计算机管理员权限,如何禁用光驱刻录功能、设置光驱只读而禁止刻录的方法...
  13. mysql 军规_关于MySql的军规
  14. Manjaro 安装MySQL
  15. ansible批量免密
  16. 运放振荡问题的个人理解
  17. 腾讯阅文集团android面试记录
  18. 词汇量计算机,都在说词汇量,究竟多少词汇才够用?
  19. 简繁 data_gb.php 下载,简繁转换的程序_php
  20. Win10系统下Eclipse+ADT+SDK配套安装(避免遇坑)

热门文章

  1. python qthread 线程退出_线程:概念和实现
  2. 刷新序号公共方法 公司内部用
  3. linux文件系统的链接,用户指南:Linux文件系统的链接
  4. java 策略模式会员_七:策略模式(不同等级会员打折算法)
  5. padavan支持惠普打印服务器,[分享]Padavan打印机共享,电脑和手机上添加,亲测通过!...
  6. windows连linux工具,Windows连接Linux工具
  7. 测试录制的电话拨码声音信号在发送过程中的问题
  8. 利用Python模拟鼠标自动完成MM32-LINK程序下载
  9. 组装肩部带有减速器双轴机械臂组装与调试
  10. 访问学术网站的便捷方式