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

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

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

第三步: 把冰箱门关上

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

首先第一天,开始弄了,结果打开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. Hql语句转化为sql语句中文乱码问题

    刚刚学习Hql语句就出现这一的问题,百度半天终于解决了,总结一下解决的方案: 出现中文乱码最可能的原因是hibernate配置文件配置的问题 1.检查url路径是否指定字符集为UTF-8 <pr ...

  2. 使用maven搭建Spring MVC

    在maven项目中搭建SpringMvc 1.pom文件 <span style="white-space:pre"> </span><propert ...

  3. cssText用法和使用说明

    cssText 本质是什么? cssText 的本质就是设置 HTML 元素的 style 属性值. cssText 怎么用? document.getElementById("d1&quo ...

  4. csharp:.net 3.5 using System.Runtime.Serialization.Json read json

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  5. Bzoj1498&1416: [NOI2006]神奇的口袋

    什么鬼双倍经验题??? Sol 考虑在第\(k\)次摸到\(y\)的概率 如果上次摸到\(y\),目前有\(sum\)个球,\(y\)有\(a[y]\)个,那么概率就是\(\frac{a[y]+d}{ ...

  6. 工作中常用的sql语句以及知识整理

    一.常用的sql语句 1.建表语句 create table tabname(colname1 type1 [not null][primary key], colname2 type2,...) 根 ...

  7. js Array数组对象常见方法总结

    Array对象一般用来存储数据. 其常用的方法包括: 1.concat()方法 concat() 方法用于合并两个或多个数组.它不会更改现有数组,而是返回一个新数组. 例如: var arr1=[1, ...

  8. Java Struts2 (二)

    二.封装请求正文到对象中(非常重要) 1.静态参数封装 在struts.xml配置文件中,给动作类注入值.调用的是setter方法. 原因:是由一个staticParams的拦截器完成注入的. 2.动 ...

  9. 【Python之搜索引擎】(一)概述

    learning goal--search engine 1.Find datas - crawl 2.Index 3.page rank String操作 提取网络中的链接 Extracting a ...

  10. 系统变量 %USERPROFILE%

    可以用CMD的SET命令来查看现有的系统变量,“="前的部分用%括起来就是.   常用: %USERPROFILE% =C:\Users\用户名 %SystemRoot% =C:\WINDO ...