SqlServer发布订阅错误收集
目录
1. SqlServer发布订阅错误收集
1.1. Message:脚本对于表“dbo.table”失败。
1.1.1. 错误消息
1.1.2. 处理方法
1.2. 由于出现操作系统错误 3,进程无法读取文件D:\\XXXX\\X.pre (源: MSSQL_REPL,错误号: MSSQL_REPL20024)
1.2.1. 错误消息
1.2.2. 解决方法
1.3. 应用复制的命令时在订阅服务器上找不到该行
1.3.1. 错误消息
1.3.2. 解决方法
1.4. 数据库 'dbtest' 的事务日志已满
1.4.1. 错误消息
1.4.2. 解决方法
2. 进程无法向表“"dbo"."某表名"”进行大容量复制。
2.1.1. 错误消息
2.1.2. 解决方法
1. SqlServer发布订阅错误收集
1.1. Message:脚本对于表“dbo.table”失败。
1.1.1. 错误消息
Source: Microsoft.SqlServer.Smo
Target Site: System.Collections.Generic.IEnumerable`1[System.String] ScriptWithList(Microsoft.SqlServer.Management.Smo.DependencyCollection, Microsoft.SqlServer.Management.Smo.SqlSmoObject[])
Message: 脚本 对于 表“dbo.HY_CORP_BAD_CREDIT_INFO”失败。
Stack: 在 Microsoft.SqlServer.Management.Smo.Scripter.ScriptWithList(DependencyCollection depList, SqlSmoObject[] objects)
在 Microsoft.SqlServer.Management.Smo.Scripter.ScriptWithList(SqlSmoObject[] objects)
在 Microsoft.SqlServer.Replication.Snapshot.TransSmoScriptingManager.GenerateLogBasedArticleSchScript(Scripter scripter, BaseArticleWrapper articleWrapper, Table smoTable)
在 Microsoft.SqlServer.Replication.Snapshot.TransSmoScriptingManager.GenerateLogBasedArticleScripts(ArticleScriptingBundle articleScriptingBundle)
在 Microsoft.SqlServer.Replication.Snapshot.TransSmoScriptingManager.GenerateArticleScripts(ArticleScriptingBundle articleScriptingBundle)
在 Microsoft.SqlServer.Replication.Snapshot.SmoScriptingManager.GenerateObjectScripts(ArticleScriptingBundle articleScriptingBundle)
在 Microsoft.SqlServer.Replication.Snapshot.SmoScriptingManager.DoScripting()
在 Microsoft.SqlServer.Replication.Snapshot.SqlServerSnapshotProvider.DoScripting()
在 Microsoft.SqlServer.Replication.Snapshot.SqlServerSnapshotProvider.GenerateSnapshot()
在 Microsoft.SqlServer.Replication.SnapshotGenerationAgent.InternalRun()
在 Microsoft.SqlServer.Replication.AgentCore.Run() (源: Microsoft.SqlServer.Smo,错误号: 0)
获取帮助: http://help/0
Source: Microsoft.SqlServer.Smo
Target Site: Void CheckSupportedType(Microsoft.SqlServer.Management.Smo.ScriptingOptions)
Message: 对象 HY_CORP_BAD_CREDIT_INFO 中的列 fHappenDate 包含类型 Date,此类型不受目标服务器版本 SQL Server 2005 支持。
Stack: 在 Microsoft.SqlServer.Management.Smo.Column.CheckSupportedType(ScriptingOptions options)
在 Microsoft.SqlServer.Management.Smo.Column.VersionValidate(ScriptingOptions so)
在 Microsoft.SqlServer.Management.Smo.Column.ScriptDdlCreateImpl(StringBuilder sb, ScriptingOptions so)
在 Microsoft.SqlServer.Management.Smo.Column.ScriptDdl(StringCollection queries, ScriptingOptions so)
在 Microsoft.SqlServer.Management.Smo.Table.ScriptTableInternal(ScriptingOptions so, StringBuilder sb, ColumnCollection columns, IndexCollection indexes)
在 Microsoft.SqlServer.Management.Smo.Table.GetTableCreationScript(ScriptingOptions so, StringBuilder sb)
在 Microsoft.SqlServer.Management.Smo.Table.ScriptCreate(StringCollection queries, ScriptingOptions so)
在 Microsoft.SqlServer.Management.Smo.SqlSmoObject.ScriptCreateInternal(StringCollection query, ScriptingOptions so)
在 Microsoft.SqlServer.Management.Smo.Scripter.ScriptWithListWorker(DependencyCollection depList, SqlSmoObject[] objects)
在 Microsoft.SqlServer.Management.Smo.Scripter.ScriptWithList(DependencyCollection depList, SqlSmoObject[] objects) (源: Microsoft.SqlServer.Smo,错误号: 0)
获取帮助: http://help/0
1.1.2. 处理方法
将数据库兼容级别设置到100,在发布数据库上执行如下代码,修改数据库的兼容级别到100。
ALTER DATABASE [DataBase] SET COMPATIBILITY_LEVEL = 100
或者界面操作:
1.2. 由于出现操作系统错误 3,进程无法读取文件D:\\XXXX\\X.pre (源: MSSQL_REPL,错误号: MSSQL_REPL20024)
1.2.1. 错误消息
尝试的命令:
E:\DB_backup_xmq\unc\WINDOWS-Q6MJ0R8_REMAIUS_REMAIUS\20161224144353\hy_wait_work_r45f6f27c_249.pre
(事务序列号: 0x0000FA7E0001C1D4005000000000,命令 ID: 252)
错误消息:
由于出现操作系统错误 3,进程无法读取文件“E:\DB_backup_xmq\unc\WINDOWS-Q6MJ0R8_REMAIUS_REMAIUS\20161224144353\hy_wait_work_r45f6f27c_249.pre”。 (源: MSSQL_REPL,错误号: MSSQL_REPL20051)
获取帮助: http://help/MSSQL_REPL20051
系统找不到指定的路径。
(源: MSSQL_REPL,错误号: MSSQL_REPL3)
获取帮助: http://help/MSSQL_REPL3
1.2.2. 解决方法
qlServer2008的订阅发布,起初使用推送订阅很顺利,后来改成请求订阅出现了这个问题。
1.3. 应用复制的命令时在订阅服务器上找不到该行
1.3.1. 错误消息
尝试的命令:
if @@trancount > 0 rollback tran
事务序列号:
--0x0000FDAB0003A908008F00000000 命令 ID: 7
错误消息:
应用复制的命令时在订阅服务器上找不到该行。 (源: MSSQLServer,错误号: 20598)
获取帮助: http://help/20598
应用复制的命令时在订阅服务器上找不到该行。 (源: MSSQLServer,错误号: 20598)
获取帮助: http://help/20598
1.3.2. 解决方法
1.发布服务器的
exec sp_helpsubscriptionerrors 'WINDOWS-Q6MJ0R8'
, 'remaius'
, 'remaius'
, 'WIN-V0R4COILDAS'
, 'remaius';
2.解决
a.忽略,在订阅上执行
exec sp_setsubscriptionxactseqno 'WINDOWS-Q6MJ0R8'
, 'remaius'
, 'remaius'
, 0x0000FDAB0003A908008F00000000;
b.如第一个找xact_seqno的SQL,拿到xact_seqno,command_id
然后在发布上,
sp_browsereplcmds '0x0000FBF300119D32000900000000','0x0000FBF300119D32000900000000';
sp_browsereplcmds '0x0000FDAB0003A908008F00000000','0x0000FDAB0003A908008F00000000';
找到 {CALL [dbo].[sp_MSupd_dboTable1](,'dd',4,0x04)}【默认的命名规则是sp_MS+operation+schemaName+tableName】
然后在订阅服务器,补充主键=4的数据,然后复制就恢复了。
【注意】:id自增的时候需要打来自动增长的标志:
--set identity_insert Table_1 ON--打开
--insert into Table_1(id) values(134);
--set identity_insert Table_1 OFF--关闭
1.4. 数据库 'dbtest' 的事务日志已满
1.4.1. 错误消息
尝试的命令:
if COLUMNPROPERTY( OBJECT_ID('MSreplication_subscriptions'),'distribution_agent','AllowsNull') <> 1 BEGIN alter table MSreplication_subscriptions alter column distribution_agent sysname null end
错误消息:
数据库 'dbtest 的事务日志已满。若要查明无法重用日志中的空间的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列。 (源: MSSQLServer,错误号: 9002)
获取帮助: http://help/9002
1.4.2. 解决方法
--清空日志
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE remaius SET RECOVERY SIMPLE;
-- Shrink the truncated log file to 1 MB.
DBCC SHRINKFILE (remaius_new_log, 1);
-- Reset the database recovery model.
ALTER DATABASE remaius SET RECOVERY FULL;
2. 进程无法向表“"dbo"."某表名"”进行大容量复制。
2.0.1. 错误消息
进程无法向表“"dbo"."某表名"”进行大容量复制。 (源: MSSQL_REPL,错误号: MSSQL_REPL20037)
获取帮助: http://help/MSSQL_REPL20037
成批发送失败
从 bcp 客户端收到的列值对列 id 37 无效。 (源: MSSQLServer,错误号: 4896)
获取帮助: http://help/4896
若要获取详细说明初始化订阅表时所遇到的错误的错误文件,请执行在下面显示的 bcp 命令。有关该 bcp 实用工具及其支持的选项的详细信息,请参阅 BOL。 (源: MSSQLServer,错误号: 20253)
获取帮助: http://help/20253
bcp "某发布名称"."dbo"."某表名" in "H:SQLMSSQL10_50.UZAI2008MSSQLReplDatauncSQLCLUSTER$SQL2008_某库名_某发布名20120711171029某表名_2.bcp" -e "errorfile" -t"n<x$3>n" -r"n<,@g>n" -m10000 -S订阅名订阅实例名 -T -w (源: MSSQLServer,错误号: 20253)
获取帮助: http://help/20253
2.0.2. 解决方法
因为这张表有一列很长且有特殊html标签类/<&%|^等特殊字符,去掉该列就很顺利的发布成功了。或者将所有的非unicode(varchar/char/text) 类型字段调整为unicode(nvarchar/nchar/ntext)类型即可"
SqlServer发布订阅错误收集的更多相关文章
- SqlServer发布订阅
我们在开发系统的时候,经常会遇到高并发的问题,还有高可用性和安全性方面的考虑,需要用读写分离的方案来解决问题.也就是在我们使用数据库比较多,更新少而查询比较多的情况下使用读写分离,实现提高性能,减少数 ...
- SQLServer 发布订阅(Replication)造成的Memroy压力(cmemthread等待)
深入了解下发布订阅: 数据复制:允许一个数据源向一个或多个目标数据库分发数据,只需要OLE DB 访问接口即可访问: 整个复制框架包含:复制组件,复制代理,复制类型: 复制组件: 发布服务器: ...
- IIS发布站点错误收集(持续更新)
本文主要收集IIS在发布站点过程中遇到的错误,并提供解决办法.并亲测可行.如果您也在使用IIS发布站点的过程中遇到了一些问题,欢迎留言提问. (1.) HTTP错误500.21-Internal Se ...
- 知方可补不足~Sqlserver发布订阅与sql事务的关系
回到目录 前几讲说了一下通过sqlserver的发布与订阅来实现数据的同步,再通过EF这个ORM架构最终实现架构系统的读写分离,而在使用发布与订阅来实现数据同步时,需要我们注意几点,那就是当操作被使用 ...
- IIS发布站点错误收集
转载:http://www.cnblogs.com/hangwei/p/4249406.html 本文主要收集IIS在发布站点过程中遇到的错误,并提供解决办法.并亲测可行.如果您也在使用IIS发布站点 ...
- 使用SQLServer同义词和SQL邮件,解决发布订阅中订阅库丢失数据的问题
最近给客户做了基于SQLServer的发布订阅的“读写分离”功能,但是某些表数据很大,经常发生某几条数据丢失的问题,导致订阅无法继续进行.但是每次发现问题重新做一次发布订阅又非常消耗时间,所以还得根据 ...
- 使用zabbix监控sql server的发布订阅
(一)背景 个人在使用sql server时,用到了sql server的发布订阅来做主从同步,类似MySQL的异步复制.在发布订阅环境搭建完成后,最重要的就是如何监控复制的状态了,sql serve ...
- MS SQL 2008 发布订阅配置错误总结
最近在配置SQL 2008的发布订阅功能时,遇到了几个小错误,顺便归纳总结一下(以后碰到各类关于发布订阅的错误都将收录.更新到这篇文章),方便自己在以后碰到这类问题时,能够迅速解决问题.毕 ...
- sqlserver 实时同步(发布订阅)
配置发布订阅手册 不同版本须知:https://www.sqlmanager.net/en/articles/1548 向后兼容性:参考https://docs.microsoft.com/zh-cn ...
随机推荐
- Python数据分析-Numpy数值计算
Numpy介绍: NumPy是高性能科学计算和数据分析的基础包.它是pandas等其他各种工具的基础. NumPy的主要功能: 1)ndarray,一个多维数组结构,高效且节省空间 2)无需循环对整组 ...
- Json对象转json数组
var arr = []; arr.push(strData);
- python os操作
大家先看一下Python os模块中的部分函数 python 路径相关的函数 os.listdir(dirname):列出dirname下的目录和文件 os.getcwd():获得当前工作目录 os. ...
- PHP文件信息获取函数
知识点: basename():获取文件名,传入第二个参数则只显示文件名,不显示后缀 dirname():获取文件路径 pathinfo():将文件信息存入一个数组,通过索引basename,dirn ...
- 【bzoj4378】[POI2015]Logistyka 离散化+树状数组
题目描述 维护一个长度为n的序列,一开始都是0,支持以下两种操作:1.U k a 将序列中第k个数修改为a.2.Z c s 在这个序列上,每次选出c个正数,并将它们都减去1,询问能否进行s次操作.每次 ...
- 【bzoj3685】普通van Emde Boas树 权值zkw线段树
原文地址:http://www.cnblogs.com/GXZlegend/p/6809743.html 题目描述 设计数据结构支持:1 x 若x不存在,插入x2 x 若x存在,删除x3 输 ...
- [THUWC2017][bzoj5020] 在美妙的数学王国中畅游 [LCT+泰勒展开]
题面 LOJ传送门 思路 这里很重要 它提示我们,把给定的三个函数泰勒展开,并用LCT维护每一项泰勒展开式的值,维护十几项就满足了题目的精度要求 我们考虑一个函数在0位置的泰勒展开 $f(x)=\su ...
- vue嵌套路由与404重定向实现方法分析
第一部分: vue嵌套路由 嵌套路由是什么? 嵌套路由就是在一个被路由过来的页面下可以继续使用路由,嵌套也就是路由中的路由的意思. 比如在vue中,我们如果不使用嵌套路由,那么只有一个<rout ...
- BZOJ 2223 [Coci 2009]PATULJCI | 主席树练习 (好像是个权限题啊)
题目: 给个序列,问[l,r]区间内是否存在x>(r-l+1)>>1 题解: 好像大家都觉得这个题比较简单,没人写题解啊 先说BZOJ样例的格式应该是,第二个数是序列中数的范围(就是 ...
- 无法定位程序输入点GetTickCount64 在动态链接库kernel32.dll上
winxp系统,在使用boost中的thread中的sleep的时候出现“无法定位程序输入点GetTickCount64 在动态链接库kernel32.dll上”的错误, 1.在引用boost库之前( ...