当前位置:首页 > 系统

SQL Server 2005数据库复制简单图解-数据库高可用性

happyfhb16年前 (2011-02-27)系统1557
摘要: 本鸟给大家浅谈一下SQL 2005数据库的复制过程,那么为什么要进行复制呢?数据库复制是指:将表格或数据库的数据复制到另一个表格中或数据库中,利用数据库复制技术可以把数据库全部内容完整的复制到公司的各个系统中去(也可以选择部分数据),当使用SQL Server复制技术时,数据的复制时自动…

 本鸟给大家浅谈一下SQL 2005数据库的复制过程,那么为什么要进行复制呢?数据库复制是指:将表格或数据库的数据复制到另一个表格中或数据库中,利用数据库复制技术可以把数据库全部内容完整的复制到公司的各个系统中去(也可以选择部分数据),当使用SQL Server复制技术时,数据的复制时自动完成的。需要提的是,数据库复制不是什么新技术,早在SQL Server6.0中就有了。利用复制,即使服务器位于不同的地理区域,也可以将数据移动到不同的服务器上。

   数据库复制将涉及发布服务器,分发服务器和订阅服务器,这三种服务器可以再不同的服务器上,也可部署在同一服务器。SQL数据复制包括有快照复制,事务复制,合并复制。今天我给大家说说快照复制,快照复制为订阅者提供了自主权最大,但是却付出了数据时间延长的代价,快照复制取文章的完整副本,通过对其他SQL Server使用BCP文件(就是我们说的存储由大容量复制实用工具或同步创建的大容量复制数据的文件。)具体可见:http://baike.baidu.com/view/684693.html?tp=8_01和对类似Oracle的其他数据源使用的txt文件方式,将此副本复制给订阅者。快照复制使用两个代理实现数据的移动;快照代理(Snapshot Agent)取给定时间点的数据,为发送做准备,分发代理(Distribution Agent)将快照和事物从发布者移动到订阅者(Subscriber)。理论先到这里,简单介绍一下环境;Server1为发布服务器,Server2为订阅服务器,它们之间要传输的数据是Server1的db1数据库中的员工表(yg表)实验拓扑如下所示:

 

 一:前期查看

查看两个服务器的计算机名和数据库名,不一样那就得统一计算机名,具体命令下面会有

查看Server1的计算机名
 

查看服务器名称

统一与计算机名称,具体命令:

if  serverproperty('servername')  <>  @@servername 
begin 
           declare  @server  sysname 
           set  @server  =  @@servername 
           exec  sp_dropserver  @server  =  @server 
           set  @server  =  cast(serverproperty('servername')  as  sysname)             
           exec  sp_addserver  @server  =  @server  ,  @local  =  'LOCAL' 
end 

与Server1一样,Server2也查看服务器名称,并且统一计算机名

改完之后重启一下数据库服务

我们再来重新看一下计算机名和库名统一了没

 

启动SQL代理

 

在数据库db1中建立一个员工表(yg表)并且插入一条员工的记录

21 1

二:建立发布服务器

在库中的——复制——本地发布(右键)

15 1

发布向导

16 1

将Server1 dufei作为数据库发布服务器,指定本机作为发布服务器(默认设置)

17 1 

启动计算机是启动SQL代理(这样是不是很方便啊)

18 1

指定存放快照的目录

19 1

选择要发布的数据库(我们指定的是db1为发布库)

23 1

选择发布的类型——快照发布

24 1

选择想要发布的表。我们创建的是yg表

25 1

添加筛选器,实验环境我就省了,直接skip

26 1

出现指定何时创建快照以及何时运行快照。我更改为3分钟一次运行(我是实验环境下可以快点)

 

27 1

28 1

设置运行快照的服务器账户

29

创建发布~~

30 1

给这个发布起个名,便于记忆

31 1

创建成功,需要检查一下一些服务是否启动

33 1

发布服务器已经搞定,下面我们要进行订阅服务器的设置

 

三:设定订阅服务器

同发布服务器一样,到要发布的服务器我们这里是Server2,复制——本地订阅——新建订阅

34 1

出现了向导,点击下一步进行

35 1

指定订阅服务器

36 1

选择要订阅的数据库

37 1

选择分发代理的位置

38 1

选择订阅库

39 1

设置分发代理安全性。

47 1

指定代理运行计划

43 1

44 1

马上就要成功了,在耐心等等

45 1

完成订阅~~~~

46 1

48 1 

 

四:进行Server1和 Server2的测试

在Server1上插入两条李四和王五的记录

49 1

过上一会儿我们进行查看Server2的db1数据库

50 1

实验很成功,是不是很实用?现在数据库作为安全的第一要任还是值得我们这样去利用的,这也是数据库高可用性的又一表现。。。

扫描二维码推送至手机访问。

版权声明:本文由海海日记-冯海滨博客发布,如需转载请注明出处。

本文链接:http://www.fenghaibin.com/?id=721

“SQL Server 2005数据库复制简单图解-数据库高可用性” 的相关文章

写给想学Linux的人

昨天看同学的帖子,很受启发,今天把它发上来,希望对我们都有所帮助,也希望可以为我们指点明路!(如果你连这篇文章看完的耐心都没有的话,那么我希望你还是不要学linux了!linux太难用了!(一通鼠标点击,进入/etc)学习linux,你忘记windows的思维方式了吗?怎么安装软件 阿?那一堆文件是…

sql2000安装程序被挂起的解决方法

安装SQL Server2000的时候,安装程序提示我安装程序被挂起,让我重新启动电脑,但我即便是重新启动了再次安装,SQL Server2000的安装程序依旧提示我这个错误。看来重起并不能解除被挂起的安装程序。 查阅了资料,得知要解决这个问题需要删除注册表HKEY_LOCAL_MACHINESYS…

如何让服务器支持WAP

        window.google_render_ad();随着手机的普及,WAP应用程序越来越多,为此对Web服务器提出了新的要求 即Linux Web服务器和Windows Web服务都要支持WAP。 WAP的客户端是…

在为WINDOWS客户端读取共享列表时发生如下错误.错误2114:没启动服务器服务解决办法

近日在客户哪里装2003遇到这个问题.解决方法:首先在网络属性里选中“文件与打印机共享”安装这个服务.然后看看“管理”里的“服务”是不是相关的网络服务没有启动。 管理工具->服务-->server 启动起来就可以了. …

开启打印服务及打印服务自动关闭的解决方法

首先精讲打印机服务开启。在桌面选中“我的电脑”,鼠标右键选择“管理”; 在“管理”窗口中,选取“服务和应用程序”扩展项目下的“服务”选项(如图),在右侧出现系统服务列表中找到&ld…

PrintScreen-不为人知的截图按钮

PrintScreen翻译成中文是打印屏幕的意思,各位看官看看自己的电脑上是不是有这个按键,这是windows自带的截图工具,其实海盗头头早就知道这个功能,只是不知道按完这个键图像保存到哪了,一直以为保存到某个目录中--#海盗头头看完文章后才明白是在剪贴板里,如果你也不知道PrintScreen的用…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。