在创建事务复制时,使用备份还原初始化常见错误
问题1:
错误: 14151,严重性: 18,状态: 1。
Replication-复制分发子系统: agent test-DB-TDB1-tdb1-test-DB\MSSQLSERV-299 failed. 进程无法访问服务器“test-DB\MSSQLSERVERA”上的数据库“TDB1”。
解决:产生这个错误的原因是因为使用请求订阅或远程分发服务器时,复制账号test\SqlReplicator(域账号),没有对订阅数据库TDB1有访问的权限,要赋予sysadmin,ower权限,保证复制分发账号有相应的权限,日志代理服务器才能正常启动
问题2:
建立连接时,发生了与网络相关的或特定于实例的错误。找不到或无法访问服务器。请检查实例名称是否正确以及 SQL Server 是否已配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书。 (源: MSSQLServer,错误号: 10061)
解决:1)在“方面”下接列表框中,选择“服务器配置,“RemoteAccessEnabled”属性和”RemotoDacEnabled”设为“True”,点“确定”。
2)在“方面”下接列表框中,选择"SQLServer外围应用配置器","AdHocRemoteQuriesEnabled" 设为“True”,"CltIntegrationEnabled" 设为“True”,“DatabaseMailEnabled” 设为“True”,“RemoteDacEnabled” 设为“True”,点“确定”
问题3:
使用备份还原初始化,事务复制。自增表如下报错:当 IDENTITY_INSERT 设置为 ON 或某个复制用户向 NOT FOR REPLICATION 标识列中插入内容时,必须为表 'test_store' 中的标识列指定显式值。
分析:由于表test_store有自增列,导致复制是报错,默认情况(sql server 2008R)自增表自增列不会被同步,但是发现生产环境中,另外一个表testchaine表有触发器(insert,update,delete)调用了test_store表,这时候即使在初始化复制过程中不同步该test_store表,也会报错:test_store 无效对象。如何解决呢?
解决:只能删除testchain表中增删改触发器,删除后日志代理器正常
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。