波斯马BOSSMA Information Technology

SQLServer 2008 复制同步(发布、订阅)的几个问题

发布时间:2011年7月16日 / 分类:DataBase / 23,853 次浏览 / 评论

关于使用发布、订阅进行复制同步的步骤网上有很多,这里不再详述。可以参考下边几个地址:

?http://www.cnblogs.com/dudu/archive/2010/08/26/1808540.html

http://www.cnblogs.com/tyb1222/archive/2011/05/31/2064944.html

http://www.cnblogs.com/tyb1222/archive/2011/05/27/2060075.html

这里主要说说遇到的问题及其解决办法:

1、NVarCharMax数据类型的问题

错误提示:Message: 对象?XXXX 中的列?XXXX 包含类型 NVarCharMax,此类型不受目标服务器版本 SQL Server 2000 支持。

错误原因:兼容的数据库的问题,常见于最初由低等级的数据库服务器创建,后升级到高版本。

解决办法:

ALTER? DATABASE? 数据库名称 SET COMPATIBILITY_LEVEL = 100

2、删除发布时不能删除的问题

错误提示:无法作为数据库主体执行,因为主体 “dbo” 不存在、无法模拟这种类型的主体,或您没有所需的权限。
已将数据库上下文更改为 ‘XXXX’。

错误原因:sa用户不是数据库所有者。

解决办法:

USE? 数据库名;
EXEC sp_changedbowner 'sa';

3、订阅没有读取快照的权限

错误提示:由于出现操作系统错误 3,进程无法读取文件“xxxx.pre”。 (源: MSSQL_REPL,错误号: MSSQL_REPL20143)

错误原因:读取文件的权限问题。

解决办法:

(1)FTP方法

看这篇文章:http://www.cnblogs.com/dudu/archive/2010/08/26/1808540.html

(2)共享文件夹

首先在两台服务器中创建相同的账号和密码。

然后在备份服务器中创建一个共享文件夹,设置刚创建的账号具有读写的权限。

然后在发布属性中将快照文件的位置设置到这个文件夹:

然后在订阅属性中设置快照文件位置:

然后重新初始化订阅,等待几秒钟就可以读取快照了。

将共享文件夹设置到主服务器应该也可以,没有测试。方法就是要设置到一个所有服务器都可以访问到的地方。

下边的地址总结了很多的问题,遇到的可以参考下:

http://kb.cnblogs.com/page/71979/

 

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自波斯马,原文地址《SQLServer 2008 复制同步(发布、订阅)的几个问题

关键字:

建议订阅本站,及时阅读最新文章!
【上一篇】 【下一篇】

目前有1 条评论

发表评论