无法为对象dbo.table分配空间

时间:2013-10-01 11:11:45

标签: sql-server

表中的行数仅为601条记录。在数据库中查看我看不出任何问题:初始大小设置为4Gb,自动增长由1Mb设置(然后我将其设置为10%)但这没有任何区别。

  
    
      

无法为数据库'数据库'中的对象'dbo.Fatawa'。'PK_table'分配空间,因为       'PRIMARY'文件组已满。通过删除不需要的文件,删除文件组中的对象,向文件组添加其他文件或为文件组中的现有文件设置自动增长来创建磁盘空间。

    
  

3 个答案:

答案 0 :(得分:6)

错误消息告诉您PRIMARY文件组(FG)已满。在SQL Server Management Studio(SSMS)中,右键单击数据库和选择属性。

在文件表上,找到主数据文件(* .mdf)并记下位置(驱动器,路径,文件)。

转到Windows资源管理器,单击我的计算机图标,注意驱动器。每个驱动器将有可用的总空间和数量。

<强>问题:

驱动器上是否还有空间?如果没有,那就是你的问题。

解决方案:

如果数据文件中还有空间,请缩小文件。如果没有,请创建辅助数据文件。将一些表移动到数据文件。移动完成后缩小主数据文件。

这是来自Roberto Stefanetti的微软脚本。它会将表格和索引从一个FG移动到另一个FG。

http://gallery.technet.microsoft.com/scriptcenter/c1da9334-2885-468c-a374-775da60f256f

答案 1 :(得分:3)

我使用了存储过程:

sp_helpdb (DB name)

这表明我的增长幅度太小所以我改变了这样:

  ALTER DATABASE (DB name)
  MODIFY FILE
  (NAME=(DB name),FILEGROWTH=20MB);

答案 2 :(得分:0)

在我的情况下,我使用的是SQL Server 2005 EXPRESS版本,它有database limitation to 4 GB max size

我收到错误

  

无法为对象&#39; dbo.SORT临时运行分配空间   存储:440737612283904&#39;在数据库&#39; LargeDB&#39;因为&#39; PRIMARY&#39;   filegroup已满通过删除不需要来创建磁盘空间   文件,删除文件组中的对象,添加其他文件   文件组,或为。中的现有文件设置自动增长   文件组...

解决此问题,您需要升级到SQL Server版本2008 R2 Express Database Size Limit Increased to 10GB,或者升级您的许可证。