最近在配置SQL 2008的发布订阅功能时,遇到了几个小错误,顺便归纳总结一下(以后碰到各类关于发布订阅的错误都将收录、更新到这篇文章),方便自己在以后碰到这类问题时,能够迅速解决问题。毕竟人的记忆能力有时效性,时间久了,有可能有些东西就模糊了或忘了,好记性不如烂笔头。

错误1:在数据库服务器上新建本地发布服务时报错。

 

                                                      (图1)

报错的具体细节如下所示:

TITLE: New Publication Wizard
------------------------------ Microsoft SQL Server Management Studio is unable to access replication components because replication is not installed on this instance of SQL Server. For information about installing replication, see the topic Installing Replication in SQL Server Books Online. For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600.1&EvtSrc=Microsoft.SqlServer.Management.UI.ReplUtilitiesErrorSR&EvtID=ReplicationNotInstalled&LinkId=20476 ------------------------------
ADDITIONAL INFORMATION: Replication components are not installed on this server. Run SQL Server Setup again and select the option to install replication. (Microsoft SQL Server, Error: 21028) For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.4000&EvtSrc=MSSQLServer&EvtID=21028&LinkId=20476 ------------------------------
BUTTONS: OK
------------------------------

 查看具体原因,是因为安装数据库实例时,没有选择安装Replication components,需要添加Replication components,首先找到安装光盘或安装镜像文件,挂载到光驱或拷贝到某个文件目录,例如,我这边挂载后的安装介质位于Z盘,在运行里面输入cmd命令,转到Z盘,输入下面命令:

setup.exe /q /Features=Replication /InstanceName=MSSQLSERVER /ACTION=INSTALL /IAcceptSQLServerLicenseTerms ,然后耐心等待安装完成,从网上搜索的资料看,好像下面命令start /wait X:\Servers\setup.exe /qb INSTANCENAME=MSSQLSERVER ADDLOCAL=SQL_Replication也可,不过,这条命令我还没有试验过。不保证能够顺利执行。

 

错误2:The Process could not execute ‘sp_repcmd’ on ‘xxxx’

 

                                                       (图2)

报错的具体细节如下所示:

DESCRIPTION: Replication-Replication Transaction-Log Reader Subsystem: agent xxxxx failed. The process could not execute 'sp_replcmds' on 'xxxxxx'.

从网上查到的资料,只需修改数据库的Owner设置为sa即可解决,但是本质原因是啥?我没搞明白,后来查了一下资料:http://stackoverflow.com/questions/2723061/sql-server-2008-replication-failing-with-process-could-not-execute-sp-replcmds 显然不一定要修改数据库的Owner为sa也可。看来这应该是权限问题引起的。

                                           (图3) 

错误3:Replication-Replication Distribution Subsystem agent xxxxxxx failed. The process could not read file 'xxxxxxx' due to OS error 3.

 

                                                          (图4)

查看SQL SERVER日志文件,发现很多类似错误:

Date 6/28/2013 10:40:01 AM

Log SQL Server (Current - 6/28/2013 10:39:00 AM)

Source spid454

Message 

Replication-Replication Distribution Subsystem: agent xxxxxxxxxx failed. The process could not read file 'xxxxxxxxxxxxxxxxxx' due to OS error 3.

 Date 6/28/2013 10:40:01 AM

Log SQL Server (Current - 6/28/2013 10:39:00 AM)

 Source spid454

 Message

 Error: 14151, Severity: 18, State: 1.

 

产生这个错误的原因是因为使用请求订阅或远程分发服务器时,您必须指定一个 UNC 网络共享,例如 \\<computername>\snapshot,而不是为快照文件夹的本地路径。单击发布属性,查看Snapshot属性,发现快照文件位于G:\GEG_MESDB文件夹里,但是此时这里修改不了,只能去掉“Put files in the default folder"选项,勾选”Put Files in the following folder“选项,输入网络路径,即可解决上面这个错误。

 

错误4:

Date 7/12/2013 1:20:38 PM

Log SQL Server (Current - 7/12/2013 1:10:00 PM)

Source spid326

Message

Replication-Replication Snapshot Subsystem: agent EGVNT02-MESDB-EGV_MESDB-1 failed. The replication agent had encountered an exception.

Source: Unknown

Exception Type: System.UnauthorizedAccessException

Exception Message: Access to the path '\\EGVNT02\EGV_MESDB_Replication\unc\EGVNT02_MESDB_EGV_MESDB\20130712132037\' is denied.

Messa

文件夹权限问题,我用NT 账号T1登录数据库,但是配置过程中用的是NT账号T2,共享文件夹没有授权给NT账号T2,所以报上面错误。

参考资料:

http://www.sqlserverclub.com/essentialguides/how-to-install-sql-server-2005-replication.aspx

http://social.msdn.microsoft.com/Forums/sqlserver/en-US/64c041f5-3822-408f-b072-99feb18a5fcc/replication-components-are-not-installed

http://www.cnblogs.com/dudu/archive/2010/08/25/1808313.html

http://stackoverflow.com/questions/2723061/sql-server-2008-replication-failing-with-process-could-not-execute-sp-replcmds

http://www.sqlservercentral.com/blogs/sqlrepl/2011/11/30/the-process-could-not-read-file-due-to-os-error-3/

MS SQL 2008 发布订阅配置错误总结的更多相关文章

  1. SQL Server 2008 R2的发布订阅配置实践

    纸上得来终觉浅,绝知此事要躬行.搞技术尤其如此,看别人配置SQL SERVER的复制,发布-订阅.镜像.日志传送者方面的文章,感觉挺简单,好像轻轻松松的,但是当你自己去实践的时候,你会发现还真不是那么 ...

  2. SQLServer 2008 R2 发布订阅配置指南

    原以为配置SQLServer 2008 R2的发布订阅很简单,实际配置后才发现过程中有问题地方一直都没搞明白,最后经过几天的查找问题和实践,终于搞定了.现将过程记录如下. SQLServer 2008 ...

  3. 超详细SQL SERVER 2016跨网段和局域网发布订阅配置图解和常见问题

    原文:超详细SQL SERVER 2016跨网段和局域网发布订阅配置图解和常见问题 转载标明出处:http://blog.csdn.net/u012861467 前方高能,要有点耐心,图片较多,注意在 ...

  4. SQL Server发布订阅功能研究

    前提: 发布订阅只能是同一个内网的机器上才能使用,其实这个可以用配置管理器的别名功能设置之后就可以了,外网的也能通过这样的方式来搞. 配置过程参考老D的文章:http://www.cnblogs.co ...

  5. SQL Server 发布订阅 发布类型详解

    MicrosoftSQL Server 提供了三种复制类型. 每种复制类型都适合于不同应用程序的要求. 根据应用程序需要,可以在拓扑中使用一种或多种复制类型: 快照复制 事务复制 合并复制 为了帮助您 ...

  6. SQL 2008发布与订阅

    网的教程很多,大都是不能成功,只有这一篇是成功的! https://www.cnblogs.com/DBArtist/p/5803271.html

  7. sql server 发布订阅

    [配置] 一. 发布方 复制 >> 如果有问题 C:\Windows\System32\drivers\etc hosts: 127.0.0.1 ?? 二. 订阅方 订阅方设置结束 三. ...

  8. MSSqlServer 发布/订阅配置(主从同步)

    背景: 1.单个独立数据库的吞吐量是有瓶颈的,那么如何解决这个瓶颈? 2.服务器直接数据如何复制.并具备一致性.可扩展性? 资源: 官方资源:https://technet.microsoft.com ...

  9. SqL数据库发布订阅非聚集索引没有被复制到订阅服务器的解决方案

    Non-Clustered Indexes not copying in Transactional Replication : SQL Server 2008 方法1: You have trans ...

随机推荐

  1. 正则匹配抓取input 隐藏输入项和 <td>标签内的内容

    这里不多作解释了,只要提供方法,如果想了解正则匹配,就去百度. 第一条是,匹配出所有的隐藏输入域 $patern = "/<input(.*?)type=\"hidden\& ...

  2. 用JqueryUI的Dialog+IFrame实现仿模态窗口效果

    大家有没有想过这样一个问题,当我点击某个图片的时候,我想弹出这个图片信息的详情并修改,于是你首先想到的是不是window.open?window.open方法确实可以,但是有它的局限性,比如,标题显示 ...

  3. SFC中的问题描述

    本文主要描述了在大规模的网络环境中部署服务功能存在的一些问题,还提出了几个关键领域,即SFC工作组将要探讨的关于SFC结构.工作协议.相关文档. 1.问题描述 SFC工作组致力于解决的几个服务部署中存 ...

  4. [Java 基础]控制语句

    选择语句 if语句 if语句会判断括号中的条件是否成立,如果成立则执行if语句中的代码块,否则跳过代码块继续执行. 语法 if(布尔表达式) {    //如果布尔表达式为true将执行的语句 } 例 ...

  5. 小白Linux入门 二

    参考: http://edu.51cto.com/lesson/id-11222.html CPU中有计算单元 控制单元.它通过桥接芯片与存储器进行匹配 其中北桥是高速 南桥是低速 包括IDE USB ...

  6. 我的angularjs源码学习之旅1——初识angularjs

    angular诞生有好几年光景了,有Google公司的支持版本更新还是比较快,从一开始就是一个热门技术,但是本人近期才开始接触到.只能感慨自己学习起点有点晚了.只能是加倍努力赶上技术前线. 因为有分析 ...

  7. Model验证功能

    占位符  {0}对应属性  {1}对应minimum  {2}对应maximum   [StringLength(15, MinimumLength = 6, ErrorMessage = " ...

  8. Xamarin对Visual Studio用户免费 Xamarin SDK将开源

    在 Build 2016开发者大会上,微软宣布它上个月收购的C#和.NET移动开发工具Xamarin对所有Visual Studio用户免费.所有Visual Studio版本涵盖了从免费的社区版到企 ...

  9. WinServer远程部署系统打包批处理文件

    前言 工作中一直在使用一个部署系统WinServer远程部署系统(RDSystem),部署.回滚都很方便.我们一直都是增量发布或者只更新需要更新的文件,每次发布完之后要整理出一个增量更新包,压缩成zi ...

  10. composer 代码库管理

    composer 代码库管理 参考资料:https://packagist.org/about#naming-your-package简介composer 命令的请求源是 packagist.org* ...