无法为数据库 'x'x'x' 中的对象 'xxx' 分配空间,因为 'PRIMARY' 文件组已满。

[数据库技术] 季雨林 2020/10/18 14:41:44

上次写这个标题解决方案的博客,是因为客户极端情况把我的临时自增id的日志表撑爆了,没有更大的id可写入导致

没想到同一个客户,前后间隔仅仅一个多月,又一次提示这个错误,但是找起来原因,却不再是自增int主键增长到极限的问题了


报错提示:

无法为数据库 'GPSJIA_GPS' 中的对象 'dbo.tGpsLog'.'IX_tGPS_SysCreateAt' 分配空间,因为 'PRIMARY' 文件组已满。请删除不需要的文件、删除文件组中的对象、将其他文件添加到文件组或为文件组中的现有文件启用自动增长,以便增加可用磁盘空间。


这次的问题在于:

SQL版本为Express,这个版本要求单个数据库不能超过10G,PRIMARY文件组限制不能超过2G,最大内存不能超过1G

这里我说的SQL版本,并非是指SQL的那年发行的版本,SQL2005,SQL2014,SQL2019这种发行更新版本

而是指SQL Server发布的授权版本:SQL Server企业版、SQL Server商业智能、SQL Server标准、SQL Server Web、SQL Server Express


最终解决方案:

直接在客户服务器上升级即可,从开始菜单,找到点击“SQL Server 2017 安装中心(64 位)”启动,然后点升级,版本选择“Developer”即可。开发版明显要比Express的约束更高,因此在升级完成后,系统立刻恢复了正常。


附录:升级前后的版本查询差异(使用SQL脚本查询版本)

select @@version

--Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64)   Aug 22 2017 17:04:49   Copyright (C) 2017 Microsoft Corporation  Express Edition (64-bit) on Windows Server 2016 Datacenter 10.0 <X64> (Build 14393: ) (Hypervisor) 

--Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64)   Aug 22 2017 17:04:49   Copyright (C) 2017 Microsoft Corporation  Developer Edition (64-bit) on Windows Server 2016 Datacenter 10.0 <X64> (Build 14393: ) (Hypervisor) 



原文地址: https://www.opengps.cn/Blog/View.aspx?id=782 文章的更新编辑依此链接为准。欢迎关注源站原创文章!

评论

暂无评论!

发表评论:

用于接收作者回复信息
点击更换验证码 - openGPS提示