前阵子搞了下数据库同步,大概意思就是服务器上有一个数据库,与本地数据库进行同步,服务器上的数据库有什么改变,可以同步到本地数据库中。做之前百度了下,流程分以下三步,

第一步: 服务器上的数据库进行发布

第二步: 本地数据库进行订阅

第三步: 把冰箱门关上

看起来很简单,实际上远不是这么一回事,把哥都弄得上火了。

首先第一天,开始弄了,结果打开sql server 2008一看,死活没找到发布和订阅功能,复制一项里面空空如也,吊毛没有。看来是没装完整,没办法,只能卸了重装,卸过sql的都知道sql有多难卸,还要清除注册表什么的,搞了半天没搞好,一气之下,重装系统。

搞了半天终于装好了,首先在服务器端对指定数据库进行发布,具体步骤就不讲了,网上多得是,注意的是选择发布方式时要选择事务发布,这种发布方式可以实现数据的及时更新,比如说服务器端数据有更改时,会及时同步到本地端数据库,而快照发布并不能实现这一功能,因为这种发布方式原理是将数据库转成快照,然后发布的是快照,适用于数据稳定,几乎不会更改的情况下,若是要同步更改过的数据,那就得重新生成快照了。所以一般选择事务发步,其他不会有啥问题。

发布成功后,本地端即可进行订阅了,新建订阅的时候,若出现以下提示

这时候首先在sql中执行 select @@servername ,将得到的结果与计算机名称进行比较,你会发现两者是不一样的。呵呵,一样就见鬼了。出现这种情况一般是改过计算机名称,

接下来执行以下语句:

sp_dropserver 'old_server_name' // old_server_name就是上面执行select @@servername的    结果

go sp_addserver 'current_computer_name','local'  //current_computer_name就是当前PC名称

修改完后,重启SQL SERVER服务。之后按照网上流程一步一步订阅即可,订阅成功后,可以测试一下 ,在服务器端改个数据,然后看下本地啊有同步,一看,果然没同步!!!继续找原因吧....

登录服务器端 ,查看订阅状态,显示错误:进程无法连接到 subscriber xxx-xxxxxx;网上百度了一大堆答案,有一个给了我提示。计算机名称中不能有特殊字符,比如 ’/’ , ’-’之类的,OK,修改计算机名称后,重新来一遍,大功告成!!!!!!!!!!

记一次数据库同步经历(sql server 2008)的更多相关文章

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

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

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

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

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

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

  4. SQL Server 2008 数据库镜像部署实例之三 配置见证服务器

    SQL Server 2008 数据库镜像部署实例之三 配置见证服务器 前面已经完成了镜像数据库的配置,并进行那个了故障转移测试.接下来将部署见证服务器,实现自动故障转移. 一.关于见证服务器 1.若 ...

  5. SQL Server 2008R2数据库文件导入到SQL Server 2008数据库中

    最近,电脑重装系统之后,安装了SQL Server 2008.附加数据库文件的时候,发现无法附加,提示版本不对.想起来,原来的数据库版本是SQL Server 2008R2.低版本的数据库管理工具无法 ...

  6. SQL Server 2008更改数据库保存路径

    本文由荒原之梦原创,原文链接:http://zhaokaifeng.com/?p=641 操作环境: WindowsXP 数据库: Microsoft SQL Server 2008 操作步骤: 选中 ...

  7. ActiveMQ 消息持久化到数据库(Mysql、SQL Server、Oracle、DB2等)

    ActiveMQ具体就不介绍了,直接介绍如何讲ActiveMQ持久化到本地数据库,以SQL Server 2008 R2为例1.下载ActiveMQ后直接解压,我下载的是apache-activemq ...

  8. 使用SQL Server 2008的事务日志传送功能备份数据库(logshiping)

    使用SQL Server 2008的事务日志传送功能备份数据库(logshiping) 使用SQL Server 2008的事务日志传送功能备份数据库(logshiping)

  9. sql server 2008数据复制

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

随机推荐

  1. 廖雪峰JavaScript练习题2

    请把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字.输入:['adam', 'LISA', 'barT'],输出:['Adam', 'Lisa', 'Bart'] 肯定有更简单的方法, ...

  2. (1-1)line-height的定义和行内框盒子模型

    (1-1)line-height的定义和与行内框盒子模型的关系 一.line-height的定义 line-height的定义: 行高,又称为两基线的距离.默认基线对齐(因为CSS所有*线:总之就是各 ...

  3. Linux下C语言操作MySQL数据库

    MySQL是Linux系统下广泛使用的开源免费数据库,是Linux应用程序数据存储的首选. Ubuntu下安装 […]

  4. Office - InfoPath

    1. 移除隐藏空间后剩余的空白: http://social.technet.microsoft.com/Forums/sharepoint/zh-TW/3dea3014-f808-428b-b283 ...

  5. lua中的weak table

    weakTable = {} weakTable[] = function() print("i am the first element") end weakTable[] = ...

  6. babel的使用以及安装配置

    简介 babel是一个广泛使用的转码器,可以将ES6代码转化为ES5代码,从而在现有环境执行,这意味着,你可以现在就用ES6编写程序,而不用担心现有环境是否支持. 安装及配置 npm install  ...

  7. canvas.addEventListener()

    对 canvas 元素的事件监听用addEventListener()实现, 但是有一点缺陷是:canvas 不支持键盘事件,为了解决这个问题,可以采用以下两种方案: 方案一: key event - ...

  8. SQL Server ->> OFFSET & FETCH子句

    SQL Server 2012引入OFFSET + FETCH字句.它俩出现在SELECT .... ORDER BY ...后面.作用是告诉SQL Server在结果集中忽略前N行然后取前M行出来. ...

  9. Java接口与多态

    接口 可以理解为一种特殊的类,里面全部是由全局常量(static final)和公共的抽象方法所组成 接口的定义格式 接口的数据成员,只允许被public, static, final修饰. 接口的方 ...

  10. SVNKit学习——基于Repository的操作之print repository tree、file content、repository history(四)

    此篇文章同样是参考SVNKit在wiki的官方文档做的demo,每个类都可以单独运行.具体的细节都写到注释里了~ 开发背景: SVNKit版本:1.7.14 附上官网下载链接:https://www. ...