Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
cogito
Starting Member
3 Posts |
Posted - 2002-06-12 : 06:36:09
|
| When uploading data from an excel spreadsheet to SQL6.5 tables, using code in an Access 97 database which hs been worked for the last 6 months, and fsql 3146 ODBC error appear. Looking at the SQL error log the following message appears.2002/06/12 08:04:31.89 kernel WARNING: Process being freed while holding Dataserver semaphore2002/06/12 08:05:08.58 spid52 Error : 601, Severity: 21, State: 12002/06/12 08:05:08.58 spid52 Descriptor for system table '-1' in database '2' not found in the descriptor hash table.I have been told this is a common error and have followed the suggested fix, increased the Open Database & Open Objects to no avail. The database referred to is TEMPDB, which I shrank, deleted tempdb.dat recreated it and the rerun the and this error still occurs.Has anyone else seen this problem and if so what solution was used to correct it. |
|
|
Kevin Snow
Posting Yak Master
149 Posts |
Posted - 2002-06-12 : 11:59:00
|
I haven't experienced the problem, but I have some suggestions.You've probably tried these.quote: Why do I get the message "WARNING: Process being freed while holding Dataserver semaphore" in SQL Server.This is a fairly common error.1. Check for previous errors - this is often not the actual error that occurred but is a symptom of a previous error that has caused SQL Server to get confused. It then ends up trying to exit a routine without having cleared up all the resources that it owns. It is the previous error that you should look up in Technet/MS Knowledgebase.2. It can be a symptom of not having enough resources. Up the number of open objects, locks and open databases. This may help.3. Apply the latest servicepack - this or the underlying error may well have been fixed already.4. If none of the above apply, and your problem does not match any known, documented issue then you will have to call MS PSS and open a paid fault call. If you can reproduce the problem with a script run against a new, clean database then it should be fairly easy for a fix to be written.
Microsoft Support suggests you should have at least SP3 applied to SQL 6.5 (I assume you are service packed way beyond that - just a guess, cause I don't track the current SP version for 6.5)If the process has worked well before, I would say there are two 'most likely' occurances that can cause your problem.First, a growing demand for resources has revealed a weakness in one of the involved applicationsSecond, a fundamental change has occurred in the data being uploaded.I reccommend cutting up your excel spreadsheet into smaller 'chunks'. Cutting it in half should due for a start. If you can get one of the halves to upload successfully, It is probably a data problem. You can continue splicing until you isolate the offending data....If BOTH halves upload successfully, then it is likely a resource problem. Check the suggestions in the quote above and verify that they've been implemented. If neither half will upload, then the test is inconclusive, and you are back to the drawing board. At that point, you may try uploading a single record, and scale up until it breaks, monitoring the error log as you go.Edited by - kevin snow on 06/12/2002 11:59:43Edited by - kevin snow on 06/12/2002 12:00:36 |
 |
|
|
DGMelkin
Starting Member
24 Posts |
Posted - 2002-06-12 : 17:00:39
|
| When we had this problem, usually stopping and restarting the MSSQL service fixed the problem. (That's what BOL suggests as well.)PS. I think sp5a is the latest service pack for 6.5 |
 |
|
|
cogito
Starting Member
3 Posts |
Posted - 2002-06-14 : 09:40:02
|
| Thank you very much for your suggestions. I managed to solve the problem. Although the error message indicated that there was a problem with Tempdb, which I dropped and recreated no avail, I dropped and recreated the database that the data was being uploaded too and that seemed to have corrected the problem. |
 |
|
|
|
|
|
|
|