on 10-08-2013 11:09 AM
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 --------------------
767 | FORM 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. |
794 | ENDFORM. |
--- SM21 ------------
Details Page 2 Line 9 System Log: Analysis for all Remote Instances 1
Time | SAP instance | Type | Nr | Clt | User | TCode | Grp | N | Text |
07:00:02 | tccap45_TCP_45 | BTC | 028 | 218 | 76040301 | 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...... | Terminal | Session | TCode | Program | Cl | Problem cl | Package |
03088 | Background Processor No. 028 | 76040301 | 1 | ZQP00759 | X | Miscellaneous | SBAC |
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
File | Offset | RecFm | System log | Grp | N | variable message data |
259 | 409680 | BY | 0 | Could not continue scan with NOLOCK due to data movement. |
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
Hi
Could you check the SAP 1250016 - Could not continue scan with NOLOCK due to data
movement
Thanks
Ram
User | Count |
---|---|
85 | |
10 | |
10 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.