MS SQL 2008 发布订阅配置错误总结

      最近在配置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
------------------------------

  View Code

 查看具体原因,是因为安装数据库实例时,没
有选择安装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,所以报上面错误。

时间: 2024-09-08 18:33:34

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

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

    纸上得来终觉浅,绝知此事要躬行.搞技术尤其如此,看别人配置SQL SERVER的复制,发布-订阅.镜像.日志传送者方面的文章,感觉挺简单,好像轻轻松松的,但是当你自己去实践的时候,你会发现还真不是那么一回事,毕 竟环境不同.数据库版本或经验关系,你实践的时候会或多或少碰到一些问题,有可能人家是多次实践后,绕开了那些"坑",毕竟写文章是事后总结,人家台上一 分钟,台下十年功.闲话不扯了,进入正题,本文虽然简单,但是趁现在有时间,也记录一下前几天配置Replication的发布订阅

MS SQL基础教程:配置复制

在执行复制之前必须对系统进行复制选项的配置,主要包括: 出版者 订购者 分发者 分发数据库 通过SQL Server Enterprise Manager 提供的Create Publication Wizard 和 the Configure Publishing and Distribution Wizard, 将会使配置工作变得简单,迅速. 16.2.1 创建服务器角色和分发数据库 创建服务器角色是指在复制过程中某一服务器是作为出版者.分发者还是作为订购者.由于SQL Server 可以扮

AD域中成员服务器SQL 2008 Server安装配置图文教程_mssql2008

测试环境: dc01 DC服务器cndb02 域中成员服务器用于安装sql server 第一步:为sql服务和sql管理员增加用户 服务启动帐户sqlsvc 密码:liy6$Z92SQL管理员用户sqladmin 密码:K3$f0z6  密码可自行设定,这里为了符合AD域的密码策略. 第二步:以本地管理员身份登录cndb02进行程序安装 插入安装光盘后,自动安装sql所需的系统组件 按要求重启服务器登录后,双击安装光盘开始安装 打开系统配置检查器打开全新SQL Server独立安装输入序列号接

MS SQL Server入门教程

SQL Server 是一个关系数据库管理系统,它最初是由Microsoft,Sybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本.在Windows NT推出后,Microsoft与Sybase在SQL Server的开发上就分道扬镳了,Microsoft将SQL Server 移植到Windows NT. MS SQL基础教程:SQL Server 2000 简介 MS SQL基础教程:SQL Server 2000 的新特性 MS SQL基础教程:SQ

MS SQL Server 2008发布与订阅

本文转载:http://chaoyouzhuo.blog.163.com/blog/static/126376001201173092514498/ 参考文章:http://www.cnblogs.com/gbmf/archive/2009/06/04/1496013.html   如果选择的是"快照发布":则必须在发布服务器需要设置代理时间计划,订阅服务器可以不用设置代理时间计划. 如果选择的是"事务发布":则发布服务器和订阅服务器不需要设置代理时间计划,这样几乎

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

原文:SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)   概念参见:https://msdn.microsoft.com/zh-cn/library/ms151170.aspx 推送订阅  对于推送订阅,发布服务器将更改传播到订阅服务器,而无需订阅服务器发出请求.   更改可以按需.连续地或按照计划推送到订阅服务器. 分发代理或合并代理在分发服务器上运行. 通常,数据将连续同步或按照经常重复执行的计划同步.    发布要求数据近似实时地移动.   分发服务器上较高的处理器

sqlserver配置-SQL 2008 建立连接时出现与网络相关的或特定于实例的错误

问题描述 SQL 2008 建立连接时出现与网络相关的或特定于实例的错误 Message : 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器. 请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接. (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) 求高手帮忙!!!! 解决方案 看看服务打开没有,sql服务

MS SQL基础教程:代理服务-配置SQL Server Agent

SQL Server Agent 是一个任务规划器和警报管理器,在实际应用和环境下,您可以将那些周期性的活动定义成一个任务,而让其在SQL Server Agent 的帮助下自动运行:假如您是一名系统管理员,则可以利用SQL Server Agent 向您通知一些警告信息,来定位出现的问题从而提高管理效率.SQL Server Agent 主要包括以下几个组件:作业:警报:操作. 主要执行以下步骤在SQL Server Enterprise Manager 中配置SQL Server Agent

sql server 2008 r2 触发器配置

问题描述 sql server 2008 r2 触发器配置 我按照书上的编写了触发器,但是总是提示语法错误. create trigger Trig_deny on 系别信息 after insert as begin raiserror('该操作不允许执行,拒绝插入信息!') end 提示:raiserror('该操作不允许执行,拒绝插入信息!') 这行 ')' 附近有语法错误. 请教各位大神怎么办啊? 解决方案 SQL Server 2008 R2镜像配置 一.准备工作 1.三台装有sql