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

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

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

第三步: 把冰箱门关上

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

首先第一天,开始弄了,结果打开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. 1.JDBC基础

    JDBC全称Java Database Connectivity,即Java数据库连接.(以下以MySQL为例,使用MySQL语句) Sun公司提供了标准JDBC API接口,没有实现具体类.各个数据 ...

  2. laravel验证规则

    就拿laravel的登入验证来举例: 1.进入login控制器, use AuthenticatesUsers;从这里点进去找到验证规则 //验证protected function validate ...

  3. javascript图片预加载

    图片预加载是非常常见的一个功能,PC和移动端都会用到,尤其是在移动端,只要涉及到较多图片的加载都会用到该技术.下面是移动端用到的,引入了zepto. <!DOCTYPE html> < ...

  4. 在vue中安装使用vux

    最近因为的工作的原因在弄vue,从后端弄到前端之前一直用js,现在第一次接触vue感觉还挺有意思的,就是自己太菜了,这个脑子呀....不太够用.....页面设计用了一个叫vux的东西,vux可以提供一 ...

  5. JavaScript & jQuery Code Snippet

    1. 按照每个object的Name属性对object对象集合进行排序: //sort a collection of objects by Name property function sortBy ...

  6. Python爬虫教程-12-爬虫使用cookie爬取登录后的页面(人人网)(上)

    Python爬虫教程-12-爬虫使用cookie(上) 爬虫关于cookie和session,由于http协议无记忆性,比如说登录淘宝网站的浏览记录,下次打开是不能直接记忆下来的,后来就有了cooki ...

  7. Winform访问本地SQLServer数据库文件

    Winform访问本地SQLServer数据库文件 1.项目中添加config配置,如下: <configuration> <connectionStrings> <ad ...

  8. ubuntu18.04安装谷歌浏览器

    sudo wget http://www.linuxidc.com/files/repo/google-chrome.list -P /etc/apt/sources.list.d/ wget -q ...

  9. linux下查看数据库版本的5中方法

    1.在Linux终端窗口中,输入mysql -V查看MySQL版本信息[sky@qin ~]# mysql -Vmysql  Ver 14.14 Distrib 5.1.29-rc, for pc-l ...

  10. Mysql学习---SQL测试题之表结构

    创建表结果和数据准备[直接执行即可] /* Navicat MySQL Data Transfer Source Server : ftl1012 Source Server Version : 50 ...