none
SQL2005通过ssms收缩文件时提示 'value' 应介于'minimum'和‘maximum'之间 RRS feed

  • 问题

  • 我通过ssms点击收缩文件时,不是正常的出现收缩界面,而是弹出错误'4044578'的值对于'value'无效, ' value' 应介于'minimum'和‘maximum'之间,这是怎么回事呢

    我查了下File size(data)的最大值应该是16 terabytes啊,我这才4TB啊,

    请教高手是不是ssms在显示时做了什么数值转换?

    我的系统是2003sp2 64bit + SQLServer2005 sp2

     

     

     
    2011年5月9日 2:10

答案

  • 你好 ww1982,

     

    根据你的描述,用T-SQL语句来shrink files的时候是没有问题的,那么这个问题可能是SQL Server Management Studio这个工具本身的问题。

     

    我建议你先更新下你的SSMS到更高的补丁(SP4)或者重装下看看能不能解决这个问题,因为当我们打开Shrink file这个对话框的时候,SSMS可能会去调用一些DLL文件,如果这些文件出错了,那就有可能会引起这个问题。

     

    如果安装补丁或重装SSMS之后还是有这个问题,我建议你到Microsoft Connect上面提交一个feedback

     

    另外,对于这么大型的数据库,如果是要做SHRINK操作的话,最好还是用T-SQL语句来做。

     

    Thanks,
    Weilin Qiao


    Please remember to mark the replies as answers if they help and unmark them if they provide no help. This can be beneficial to other community members reading the thread.
    2011年5月16日 6:49
    版主

全部回复

  • 你可以参考一下这个:

    http://www.path8.net/tn/archives/1880

    2011年5月9日 2:32
    版主
  • Which shrink option did you choose? WHat's target file size? Tried shrink with 'dbcc shrinkfile'?
    2011年5月9日 3:00
  • 看看还有多少空间可以收缩
    SELECT name ,size/128.0 TotalSpaceInMB,size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0 AS AvailableSpaceInMB,filename FROM sysfiles;

    第一个栏位name表示逻辑名,第二个栏位是文件总大小,第三个栏位是文件总大小中未用空间大小(这个就是最大可收缩的量), 第四个栏位是物理文件名和位置

     

    假设mdf文件的逻辑名是BSCR_Data,总大小为6GB,未用空间是3.5GB,您可以用以下SQL收缩

    DBCC SHRINKFILE (BSCR_Data, 3000); --3000表示收缩到3GB(已用空间6-3.5=2.5GB,再稍保留些空间)
    2011年5月9日 3:28
  • 当然用DBCC是可以的,可能是我没说清楚

    我的问题是在点击SSMS----Tasks----Shrink----files时直接报错,还没出现设置target file size的界面,而且只有这个4TB的库才会这样,是不是SSMS的Bug?

    或者在SSMS中的datafile的'minimum'和‘maximum'不同于正常的File size(data).

    在这个实例的其它数据库都正常,其它数据库都比较小。

    2011年5月9日 5:20
  • 是不是你的日志文件大于2TB了?

    请参考“SQL Server 的最大容量规范”

    http://msdn.microsoft.com/zh-cn/library/ms143432.aspx

    2011年5月9日 8:57
  • 当然用DBCC是可以的,可能是我没说清楚

    我的问题是在点击SSMS----Tasks----Shrink----files时直接报错,还没出现设置target file size的界面,而且只有这个4TB的库才会这样,是不是SSMS的Bug?

    或者在SSMS中的datafile的'minimum'和‘maximum'不同于正常的File size(data).

    在这个实例的其它数据库都正常,其它数据库都比较小。

    Run 'sp_spaceused @updateusage = true' in the db then try shrink in ssms again.
    2011年5月9日 13:40
  • 你好 ww1982,

     

    根据你的描述,用T-SQL语句来shrink files的时候是没有问题的,那么这个问题可能是SQL Server Management Studio这个工具本身的问题。

     

    我建议你先更新下你的SSMS到更高的补丁(SP4)或者重装下看看能不能解决这个问题,因为当我们打开Shrink file这个对话框的时候,SSMS可能会去调用一些DLL文件,如果这些文件出错了,那就有可能会引起这个问题。

     

    如果安装补丁或重装SSMS之后还是有这个问题,我建议你到Microsoft Connect上面提交一个feedback

     

    另外,对于这么大型的数据库,如果是要做SHRINK操作的话,最好还是用T-SQL语句来做。

     

    Thanks,
    Weilin Qiao


    Please remember to mark the replies as answers if they help and unmark them if they provide no help. This can be beneficial to other community members reading the thread.
    2011年5月16日 6:49
    版主