Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm a software developer troubleshooting a sticky problem on a client's production server, and I've got a bit of a problem.

They have a virtual server running Windows Server 2008, SQL Server 2008 R1 and IIS7. It was provisioned with two partitions: one that has the OS (~15 Gig), and the other has IIS' web sites (another ~15 Gig).

My application that's running this server has been running perfectly well, up until about an hour ago, when it started throwing System.IO.IOException: "There is not enough space on disk".

As soon as my client notified me, I cleared up some space on C:\, emptied the recycle bin, and restarted SQL Server and IIS. The web server came back up and the application was running, but it no longer saves information to the database. No error message is coming up, the application can get information out of the DB, but it can no longer save data back to it. I rebooted the server, to no effect.

I spoke with a sys admin at the hosting company, and he says SQL Server appears to have come up fine and the database is not in read-only mode. I confirmed that, as I can add records to tables from SQL Server Management Studio.

I looked at the event log immediately after trying to save an edited record in the app, and no new events appear in there that I can tell.

I'm assuming this is related to having run out of space, as it was all working fine prior to that, but I'm at a bit of a loss as to what exactly needs a kick in the pants to get going again.

Can anyone help me out? What the heck is going on here?

EDIT: I have full access to the server.

EDIT: The database and log files themselves appear fine, as I pulled them down to my workstation to run some processing that needed to be done before the end of the day. Data was written to the database without any problems on my machine.

share|improve this question
    
I would try running Profiler and see if you see the attempts to write. Is it possible corrupted data or duplicate keys are triggering a program-logic problem preventing the writes? –  SqlACID Apr 23 '10 at 0:28
    
That sounds like a good idea, but it's running the Express edition. The Profiler isn't available with this, is it? –  Remi Despres-Smyth Apr 23 '10 at 0:45
    
Doesn't come with it, but if you have it on another machine with Std or Developer edition you can connect to it...but, Express edition has a max db size of 4GB, you haven't topped that have you? –  SqlACID Apr 23 '10 at 0:48
    
No, nowhere close. But even if I were to pick up dev edition of SQL Server to have access to the profiler, I can't connect to the database on the server from my laptop - I need to remote into. –  Remi Despres-Smyth Apr 23 '10 at 0:58
    
Not an expert here ... Is it failing to write because it can't find enough contiguous space to grow the database? –  Mike Chess Apr 23 '10 at 1:01

2 Answers 2

up vote 0 down vote accepted

I can't explain the solution, but here are the two actions I did this morning:

  1. Last night, I grabbed a copy of the database and transferred it to my local machine, to run a few processes against it that are required daily. This morning, I transferred it back to the server, and replaced the server's database with this new copy, to ensure it had all the latest data before I continued my troubleshooting;

  2. This morning, I also updated the copy of my application with a backup version from my archives.

I then started running more tests, and it's saving to the database again.

Thanks everyone for the suggestions!

share|improve this answer
    
Hmmm. I wonder if something put a lock on one of the database files while it was down. Very strange. Glad it's working now! –  squillman Apr 23 '10 at 12:49
    
Me too, good sir, me too :-) –  Remi Despres-Smyth Apr 23 '10 at 17:01

Look at the data and log file sizes for your database (or have the admin do it) and how they're allocated. You can set a maximum size on the data and log file, or you can set them to autogrow as needed by a fixed amount or by a percentage of their current size. Sounds to me that one or the other or both are not set for autogrowth and that you've maxed out the file sizes.

EDIT:
Try restarting the application pool that your app is running under. Or restart IIS altogether.

share|improve this answer
    
I've got full access to the server. Just checked the files - DB file has unrestricted autogrowth, while the log file has restricted autogrowth, but the cap is significantly larger than its current size. (I tried setting it to unrestricted, for kicks, but it changes back to restricted autogrowth every time - is that a log file thing?) –  Remi Despres-Smyth Apr 23 '10 at 0:39
    
@remi: have a look at my edit –  squillman Apr 23 '10 at 2:06
    
Tried both, no joy. I did reboot the server earlier as one of my first steps, too. –  Remi Despres-Smyth Apr 23 '10 at 3:35

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.