表中的行数只有 601 条记录。查看数据库我看不到任何问题:初始大小设置为 4Gb,自动增长设置为 1Mb(然后我将其设置为 10%),但这没有任何区别。
无法为数据库 'database' 中的对象 'dbo.Fatawa'.'PK_table' 分配空间,因为 'PRIMARY' 文件组已满。通过删除不需要的文件、删除文件组中的对象、向文件组添加其他文件或为文件组中的现有文件设置自动增长来创建磁盘空间。
表中的行数只有 601 条记录。查看数据库我看不到任何问题:初始大小设置为 4Gb,自动增长设置为 1Mb(然后我将其设置为 10%),但这没有任何区别。
无法为数据库 'database' 中的对象 'dbo.Fatawa'.'PK_table' 分配空间,因为 'PRIMARY' 文件组已满。通过删除不需要的文件、删除文件组中的对象、向文件组添加其他文件或为文件组中的现有文件设置自动增长来创建磁盘空间。
错误消息告诉您 PRIMARY 文件组 (FG) 已满。在 SQL Server Management Studio (SSMS) 中,右键单击数据库和选择属性。
在文件表中,找到主要数据文件 (*.mdf) 并记下位置(驱动器、路径、文件)。
转到 Windows 资源管理器,单击我的电脑图标,注意驱动器。每个驱动器都有可用的总空间和数量。
问题:
驱动器上是否还有剩余空间?如果没有,那是你的问题。
解决方案:
如果数据文件中有剩余空间,请缩小文件。如果没有,请创建辅助数据文件。将一些表移动到数据文件中。移动完成后收缩主数据文件。
这是来自 Microsoft 的 Roberto Stefanetti 的脚本。它会将表和索引从一个 FG 移动到另一个。
http://gallery.technet.microsoft.com/scriptcenter/c1da9334-2885-468c-a374-775da60f256f
我使用了存储过程:
sp_helpdb (DB name)
这表明我的增长规模太小了,所以我改变了它:
ALTER DATABASE (DB name)
MODIFY FILE
(NAME=(DB name),FILEGROWTH=20MB);
在我的情况下,我使用 SQL Server 2005 EXPRESS 版本,这有数据库限制为 4 GB max size。
我收到此错误:
无法为数据库“LargeDB”中的对象“dbo.SORT 临时运行存储:440737612283904”分配空间,因为“PRIMARY”文件组已满通过删除不需要的文件、删除文件组中的对象、向文件组添加其他文件来创建磁盘空间,或为文件组中的现有文件设置自动增长...
要解决此问题,您需要升级到 SQL Server 版本 2008 R2 Express数据库大小限制增加到 10GB,或者升级您的许可证。