• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 4660
  • Last Modified:

ERRORS: m_offBeginVar < m_SizeRec && m_SizeRec > 0 && m_SizeRec <= MAXDATAROW

Dear All,

On a scheduled basis we add 1,000,000 records to our DB and it is quicker to drop all the indexes, add and then create them again.

Below is the log for the program which creates the indexes.  If the creation of any index fails, it retries the statement up to 10 times.

As you can see we have several errors where the index is not created and the DB has reported an issue.  Microsoft has documented this issue in this article http://support.microsoft.com/?kbid=827714 

How my question is why does it fail several times and then succeeds???  

During the time when we are executing these updates, no other user is using the database.  Any help?

Many thanks
Angus


15-May 02:02:58**** Creating all Indexes on T_Products (Newcastle)
15-May 02:02:58        - Creating T_ProductsInd_1
15-May 02:04:09        - SQL INDEX ERROR -SQL State:01000 --java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]Location:       p:\sql\ntdbms\storeng\drs\include\record.inl:1447
Expression:       m_SizeRec > 0 && m_SizeRec <= MAXDATAROW
SPID:             55
Process ID:       2364
15-May 02:04:09        - Retrying Execution: (0)         - Creating T_ProductsInd_1
15-May 02:04:09        - Creating T_ProductsInd_1
15-May 02:13:13        - Creating T_ProductsInd_2
15-May 02:15:12        - SQL INDEX ERROR -SQL State:01000 --java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]Location:       recbase.cpp:1378
Expression:       m_offBeginVar < m_SizeRec
SPID:             55
Process ID:       2364
15-May 02:15:12        - Retrying Execution: (0)         - Creating T_ProductsInd_2
15-May 02:15:12        - Creating T_ProductsInd_2
15-May 02:15:41        - SQL INDEX ERROR -SQL State:01000 --java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]Location:       recbase.cpp:1374
Expression:       m_nVars > 0
SPID:             55
Process ID:       2364
15-May 02:15:41        - Retrying Execution: (1)         - Creating T_ProductsInd_2
15-May 02:15:41        - Creating T_ProductsInd_2
15-May 02:16:07        - SQL INDEX ERROR -SQL State:01000 --java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]Location:       recbase.cpp:1374
Expression:       m_nVars > 0
SPID:             55
Process ID:       2364
15-May 02:16:07        - Retrying Execution: (2)         - Creating T_ProductsInd_2
15-May 02:16:07        - Creating T_ProductsInd_2
15-May 02:16:34        - SQL INDEX ERROR -SQL State:01000 --java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]Location:       recbase.cpp:1374
Expression:       m_nVars > 0
SPID:             55
Process ID:       2364
15-May 02:16:34        - Retrying Execution: (3)         - Creating T_ProductsInd_2
15-May 02:16:34        - Creating T_ProductsInd_2
15-May 02:16:35        - SQL INDEX ERROR -SQL State:01000 --java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]Location:       recbase.cpp:1374
Expression:       m_nVars > 0
SPID:             55
Process ID:       2364
15-May 02:16:35        - Retrying Execution: (4)         - Creating T_ProductsInd_2
15-May 02:16:35        - Creating T_ProductsInd_2
15-May 02:17:00        - SQL INDEX ERROR -SQL State:01000 --java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]Location:       recbase.cpp:1374
Expression:       m_nVars > 0
SPID:             55
Process ID:       2364
15-May 02:17:00        - Retrying Execution: (5)         - Creating T_ProductsInd_2
15-May 02:17:00        - Creating T_ProductsInd_2
15-May 02:17:01        - SQL INDEX ERROR -SQL State:01000 --java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]Location:       recbase.cpp:1374
Expression:       m_nVars > 0
SPID:             55
Process ID:       2364
15-May 02:17:01        - Retrying Execution: (6)         - Creating T_ProductsInd_2
15-May 02:17:01        - Creating T_ProductsInd_3
15-May 02:22:11        - Creating T_ProductsInd_4
15-May 02:23:05        - SQL INDEX ERROR -SQL State:01000 --java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]Location:       p:\sql\ntdbms\storeng\drs\include\record.inl:1447
Expression:       m_SizeRec > 0 && m_SizeRec <= MAXDATAROW
SPID:             55
Process ID:       2364
15-May 02:23:05        - Retrying Execution: (0)         - Creating T_ProductsInd_4
15-May 02:23:05        - Creating T_ProductsInd_4
15-May 02:28:22        - Creating T_ProductsInd_5
15-May 02:29:48        - Creating T_ProductsInd_6
0
amacfarl
Asked:
amacfarl
  • 4
  • 2
  • 2
2 Solutions
 
jrb1Commented:
There's this info from MS:

http://support.microsoft.com/default.aspx?scid=kb;en-us;841776

Operating system, driver, or hardware problems may cause SQL Server to experience data integrity-related problems. You may receive data integrity-related error messages in the SQL Server error log. These error messages may include, but are not limited to, error messages 823, 605, 644, 625, or assertion failures that are similar to the following:

SQL Server Assertion: File: <T:\shiloh\sql\ntdbms\storeng\drs\include\record.inl>, line=1447 Failed Assertion = 'm_SizeRec > 0 && m_SizeRec <= MAXDATAROW'.
SQL Server Assertion: File: <recbase.cpp>, line=1378 Failed Assertion = 'm_offBeginVar < m_SizeRec'.
SQL Server Assertion: File: <recbase.cpp>, line=1374 Failed Assertion = 'm_nVars > 0'.

And much more details are available here:

http://support.microsoft.com/default.aspx?scid=kb;en-us;826433

It sounds like SQL Server was not detecting problems with your system, and this error is the end result. You really need to get SP4 installed, at the very least.
0
 
ispalenyCommented:
I saw this error at my customer's cheap "desktop" server 3 years ago. It is a server-dependent error. Your tables are getting corrupted by HW or low-level SW error.

1. Replace the server in production enviroment as quickly as possible !!!
2. Try identify the source of the error in Windows system log
3. Reformat HDDs, reinstall OS, get latest HW drivers, reinstall SQL Server and do some testing. If the error comes back again, be sure it is HW error and your server needs HW reconfiguration. If it is in SW, but you are not able to remove it even with latest drivers, let's assume it is a HW error.
4. Call HW support.
0
 
jrb1Commented:
Even if it's hardware, that doesn't necessarily mean the server needs to be replaced.  Could just be a card.  Definitely need to run about every system test you can get your hands on...memory, etc.
0
Free Backup Tool for VMware and Hyper-V

Restore full virtual machine or individual guest files from 19 common file systems directly from the backup file. Schedule VM backups with PowerShell scripts. Set desired time, lean back and let the script to notify you via email upon completion.  

 
ispalenyCommented:
amacfarl,
all you know, you need to perform intensive system resources and time consumming tests. As a result, some HW components, that are getting damaged, can become damaged. I don't think this the situation you want to achieve on your SQL Server in production enviroment. Midnight, stars on the sky are bright, LEDs on your sales server red :)
0
 
amacfarlAuthor Commented:
wow... thanks for the all advice.

At the moment we are evaluating MS SQL so we are not using it on a production environment and based on the comments above.. I am pleased this is the case.

What is puzzling is that the DB is fine and all other data is fine with no issues.  The only sign of an issue is that we have these errors when creating indexes...  As for perfoming intensive system tests... to be honest I have no idea where to start on that front.  I have dont a diagnostic and all is ok, but I would not call this 'intensive'.

Could this error be because we are running MS SQL Server Evaluation with SP3.  

To be honest, I am reluctant to go to my boss and suggest changing the hardware because of this issue.  Especially when we retry the statement it works fine!

Any suggestions?
0
 
ispalenyCommented:
HW is like people, number of errors increase with stress and error occurance in based on fuzzy logic. Your server has some king of parity error, which is critical for database and file servers, where one bit can break all the thing. On terminal servers, almost every bit is a part of one pixel color, nobody can notice that. On SQL Server, the error will corrupt the biggest, most updated table.  
0
 
ispalenyCommented:
If if think it is not in HW, but in MS SQL Server Evaluation with SP3, download&install MSDE engine instance (or better buy Developer Edition) on the same server and run the same tasks generating errors on evaluation. But MS SQL Server Evaluation Edition is slightly reconfigured Enterprise Edition, I do not expect differences. SQL Server itself is your testing tool. Do not expect every bit corrupted, I had a HDD corrupting a random group of 1-3 bytes every 100 MB, errors where written with correct ECC record, so they were undetectable by HW checks.
0
 
amacfarlAuthor Commented:
Folks,

Thanks for all your response, help & support.  You have indeed helped a great deal.

Sorry for the slow response - life has been hectic
regards
Angus
0

Featured Post

Get your Disaster Recovery as a Service basics

Disaster Recovery as a Service is one go-to solution that revolutionizes DR planning. Implementing DRaaS could be an efficient process, easily accessible to non-DR experts. Learn about monitoring, testing, executing failovers and failbacks to ensure a "healthy" DR environment.

  • 4
  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now