Could not allocate space for object in database because the filegroup is full

今天遇到了这个问题。但是data file所在磁盘还有100G的空间。遇到这种问题,通常下面文章中的建议可以解决问题:

http://blog.sqlauthority.com/2014/03/14/sql-server-error-resolution-could-not-allocate-space-for-object-in-database-because-the-filegroup-is-full/


注意原文中说的Increase the fixed size of your primary filegroup.,据我所知,没有这样的限制,或者我没找到。

因此该文章没有解决我的问题。其他可能的原因有:

1, 如果数据文件在C盘上,那么可能pagefile.sys磁盘交换文件把磁盘占满了。因此看起来有空间,但实际上没有空间了。

2, 大量的磁盘碎片导致没有可用的磁盘空间。这时需要stop SQL Server,然后做碎片整理,最后启动SQL Server。


如果完全不想折腾,只想解决问题,最简单的办法就是在另外一个磁盘上新建一个filegroup,然后新建一个data file到新的filegroup就OK了。完全不用管root cause。。。


你可能感兴趣的:(SQL,Server数据库)