cancel
Showing results for 
Search instead for 
Did you mean: 

SQL error 601 in SQL server 2012 SP1CU6

former_member211576
Contributor
0 Kudos

Hi experts,

   I just upgrade our SAP to Windows/SQL server 2012 and put the whole database on Fusion IO. We have a program running on SQL server 2008 without any errors. However, I found this program terminated with SQL error 601 every morning at 7:00am. It is weird that if we run it again later, it  complete without errors. We have check sap note: 965530 and it mentioned it happened only on older SQL server version. Please help.

---- ST22 --------------

Category               Installation Errors                                                         

Runtime Errors         DBIF_RSQL_SQL_ERROR                                                         

Except.                CX_SY_OPEN_SQL_DB                                                           

Date and Time          2013/10/08 07:00:08                                                         

                                                                                                   

Short text                                                                                       
    SQL error 601 when accessing table "ZSCMPN".                                                 

What happened?                                                                                   
    Error Text of the Database: "Could not continue scan with NOLOCK due to data                 
    movement."                                                          

----  ABAP code --------------------

  767FORM GET_ZSCMPN .                                                                          
  768  "Exclude bulk and phantom P/N                                                            
  769  SELECT Z~SITCOD Z~KUNNR Z~MATNR                                                          
  770    INTO CORRESPONDING FIELDS OF TABLE I_ZSCMPN                                            
  771    FROM ZSCMPN AS Z INNER JOIN MARC AS C                                                  
  772    ON Z~MATNR = C~MATNR                                                                   
  773    WHERE C~WERKS IN S_WERKS AND C~SOBSL <> '50' AND C~SCHGT NE 'X'                        
  774    AND Z~SITCOD = P_SITE.                                                                 
  775                                                                                           
>>>>>  READ TABLE I_ZSCMPN INDEX 1.                                                             
  777  IF SY-SUBRC <> 0.                                                                        
  778    "  IF I_ZSCMPN[] IS INITIAL.                                                           
  779    WRITE:/ 'PAL P/N base is not exit! Stop the process!'.                                 
  780    STOP.                                                                                  
  781  ELSE.                                                                                    
  782    SORT I_ZSCMPN BY SITCOD KUNNR MATNR.                                                   
  783    DELETE ADJACENT DUPLICATES FROM I_ZSCMPN COMPARING ALL FIELDS.                         
  784  ENDIF.                                                                                   
  785                                                                                           
  786  IF S_MATNR[] IS NOT INITIAL.                                                             
  787    LOOP AT I_ZSCMPN.                                                                      
  788      READ TABLE S_MATNR WITH KEY LOW = I_ZSCMPN-MATNR.                                    
  789      IF SY-SUBRC NE 0.                                                                    
  790        DELETE I_ZSCMPN.                                                                   
  791      ENDIF.                                                                               
  792    ENDLOOP.                                                                               
  793  ENDIF.                                                                                   
  794ENDFORM.

---  SM21 ------------

Details Page 2 Line 9 System Log: Analysis for all Remote Instances           1

Time    SAP instance  TypeNr CltUser    TCodeGrpNText                                                      
07:00:02tccap45_TCP_45BTC 02821876040301     BY 0> Could not continue scan with NOLOCK due to data movement.

> Could not continue scan with NOLOCK due to data movement.                   

Details                                                                       

Recording at local and central time........................ 2013/10/08 07:00:02

Task......Process                     User......TerminalSessionTCodeProgram ClProblem cl   Package
03088     Background Processor No. 02876040301                1     ZQP00759X MiscellaneousSBAC  

Documentation for system log message BY 0 :                           
                                                                      
Access to the database system has returned an SQL code indicating that
the operation could not be performed correctly by the database system.
This system log entry shows the database text for the SQL error that  
has occurred.  It supplements the preceding system log entry, which   
shows the SQL code, the table name and the SQL function where the error
has occurred.                                                         

Technical details

FileOffsetRecFmSystem logGrpNvariable message data                                          
259409680               BY 0Could not continue scan with NOLOCK due to data movement.    

Accepted Solutions (1)

Accepted Solutions (1)

sunny_pahuja2
Active Contributor
0 Kudos

Hello,

> Could not continue scan with NOLOCK due to data movement.                   

It looks like that some other job/program is running at the same time. Could you please if some other job/program runs at same time which blocks access to table?

Thanks,

Sunny

former_member211576
Contributor
0 Kudos

Hi Sunny,

  The developer changes the code and hope it can eliminate this error. If the problem persists, I will ask him to reschedule the job.

Answers (2)

Answers (2)

former_member211576
Contributor
0 Kudos

Hi Sunny,

  Thanks,  Our solution is to reschedule the job at 7:05am and it works.

  By the way, is there any DMV can help me to identify which program is moving data while the program is scaning?

clas_hortien
Employee
Employee
0 Kudos

Hi,

have you ran a DBCC CHECKDB as stated in the note 965530 ?

See note 142731 for details how to do it.

The error 601 was very often seen as a symptom of a database corruption.

Best regards

Clas

former_member211576
Contributor
0 Kudos

Hi Clas,

   My DB is pretty large(7TB compressed). It takes about 7 days to run a full checkdb in DOP=1. I checktable the table short dump indicated and it is ok. I select * from tcp.ZSCMPN(This table does not have secondary index) and it is no problem at all. Just as the note mentioned, if it is physical corruption, it will occur every time.

   Anyway, I am running checkdb with physical_only and it will take about 17 hours. Also, I takes a full backup of SQL 2008 DB now in case something goes wrong.

Sriram2009
Active Contributor