LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

SQL Server提示错误:未能为数据库***中的对象***分配空间,原因是文件组PRIMARY已满。如何解决?

admin
2024年12月19日 12:28 本文热度 131

服务器使用MS SQL SERVER 2008R2,最近经常出现无法新增信息的错误。查看日志后发现严重错误提示:未能为数据库'***'中的对象'***'分配空间,原因是文件组'PRIMARY'已满。

针对此问题,可按以下步骤排查与解决:

一、问题排查

1.检查磁盘剩余空间

-检查磁盘剩余空间是否足够。如果没有磁盘剩余空间,则需要清理磁盘,腾出空间。

2.检查磁盘分区格式

-如果是FAT16格式,数据文件最大只能是2G;如果是FAT32格式,数据文件最大只能是4G。改为NTFS分区则没有这种限制。

3.检查数据库文件大小限制

-通过企业管理器,右键数据库,选择“属性”,再查看“文件增长限制”。如果有限制大小,取消限制。

4.检查SQL版本

-如果使用MSDE,则限制了数据文件最大是2G。

5.检查TEMPDB空间占用情况

-该临时数据库应该经常清理。

二、问题解决

1.调整数据库文件及日志的最大文件大小

-打开企业管理器,右键报错的数据库,选择“属性”,发现常规标签页的可用空间显示只有1.03M,原来是之前做过限制。一种解决方案是设置该数据库文件以及日志的“最大文件大小”为文件增长不受限制。同时,要经常清理数据库日志和备份数据库文件。

2.为primary组添加新的数据文件

-可以使用语句“alter database库名add file(NAME =逻辑文件名,FILENAME = c:实际文件名.ndf)”为primary组添加新的数据文件来解决问题。

3.压缩日志及数据库文件的方法

-清空日志:使用“DUMP TRANSACTION库名WITH NO_LOG”。

-截断事务日志:使用“BACKUP LOG数据库名WITH NO_LOG”。

-收缩数据库文件

-通过企业管理器操作:右键要压缩的数据库,选择“所有任务”-“收缩数据库”-“收缩文件”,选择日志文件或数据文件,在收缩方式里选择收缩至XXM(这里会给出一个允许收缩到的最小M数,直接输入这个数,确定即可)。

-也可以使用SQL语句来完成:收缩数据库使用“DBCC SHRINK DATABASE(客户资料)”;收缩指定数据文件(1是文件号,可通过“select * from sysfiles”查询到)使用“DBCC SHRINKFILE(1)”。

-最大化缩小日志文件(此方法有风险)

-分离数据库:企业管理器-服务器-数据库-右键-分离数据库。

-在我的电脑中删除LOG文件。

-附加数据库:SSMS控制台-服务器-数据库-右键-附加数据库。此方法将生成新的LOG,大小只有500多K。也可以使用代码,如分离pubs:“EXEC sp_detach_db @dbname = pubs”,删除日志文件后再附加:“EXEC sp_attach_single_file_db @dbname = pubs,@physname = c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf”。不过此步骤不安全,有可能损坏数据库或丢失数据,一般不建议使用。

4.设置自动收缩

-通过企业管理器操作:企业管理器-服务器-右键数据库-属性-选项-选择“自动收缩”;也可以使用SQL语句设置:“EXEC sp_dboption数据库名, autoshrink, TRUE”。

5.限制日志增长

-通过企业管理器操作:企业管理器-服务器-右键数据库-属性-事务日志,将文件增长限制为xM(x是允许的最大数据文件大小);也可以使用SQL语句设置:“alter database 数据库名modify file(name =逻辑文件名,maxsize = 20)”。不过如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复,一般不建议这样设置。

6.一种更简单的解决方法

-右键数据库属性窗口-故障还原模型-设为简单。

-右键数据库所有任务-收缩数据库。

-右键数据库属性窗口-故障还原模型-设为大容量日志记录。

请注意:请按步骤进行操作,未进行前面的步骤,请不要做后面的步骤,否则可能损坏数据库。


该文章在 2024/12/19 17:38:04 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved