数据库高可用性SQL Server 数据库复制简单图解.docx
《数据库高可用性SQL Server 数据库复制简单图解.docx》由会员分享,可在线阅读,更多相关《数据库高可用性SQL Server 数据库复制简单图解.docx(36页珍藏版)》请在冰豆网上搜索。
数据库高可用性SQLServer数据库复制简单图解
数据库高可用性——SQLServer2005数据库复制简单图解
本鸟给大家浅谈一下SQL2005数据库的复制过程,那么为什么要进行复制呢?
数据库复制是指:
将表格或数据库的数据复制到另一个表格中或数据库中,利用数据库复制技术可以把数据库全部内容完整的复制到公司的各个系统中去(也可以选择部分数据),当使用SQLServer复制技术时,数据的复制时自动完成的。
需要提的是,数据库复制不是什么新技术,早在SQLServer6.0中就有了。
利用复制,即使服务器位于不同的地理区域,也可以将数据移动到不同的服务器上。
数据库复制将涉及发布服务器,分发服务器和订阅服务器,这三种服务器可以再不同的服务器上,也可部署在同一服务器。
SQL数据复制包括有快照复制,事务复制,合并复制。
今天我给大家说说快照复制,快照复制为订阅者提供了自主权最大,但是却付出了数据时间延长的代价,快照复制取文章的完整副本,通过对其他SQLServer使用BCP文件(就是我们说的存储由大容量复制实用工具或同步创建的大容量复制数据的文件。
)具体可见:
Agent)取给定时间点的数据,为发送做准备,分发代理(DistributionAgent)将快照和事物从发布者移动到订阅者(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表)并且插入一条员工的记录
二:
建立发布服务器
在库中的——复制——本地发布(右键)
发布向导
将Server1dufei作为数据库发布服务器,指定本机作为发布服务器(默认设置)
启动计算机是启动SQL代理(这样是不是很方便啊)
指定存放快照的目录
选择要发布的数据库(我们指定的是db1为发布库)
选择发布的类型——快照发布
选择想要发布的表。
我们创建的是yg表
添加筛选器,实验环境我就省了,直接skip
出现指定何时创建快照以及何时运行快照。
我更改为3分钟一次运行(我是实验环境下可以快点)
设置运行快照的服务器账户
创建发布~~
给这个发布起个名,便于记忆
创建成功,需要检查一下一些服务是否启动
发布服务器已经搞定,下面我们要进行订阅服务器的设置
三:
设定订阅服务器
同发布服务器一样,到要发布的服务器我们这里是Server2,复制——本地订阅——新建订阅
出现了向导,点击下一步进行
指定订阅服务器
选择要订阅的数据库
选择分发代理的位置
选择订阅库
设置分发代理安全性。
指定代理运行计划
马上就要成功了,在耐心等等
完成订阅~~~~
四:
进行Server1和Server2的测试
在Server1上插入两条李四和王五的记录
过上一会儿我们进行查看Server2的db1数据库
实验很成功,是不是很实用?
现在数据库作为安全的第一要任还是值得我们这样去利用的,这也是数据库高可用性的又一表现。
。
。