I got a message from one of my users that he was unable to get into his site. Finger problems?? So I tried the site. Basically I got an SQL Server 4111 error with a whole page full of code. Ever heard of it? Neither had I so I tried googling with no real joy. There were a couple of hints like 'you've exceeded your quota'.
The interesting thing was that it wasn't just one site on the server that was having problems - most of the Drupal sites were. With some of the sites, I could not even log in and with others once logged in, I couldn't get to the config menu without an error.
I thought for the record I should detail how the problem appears to have been sorted but giving no guarantee that it wasn't going to happen again. The next step was to actually read the blurb that came with the error report and there was the solution. Errors were something like 'dr_cache full'. Not being totally knowledgeable about Drupal, but knowing that cache is something that is stored to save time getting it from somewhere else. The standard solution to a full cache is to clear it which should be possible through the config menu, but of course I was unable to get to the config menu.
The solution was to go to the server control console and fire up phpadmin. From there you can get to the relevant database which of course lists all of the tables in that database. The next step is to go through all the db_cache tables (dr_cachefield etc) and delete everything in them. Don't delete the actual table. I found that there were a couple of others that were also causing problems - namely the db_watchdog and the db_queue.
Each of these had data in the format BLOB (I thought this may be some wierd person trying to attack my database but no, it turns out that BLOB stands for a Binary Large OBject that can hold varying amounts of data - you learn something new every day!).
Once you've deleted the caches, you go back to your web site (suggest that you keep phpadmin open) and try again. It worked for me but not on the first try. What did happen was that the size of the error message got smaller so I was eventually able to delete cache contents until there were no more messages. First thing I did after that was to clear the cache (not sure if that helped) and to update all my modules.
Hope this helps someone. Let me know if it does!
No comments:
Post a Comment