位置: 编程技术 - 正文
数据库复制:
简单来说,数据库复制就是由两台服务器,主服务器和备份服务器,主服务器修改后,备份服务器自动修改。
复制的模式有两种:推送模式和请求模式,推送模式是主服务器修改后,自动发给备份服务器,请求模式是,备份服务器自动去请求,个人开始也比较重视去测试两个模式的差别,但是测试发现,其实两个模式差别不是很大,在当今的服务器配置中,没必要考虑这么多,虽然会有一些差别,但是可在可以忽略的范围之内,建议直接选择推送模式,因为配置起来相对简单
数据库发布类型有三种:快照发布,事务性发布,具有可更新订阅和事务性发布,合并发布
一般都会采用事务性发布,具体好处,就不说了,网上一大堆的
复制过程:
第一:点开数据库--复制---本地发布---新建发布
下面只提供需要注意的地方,其他的点击下一步即可
上面已经说了,推荐事物
一般只复制表即可,但是如果需要其他的,请自行考虑
快照,如果每天需要快照一次,那么可以点击下面的按钮,如果只快照一次的话,就没必要了
使用默认配置即可
这样不出意外就完成了一个发布服务器的配置,那么现在配置订阅服务器
可以在你自己机器上直接操作
第一:点开数据库--复制---本地发布---新建订阅--
找出你刚刚发布的那个名称推送模式和请求模式,如果你不想找麻烦,建议直接使用推送模式
这个是设置你的订阅服务器了,如果不在同一个服务器,那么添加订阅服务器,连接到你的订阅服务器,也就是备份服务器 这个也是,默认就行,直至完成即可重点说一下复制过程中出现的错误
①:因为主服务器和备用服务器必须在一个局域网内,而且不能用IP连接,必须用主机名连接,那么会出现使用主机名无法连接的情况,可能是因为修改过机器名,使服务器.sql和访问和机器名不一致
使用一下查新,查看是否一致,如果不一致,使用下面代码修改一下即可
select @@servername和 select serverproperty ('servername')
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
②:如果你使用的是推送模式,那么最大的麻烦将会是读取不到快照,一般错误为:
由于出现操作系统错误 3,进程无法读取文件“D:DBSYNCuncFLOORWEB_FLOORLINK2_TESTFLOORufoCorpAccount_2.pre”。
这个原因是订阅服务器读取不到快照文件夹位置.可能的原因较多,最直接和简单的解决办法是:
将你的快照文件复制一份,复制到订阅服务器上F:XX,修改一下 某个订阅属性-》快照位置-》“备用文件夹”,快照文件夹-》F:XX
错误的原因:第一次复制时,订阅服务器需要到主服务器读取快照,进行同步,然后主服务器因为权限问题,无法读取这个快照,所以导致如上错误,将主服务器的快照复制到订阅服务器,第一次直接根据这个快照进行同步就可以解决了
测试的一些结果:仅供参考
1.1:如果在订阅服务器上修改数据(例如update或delete),这个时候主服务器操作后,会报错,直接会停止服务
1.2: 重新初始化订阅的时候,最好使用最新快照,不要使用当前快照,会死人的,因为他会从开始到结束的快照以后的操作全部执行一次,例如,你插入了w,删除了w,你使用当前快照,可以直接同步了,如果使用以前的,会将这两个步骤全部执行的
1.3:在百万数据插入过程中,内存使用大约-mb左右,和平时本来就占用mb左右的内存相比,可以直接忽视
1.4:速度方面,w的数据插入,在最后-w的时间约为7分钟,插入w的数据库量,同步大约需要8-分钟
推荐整理分享SQLServer 2005 实现数据库同步备份 过程-结果-分析(sql server 2005如何使用),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:sqlserver2005使用,sqlserver2005简介,sql server 2005 service pack3,sqlserver5120,sql server 2005如何使用,sql server 2005 service pack3,sql server 2005如何使用,sqlserver2005使用,内容如对您有帮助,希望把文章链接给更多的朋友!
数据库复制性能测试 推送模式性能测试 数据库复制就是由两台服务器,主服务器和备份服务器,主服务器修改后,备份服务器自动修改,在以前的文章中已经做了详细的说明,这里就不在重
SQL Server 复制需要有实际的服务器名称才能连接到服务器 今天在做sqlServer的实验的时候碰到的问题,问题描述很清楚,怀疑是我以前给计算机修改了名称而导致的.可以用select@@servername和selectserverproperty('servernam
SQLServer中用T—SQL命令查询一个数据库中有哪些表的sql语句 1、查询SQL中的所有表:SelectTABLE_NAMEFROM数据库名称.INFORMATION_SCHEMA.TABLESWhereTABLE_TYPE='BASETABLE'执行之后,就可以看到数据库中所有属于自己建的表的名称2
上一篇:教你怎么使用sql游标实例分享(教你怎么使用加油机)
下一篇:数据库复制性能测试 推送模式性能测试(数据库复制数据sql语句)
友情链接: 武汉网站建设