April 5, 2007 at 2:06 pm
We recently experienced data corruption on a customer's SAP Business One database. For an unknown reason, OQUT, QUT1, QUT6, OCRD, OADM, OTAL and two other tables disappeared while SAP was being used, along with two of our softwares connected to the SAP B1 System Developpment Kit. In the logs, there is a bunch of "DELETE" commands in the system tables (sysobjects, syscolumns, ...) but no "DROP TABLE" for the corresponding objects. We suspect either an SAP B1 malfunction or an SQL Server malfunction. One of our employee stated that this could be a account problem (the 'sa' user could have been overused and SQL Server failed to manage such many connections on the db with this account). We are currently searching for a possible reason of this behavior, but we found nothing yet. Did somebody out here experience this kind of problem ? And if so, what could be the reason ? Could this be prevented in the future ?
Here are the server's specs :
- Windows Server 2003
- SQL Server 2000 Standard Edition, SP 3
- SAP B1 2005 SP1 PL3 with DI API
April 13, 2007 at 6:06 am
Hi,
I have not faced the same issue but troubleshooted so many corruption related cases.
SQL Server error logs will log all the operation performaed on the database. Is it possible for you to check this Log( Error Log) which is in the BIN folder of the SQL Server. This will also help to know if there is any corruption related error. Please check the System's application and System event log for more information.
Is it possible to paste this log information here so that it will be easier to analyze the root cause.
1. Is this happened for first time ?
2. Did you installed any new patch / software ?
3. Is it possible to run the hardware diagnostic tools to confirm about the Disk is OK or not?
4. Do you have recent backup which helps.
If you doubt of data corruption then the best way to find out is by running DBCC CHECKDB on the culprit database.
Regards,
Minaz Amin
"More Green More Oxygen !! Plant a tree today"
April 14, 2007 at 8:38 pm
"In the logs, there is a bunch of "DELETE" commands in the system tables (sysobjects, syscolumns, ...) but no "DROP TABLE" for the corresponding objects"
looks like you were running SQL with "allow updates" configuration to be true. this was a backdoor entry into SQL Server system tables in SQL 2000. and was meant for last resort option only.
For every table, there will be atleast one record in sysindexes. That record will tell SQL, where is the first page of this table located and from there it can traverse the all data pages and give you data. if someone deletes this record from sysindexes table, SQL server would have no clues on how to find this table.
May be thats whats is causing the Missing table.
if your database is in full recovery mode and you have a full backup (before issue happened) + transaction log backup, you may try point in time restore to recover your tables and save your day.
HTH
Viewing 3 posts - 1 through 2 (of 2 total)
You must be logged in to reply to this topic. Login to reply