帮我看看是什么问题

skyworth98 2012-01-10 04:50:22
情况是这样的,有一个sql server agent的job, 里面有一步是从一个linked server select到一个临时表中。结果出现了下面的问题:

Could not continue scan with NOLOCK due to data movement. [SQLSTATE 42000] (Error 601) OLE DB provider "SQLNCLI10" for linked server "test" returned message "Unspecified error". [SQLSTATE 01000] (Error 7412). The step failed.,00:10:00,12,7412,,,,0

请问是什么原因引起的??
分不够的话,另外开帖。

服务器是 MS SQL SVR 2008 R2
...全文
207 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
skyworth98 2012-02-10
  • 打赏
  • 举报
回复
貌似现在没问题了,另外一个数据库又出同样的毛病了,头大
skyworth98 2012-01-11
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 haiwer 的回复:]
通过linked server select到一个临时表中的方法,应该是

create table #...(...)

insert #...(...)
select ...
from server.dbname.dbo.tablename
where ...

不要用
select ...
into #...
from server.dbname.dbo.tablen……
[/Quote]

跟您说的一样,我这个是在前一步创建的临时表,创建成功后才执行的出问题的那一步
skyworth98 2012-01-11
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 haiwer 的回复:]
把语句中的with (NOLOCK )去掉
[/Quote]

谢谢。可是真的没有with (NOLOCK )
昵称被占用了 2012-01-11
  • 打赏
  • 举报
回复
通过linked server select到一个临时表中的方法,应该是

create table #...(...)

insert #...(...)
select ...
from server.dbname.dbo.tablename
where ...

不要用
select ...
into #...
from server.dbname.dbo.tablename
where ...

昵称被占用了 2012-01-11
  • 打赏
  • 举报
回复
把语句中的with (NOLOCK )去掉
Leon_He2014 2012-01-11
  • 打赏
  • 举报
回复
production环境 也可以添加一张测试表,然后添加测试作业吧!或者在测试库上这么测试一下![Quote=引用 14 楼 skyworth98 的回复:]

引用 13 楼 stublue 的回复:
把临时表换成一张固定的表呢?


这个真没试过,production环境,不敢搞啊。
现在还是间歇性的毛病,搞大了就撑不住了。
[/Quote]
skyworth98 2012-01-11
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 stublue 的回复:]
把临时表换成一张固定的表呢?
[/Quote]

这个真没试过,production环境,不敢搞啊。
现在还是间歇性的毛病,搞大了就撑不住了。
Leon_He2014 2012-01-11
  • 打赏
  • 举报
回复
把临时表换成一张固定的表呢?
skyworth98 2012-01-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 szstephenzhou 的回复:]
[test].testdb.dbo.TestTable 这个时候确定存在?
[/Quote]

确定存在。由于是production server,我不方便把实际的代码贴上来,除了名字不一样外,都一样。
最要命的是我自己手动运行那个job,无论运行几次都没问题……

莫非是RPWT??
勿勿 2012-01-10
  • 打赏
  • 举报
回复
[test].testdb.dbo.TestTable 这个时候确定存在?
skyworth98 2012-01-10
  • 打赏
  • 举报
回复
我觉得问题应该在这儿
Could not continue scan with NOLOCK due to data movement.

莫非默认就是这个级别??
skyworth98 2012-01-10
  • 打赏
  • 举报
回复
出问题的一步大概是下面这个样子的
Begin Transaction
Select * Into tempdb.dbo.TestTable FROM [test].testdb.dbo.TestTable
Select....
Select....
Commit

数据应该是没有问题的。
因为同样的一个job,schedule 到每6小事执行一次,就什么问题没有。
但是2小时执行一次就连续出了三次问题,当然,之前也是有成功执行过的。
勿勿 2012-01-10
  • 打赏
  • 举报
回复
job 中linked server test是不是不存在呢?
郗晓勇 2012-01-10
  • 打赏
  • 举报
回复
数据有损坏吧
=========================================================================================

叶子 2012-01-10
  • 打赏
  • 举报
回复
job执行的具体操作是什么?
geniuswjt 2012-01-10
  • 打赏
  • 举报
回复
最好把你的job里的sql代码发一下,不长的话。
看字面是未知错误。。。咋猜?

22,209

社区成员

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

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