none
sql2008r2 报存储空间已满 RRS feed

  • 问题

  • 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 262144

    2、数据库存储情况

    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.00000000000000000

    3、D盘格式NTFS,剩余空间大小 2.53TB;系统盘格式NTFS,剩余空间大小42G

    4、数据库版本:Sql Server 2008 R2 版本:10.50.1600.1

    5、操作系统:Windows Server 2008 R2 Enterprise

    该错误频繁出现,通过压缩数据库等方法都不能解决该问题,唯一的办法是每次增加数据文件才可以。

    请问是什么原因导致这种问题的?

    2015年1月13日 8:05

答案

  • 唯一的办法是每次增加数据文件才可以

    ------------------------ 如果是在同一个盘下增加文件,这说明磁盘空间没有问题

    这个现象,可能是你设置了文件的最大大小吧? 你的查询中,并没有给出 max_size 的值, 如果这个值为0,则表示不允许增长,如果为-1,表示无限制,最大大小与磁盘空间有关,如果是具体值,则达到该值时无法再增长

    另外一个,FAT32是有4GB文件限制的,不过你的是NTFS,所以没有这个问题

    2015年1月14日 1:51
  •  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.

    2015年1月14日 4:22

全部回复

  • What's your sql2k8r2 edition? What's growth rate (can't tell from your post)? How do you insert data to the table? Keep in mind that it may take some time to expend file with high growth rate, app may report db full error if it can't wait.
    2015年1月13日 14:13
  • Hi,jackhong_DL

    请问你的自动增长值是怎么设置的,还有你的数据库所在的盘符的空间不够吗

    如果你的自动增长值设置为5G,而盘符空间只剩下4G,那么SQL Server就无法增长主文件组了


    Love SQL

    2015年1月14日 1:24
  • 唯一的办法是每次增加数据文件才可以

    ------------------------ 如果是在同一个盘下增加文件,这说明磁盘空间没有问题

    这个现象,可能是你设置了文件的最大大小吧? 你的查询中,并没有给出 max_size 的值, 如果这个值为0,则表示不允许增长,如果为-1,表示无限制,最大大小与磁盘空间有关,如果是具体值,则达到该值时无法再增长

    另外一个,FAT32是有4GB文件限制的,不过你的是NTFS,所以没有这个问题

    2015年1月14日 1:51
  • 常规检查都是没问题(磁盘剩余空间,磁盘格式,数据库版本,数据增长方式)。

    查看数据库日志如下:

    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。


    2015年1月14日 2:09
  •  http://support2.microsoft.com/default.aspx?scid=kb;EN-US;967351
    存储空间已满本质原因应该是NTFS格式的磁盘,磁盘碎片达到一定数量级后,数据文件大小大于40~90G,SQL2008r2分配空间时报Operating system error 665(由于文件系统限制,因此请求的操作无法完成) encountered.

    这样,唯一办法就是增加数据文件解决该问题就可以解释得通:新增的数据文件小,SQL分配空间不受磁盘碎片和数据文件大小的限制,就能正常,等一段时间,数据文件大了,存储空间已满现象又重现了。

    这个问题怎么彻底解决呢?

    2015年1月14日 2:16
  • 我现在的临时方案是,写一个服务,监测数据文件大小,超过我设定的文件大小,自动增加一个数据文件。
    2015年1月14日 2:54
  •  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.

    2015年1月14日 4:22