数据库复制:
 
简单来说,数据库复制就是由两台服务器,主服务器和备份服务器,主服务器修改后,备份服务器自动修改。
复制的模式有两种:推送模式和请求模式,推送模式是主服务器修改后,自动发给备份服务器,请求模式是,备份服务器自动去请求,个人开始也比较重视去测试两个模式的差别,但是测试发现,其实两个模式差别不是很大,在当今的服务器配置中,没必要考虑这么多,虽然会有一些差别,但是可在可以忽略的范围之内,建议直接选择推送模式,因为配置起来相对简单
 
数据库发布类型有三种:快照发布,事务性发布,具有可更新订阅和事务性发布,合并发布
一般都会采用事务性发布,具体好处,就不说了,网上一大堆的
 
复制过程:
第一:点开数据库--复制---本地发布---新建发布   
下面只提供需要注意的地方,其他的点击下一步即可
 

上面已经说了,推荐事物

一般只复制表即可,但是如果需要其他的,请自行考虑

快照,如果每天需要快照一次,那么可以点击下面的按钮,如果只快照一次的话,就没必要了

使用默认配置即可
 
这样不出意外就完成了一个发布服务器的配置,那么现在配置订阅服务器
 
可以在你自己机器上直接操作
第一:点开数据库--复制---本地发布---新建订阅--

找出你刚刚发布的那个名称

推送模式和请求模式,如果你不想找麻烦,建议直接使用推送模式
 

这个是设置你的订阅服务器了,如果不在同一个服务器,那么添加订阅服务器,连接到你的订阅服务器,也就是备份服务器

 
 

这个也是,默认就行,直至完成即可

 
 
 
重点说一下复制过程中出现的错误
 
①:因为主服务器和备用服务器必须在一个局域网内,而且不能用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:\DBSYNC\unc\FLOORWEB_FLOORLINK2_TESTFLOOR\20081128174839\ufoCorpAccount_2.pre”。
 
这个原因是订阅服务器读取不到快照文件夹位置.可能的原因较多,最直接和简单的解决办法是:
 
将你的快照文件复制一份,复制到订阅服务器上F:\XX,修改一下   某个订阅属性-》快照位置-》“备用文件夹”,快照文件夹-》F:\XX 

错误的原因:第一次复制时,订阅服务器需要到主服务器读取快照,进行同步,然后主服务器因为权限问题,无法读取这个快照,所以导致如上错误,将主服务器的快照复制到订阅服务器,第一次直接根据这个快照进行同步就可以解决了

测试的一些结果:仅供参考

    1.1:如果在订阅服务器上修改数据(例如update或delete),这个时候主服务器操作后,会报错,直接会停止服务
    1.2:   重新初始化订阅的时候,最好使用最新快照,不要使用当前快照,会死人的,因为他会从开始到结束的快照以后的操作全部执行一次,例如,你插入了1000w,删除了1000w,你使用当前快照,可以直接同步了,如果使用以前的,会将这两个步骤全部执行的
    1.3:在百万数据插入过程中,内存使用大约150-200mb左右,和平时本来就占用120mb左右的内存相比,可以直接忽视
    1.4:速度方面,500w的数据插入,在最后400-500w的时间约为7分钟,插入100w的数据库量,同步大约需要8-10分钟

【SQL server初级】SQL Server 2005 实现数据库同步备份 过程--结果---分析的更多相关文章

  1. SQL Server 2005 实现数据库同步备份 过程--结果---分析

    数据库复制:   简单来说,数据库复制就是由两台服务器,主服务器和备份服务器,主服务器修改后,备份服务器自动修改. 复制的模式有两种:推送模式和请求模式,推送模式是主服务器修改后,自动发给备份服务器, ...

  2. 通过SQL Server 2008数据库复制实现数据库同步备份

    SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行 实时数据同步,正常情况下只使用主 ...

  3. 【转】通过SQL Server 2008数据库复制实现数据库同步备份

    SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行实时数据同步,正常情况下只使用主数 ...

  4. SQL Server2005 两台服务器上的数据库同步(转载)

    1.1测试环境 Item 发布机 A 订阅机 B OS Windows 2003 Server Windows 2003 Server SQL SQL Server 2005 企业版 SQL Serv ...

  5. sql server 利用发布订阅方式实现数据库同步问题

    删除本地快发布时报错: 无法作为数据库主体执行,因为主体 "dbo" 不存在.无法模拟这种类型的主体,或您没有所需的权限.已将数据库上下文更改为 'numberForcast'. ...

  6. 不同服务器数据库之间的数据定时同步到sql server (支持mysql,oracle数据库同步到sql server)

    1,在目标数据库新增服务器对象->连接到服务器->新建服务器连接 2,编写数据同步业务PROC ALTER PROC TestProc AS BEGIN --打开完全事物回滚 SET XA ...

  7. MySQL命令行SQL脚本的导入导出小结(数据库的备份与还原)

    1.设置环境变量 要想在命令行下各处都能执行mysql命令,必须在系统变量Path中添加mysql的命令所在的目录.例如我安装的是集成PHP环境的mysql,在D盘xampps下,则我需要将" ...

  8. SQL Server 2005恢复数据库详细图文教程

    不少需要用到sql2005的程序,有很多新手还是会操作,这里写个详细的图文教程送个菜鸟们,高手请飘过.适用于独立主机的朋友使用,如果你还没安装,请按照这个教程来安装 SQL Server 2005图文 ...

  9. sqlserver2014两台不同服务器上数据库同步

    sqlserver2014两台不同服务器上数据库同步   同步了快一个月了,哈哈,因为途中比较麻烦,第一次,遇到烦的地方就停下了,今天终于同步成功了,哈哈,下面我就来介绍一下我实现两台数据库同步的过程 ...

随机推荐

  1. 解决 java Could not resolve resource location pattern [classpath:sql/*.xml] 的问题

    时间过的真快,转眼间已经有2年了.2年里发生了太多的事,有些事依稀还记得,但更多的已经忘记.忘记了那些烦恼与忧愁,以为自己会快乐,才发现一切并不是以自己的意志为转移.终于在迷途中迷失了自己, 再也回不 ...

  2. C#开发BIMFACE系列10 服务端API之获取文件下载链接

    系列目录     [已更新最新开发文章,点击查看详细] 通过BIMFACE控制台或者调用服务接口上传文件成功后,默认场景下需要下载该源文件,下载文件一般需要知道文件的下载链接即可.BIMACE平台提供 ...

  3. Java中指令重排

    /** * 指令重排:代码执行顺序与预期不一致 (发生在前后行代码无联系时) * 目的:提高性能 * */ public class HappenBefore { private static int ...

  4. 洛谷 P1135 【奇怪的电梯】

    题库 :洛谷 题号 :1135 题目 :奇怪的电梯 link :https://www.luogu.org/problemnew/show/P1135 一. 动态规划 : 思路 :这道题用动规来解决其 ...

  5. CF - 1106 E Lunar New Year and Red Envelopes DP

    题目传送门 题解: 首先要处理出每个时间点会选择哪一个线段. 对于这个问题,可以用multiset去维护信息. 当时间线开始的时候,往mutiset里面插入这个信息,当时间线结束的时候,删除这个信息. ...

  6. hdu 1269 迷宫城堡(trajan判环)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1269 题意:略 题解:trajan模版直接求强连通分量. #include <iostream& ...

  7. CF989C A Mist of Florescence 构造 思维好题 第八题

    A Mist of Florescence time limit per test 1 second memory limit per test 256 megabytes input standar ...

  8. 第12讲-Java中的IO操作及对象的序列化与反序列化

    1.知识点 1.1.课程回顾 1.2.本章重点 1.2.1  io操作 1.2.2  对象的序列化与反序列化 2.具体内容 2.1.Java IO 2.1.1.什么是IO IO其实就是输入.输出 I ...

  9. c语言实现去除字符串首尾空格

    字符串内存图如下: 引入头文件: 1 #include<stdlib.h> 2 #include<stdio.h> 3 #include<string.h> 函数原 ...

  10. [整理] jQuery插件开发

    1.类级别的插件开发 类级别的插件开发,可似为给jQuery类添加方法,调用方式:$.你的方法(),如:$.ajax() 函数. 1.1.给jQuery类添加方法 $.alertMsg = funct ...