日志报错:Incorrect syntax near the keyword 'with'

niel_qiu 2016-04-06 03:21:55
大家好:

我使用SQL Server 2012,系统日志每20秒报一条错误信息:
Incorrect syntax near the keyword 'with'. If this statement is a common table expression, an xmlnamespaces clause or a change tracking context clause, the previous statement must be terminated with a semicolon.

有没有什么办法根据系统日志定位到哪个具体的存储过程或者函数,来解决这个问题。

谢谢!
...全文
755 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
唐诗三百首 2016-04-14
  • 打赏
  • 举报
回复
从截图看,有"源: spid23s", 建议查一下spid=23的进程是神马? 注: spid<50是指系统内部进程. 另: 检查SQL2012 SP2补丁是否有安装.
niel_qiu 2016-04-14
  • 打赏
  • 举报
回复
我是在SSMS里面的管理-〉SQL Server 日志中看到错误信息,如下图
中国风 2016-04-07
  • 打赏
  • 举报
回复
你是在查看应用程序看到错误? 看来源是什么,看看是否应用程序,不要一出错就在数据库里来找,看应用程序里是不是调用什么方法 数据库接口的错误是不写系统的,只会在程序调用时错误才会写入系统日志 看指示为XML的明名空间时with附近有错 让数据库去查可用以下方法一个个去查代码 SELECT OBJECT_NAME(ID) FROM sys.syscomments WHERE text LIKE '%with%' EXEC sp_helptext 对象名
niel_qiu 2016-04-07
  • 打赏
  • 举报
回复
感谢各位,我知道with的语法。现在问题的关键是找不到那个地方出错,我把sql server agent job也完全停了,系统还是没20秒出现1条这样的日志。用profiler跟踪,也没有看到有执行到类似的语句
卖水果的net 2016-04-06
  • 打赏
  • 举报
回复
最大的可能就是job执行失败了。
shalen520 2016-04-06
  • 打赏
  • 举报
回复
你使用了cte表,用了with xxx(a,b,c) as (...) 找到脚本,with前面加一个分号就行了 把数据库对象(函数/存储过程)编写为文件,搜索一下with,挨个排查 或者使用profilter监控一下执行脚本执行和错误信息就可以定位了
中国风 2016-04-06
  • 打赏
  • 举报
回复
是不是有JOB指定了写入系统日志
中国风 2016-04-06
  • 打赏
  • 举报
回复
应该是有xml解析语法错误

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧