积极答复者
sql2008r2 报存储空间已满

问题
-
2015-01-13 05:31:09.48 spid111 Could not allocate space for object 'dbo.Eval_CDMA_Ev_1x_201501' in database 'AnalyzeDB' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.
2015-01-13 05:31:09.53 spid78 错误: 1105,严重性: 17,状态: 2。数据库相关信息
1、数据文件增长方式,自动增长,文件大小不受限制。
name physical_name name is_percent_growth growth
PRIMARY D:\SQLDB\AnalyzeDB\AnalyzeDB.mdf AnalyzeDB 0 262144
PRIMARY D:\SQLDB\AnalyzeDB\AnalyzeDB_2.ndf AnalyzeDB_2 0 262144
PRIMARY D:\SQLDB\AnalyzeDB\AnalyzeDB_3.ndf AnalyzeDB_3 0 262144
PRIMARY D:\SQLDB\AnalyzeDB\AnalyzeDB_4.ndf AnalyzeDB_4 0 262144
PRIMARY D:\SQLDB\AnalyzeDB\AnalyzeDB_5.ndf AnalyzeDB_5 0 2621442、数据库存储情况
filegroupname FileName PhysicalName TotalSizeinMB AvailableSpaceInMB ActualSpaceUsedInMB %SpaceUsed
PRIMARY AnalyzeDB D:\SQLDB\AnalyzeDB\AnalyzeDB.mdf 72387 0.000000 72387.000000 100.00000000000000000
NULL AnalyzeDB_log D:\SQLDB\AnalyzeDB\AnalyzeDB_log.ldf 1001 986.507813 14.492187 1.44777092907092900
PRIMARY AnalyzeDB_2 D:\SQLDB\AnalyzeDB\AnalyzeDB_2.ndf 173945 0.000000 173945.000000 100.00000000000000000
PRIMARY AnalyzeDB_3 D:\SQLDB\AnalyzeDB\AnalyzeDB_3.ndf 291843 0.000000 291843.000000 100.00000000000000000
PRIMARY AnalyzeDB_4 D:\SQLDB\AnalyzeDB\AnalyzeDB_4.ndf 124931 0.000000 124931.000000 100.00000000000000000
PRIMARY AnalyzeDB_5 D:\SQLDB\AnalyzeDB\AnalyzeDB_5.ndf 65539 0.000000 65539.000000 100.000000000000000003、D盘格式NTFS,剩余空间大小 2.53TB;系统盘格式NTFS,剩余空间大小42G
4、数据库版本:Sql Server 2008 R2 版本:10.50.1600.1
5、操作系统:Windows Server 2008 R2 Enterprise
该错误频繁出现,通过压缩数据库等方法都不能解决该问题,唯一的办法是每次增加数据文件才可以。
请问是什么原因导致这种问题的?
答案
-
唯一的办法是每次增加数据文件才可以
------------------------ 如果是在同一个盘下增加文件,这说明磁盘空间没有问题
这个现象,可能是你设置了文件的最大大小吧? 你的查询中,并没有给出 max_size 的值, 如果这个值为0,则表示不允许增长,如果为-1,表示无限制,最大大小与磁盘空间有关,如果是具体值,则达到该值时无法再增长
另外一个,FAT32是有4GB文件限制的,不过你的是NTFS,所以没有这个问题
- 已标记为答案 Michelle GeModerator 2015年1月20日 10:09
-
http://support2.microsoft.com/default.aspx?scid=kb;EN-US;967351
存储空间已满本质原因应该是NTFS格式的磁盘,磁盘碎片达到一定数量级后,数据文件大小大于40~90G,SQL2008r2分配空间时报Operating system error 665(由于文件系统限制,因此请求的操作无法完成) encountered.这样,唯一办法就是增加数据文件解决该问题就可以解释得通:新增的数据文件小,SQL分配空间不受磁盘碎片和数据文件大小的限制,就能正常,等一段时间,数据文件大了,存储空间已满现象又重现了。
这个问题怎么彻底解决呢?
Take look at this link: https://support.microsoft.com/kb/2002606?wa=wsignin1.0, should install latest sql2k8r2 service pack.
- 已标记为答案 Michelle GeModerator 2015年1月20日 10:09
全部回复
-
唯一的办法是每次增加数据文件才可以
------------------------ 如果是在同一个盘下增加文件,这说明磁盘空间没有问题
这个现象,可能是你设置了文件的最大大小吧? 你的查询中,并没有给出 max_size 的值, 如果这个值为0,则表示不允许增长,如果为-1,表示无限制,最大大小与磁盘空间有关,如果是具体值,则达到该值时无法再增长
另外一个,FAT32是有4GB文件限制的,不过你的是NTFS,所以没有这个问题
- 已标记为答案 Michelle GeModerator 2015年1月20日 10:09
-
常规检查都是没问题(磁盘剩余空间,磁盘格式,数据库版本,数据增长方式)。
查看数据库日志如下:
2015-01-14 05:13:12.01 spid101 错误: 17053,严重性: 16,状态: 1。
2015-01-14 05:13:12.01 spid101 D:\SQLDB\AnalyzeDB\AnalyzeDB.mdf: Operating system error 665(由于文件系统限制,因此请求的操作无法完成) encountered.
2015-01-14 05:13:12.19 spid101 错误: 17053,严重性: 16,状态: 1。
2015-01-14 05:13:12.19 spid101 D:\SQLDB\AnalyzeDB\AnalyzeDB_5.ndf: Operating system error 665(由于文件系统限制,因此请求的操作无法完成) encountered.
2015-01-14 05:13:12.20 spid101 错误: 17053,严重性: 16,状态: 1。
2015-01-14 05:13:12.20 spid101 D:\SQLDB\AnalyzeDB\AnalyzeDB_4.ndf: Operating system error 665(由于文件系统限制,因此请求的操作无法完成) encountered.
2015-01-14 05:13:12.20 spid101 错误: 17053,严重性: 16,状态: 1。
2015-01-14 05:13:12.20 spid101 D:\SQLDB\AnalyzeDB\AnalyzeDB_3.ndf: Operating system error 665(由于文件系统限制,因此请求的操作无法完成) encountered.
2015-01-14 05:13:12.22 spid101 错误: 17053,严重性: 16,状态: 1。
2015-01-14 05:13:12.22 spid101 D:\SQLDB\AnalyzeDB\AnalyzeDB_2.ndf: Operating system error 665(由于文件系统限制,因此请求的操作无法完成) encountered.
2015-01-14 05:13:13.47 spid117 错误: 1105,严重性: 17,状态: 2。
2015-01-14 05:13:13.47 spid117 Could not allocate space for object 'dbo.GridNonCombined_20150102' in database 'AnalyzeDB' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.
2015-01-14 05:13:13.57 spid105 错误: 1105,严重性: 17,状态: 2。
2015-01-14 05:13:13.57 spid105 Could not allocate space for object 'dbo.Eval_CDMA_Reselect_Detail_201501' in database 'AnalyzeDB' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.
2015-01-14 05:13:13.77 spid115 错误: 1105,严重性: 17,状态: 2。
-
http://support2.microsoft.com/default.aspx?scid=kb;EN-US;967351
存储空间已满本质原因应该是NTFS格式的磁盘,磁盘碎片达到一定数量级后,数据文件大小大于40~90G,SQL2008r2分配空间时报Operating system error 665(由于文件系统限制,因此请求的操作无法完成) encountered.这样,唯一办法就是增加数据文件解决该问题就可以解释得通:新增的数据文件小,SQL分配空间不受磁盘碎片和数据文件大小的限制,就能正常,等一段时间,数据文件大了,存储空间已满现象又重现了。
这个问题怎么彻底解决呢?
-
http://support2.microsoft.com/default.aspx?scid=kb;EN-US;967351
存储空间已满本质原因应该是NTFS格式的磁盘,磁盘碎片达到一定数量级后,数据文件大小大于40~90G,SQL2008r2分配空间时报Operating system error 665(由于文件系统限制,因此请求的操作无法完成) encountered.这样,唯一办法就是增加数据文件解决该问题就可以解释得通:新增的数据文件小,SQL分配空间不受磁盘碎片和数据文件大小的限制,就能正常,等一段时间,数据文件大了,存储空间已满现象又重现了。
这个问题怎么彻底解决呢?
Take look at this link: https://support.microsoft.com/kb/2002606?wa=wsignin1.0, should install latest sql2k8r2 service pack.
- 已标记为答案 Michelle GeModerator 2015年1月20日 10:09