ASP.Net应用程序在磁盘空间不足时不能再写入数据库

我是一名软件开发人员,在客户端的生产服务器上解决一个棘手的问题,并且遇到了一些问题。

他们有运行Windows Server 2008,SQL Server 2008 R1和IIS7的虚拟服务器。 它配备了两个分区:一个具有OS(〜15 Gig),另一个具有IIS的网站(另一个〜15 Gig)。

我运行这个服务器的应用程序一直运行得非常好,直到大约一个小时前,它开始抛出System.IO.IOException:“磁盘空间不足”。

只要我的客户通知我,我清理了C:\上的一些空间,清空回收站,并重新启动SQL Server和IIS。 Web服务器恢复运行,应用程序正在运行,但不再保存信息到数据库 。 没有错误消息出现,应用程序可以从数据库中获取信息,但不能再将数据保存到数据库中。 我重新启动服务器,没有任何效果。

我与托pipe公司的系统pipe理员进行了交谈,他说SQL Server似乎很好,数据库不处于只读模式。 我确认,因为我可以将logging添加到SQL Server Management Studio的表中。

我试图在应用程序中保存已编辑的logging后立即查看了事件日志,并且没有看到新的事件。

我认为这与空间不足有关,因为在此之前,这一切都工作正常,但是我对于裤子究竟需要踢什么才能重新开始有点不知所措。

谁能帮我吗? 这到底是怎么回事?

编辑:我有充分的权限到服务器。

编辑:数据库和日志文件本身显示正常,因为我拉他们到我的工作站运行一些处理,需要在一天结束之前完成。 数据写入到我的机器上没有任何问题的数据库。

查看数据库的数据和日志文件大小(或让pipe理员这样做)以及它们如何分配。 您可以在数据和日志文件上设置最大大小,也可以将其设置为根据需要自动增长一个固定的金额或其当前大小的百分比。 听起来,这两个或其中一个是不是autogrowth设置,你已经超过了文件大小。

编辑:
尝试重新启动应用程序正在运行的应用程序池。 或者完全重新启动IIS。

我无法解释这个解决scheme,但是今天早上我做了两件事:

  1. 昨天晚上,我抓起了一个数据库的副本,并将其转移到本地机器上,每天都要运行一些针对它的进程。 今天早上,我把它传回服务器,并用这个新的副本replace了服务器的数据库,以确保在我继续排除故障之前获得了所有最新的数据。

  2. 今天早上,我还从我的档案中更新了备份版本的应用程序副本。

然后我开始运行更多的testing,并且再次保存到数据库。

感谢大家的build议!