因为文件组primary已满,未能为数据库XX对象XX分配空间 如何解决!急!急!急!

sofig 2010-12-30 04:31:20
如题,网上我找了一些解决方法,但还是不行,怎么办?
注:数据库是SQL2005,之前装在C盘,C盘是Fat32格式,D盘是NTFS格式,所以我将数据库文件移到D盘去了,而且空间是足够的

1.检查你的磁盘剩余空间是否足够,如果没有磁盘剩余空间,则清理磁盘,腾出空间 (足够空间)

2.检查你的磁盘分区格式 (已经是转到D盘去了,D盘式NTFS格式)
如果是FAT16,则数据文件最大只能是2G
如果是FAT32,则数据文件最大只能是4G
改为NTFS分区则没有这种限制

3.检查一下你有没有限制数据库文件的大小 (默认建的数据库好像就没有这个限制)
企业管理器--右键你的数据库--属性--文件增长限制--如果有限制大小,取消限制

4.检查你的SQL版本,如果你用MSDE,则限制了数据文件最大是2G (这个是什么东西不明白,我的是sql2005)

5.你也可以为 primary 组添加新的数据文件来解决这个问题 (这个不明白?难度是可以再添加一个数据文件?)
alter database 库名 add file(NAME=逻辑文件名,FILENAME='c:\实际文件名.ndf')

求解!!!!!!!!!!急!急!急!

...全文
1440 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
sofig 2010-12-30
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 billpu 的回复:]

顺便说下 你的目录名最好不要带空格 下划线可以用 但最好不要结尾
[/Quote]

好的,谢谢!!
billpu 2010-12-30
  • 打赏
  • 举报
回复
顺便说下 你的目录名最好不要带空格 下划线可以用 但最好不要结尾
billpu 2010-12-30
  • 打赏
  • 举报
回复
结果没问题的 已经确认在d盘上了 而且设定自增长了
renwenli07461 2010-12-30
  • 打赏
  • 举报
回复
C盘转NTFS格式的方法:
先备份所有重要的数据,然后选择"开始"菜单里的"运行",输入CMD后确认。在提示符下,输入CONVERT C : /FS :NTFS和回车。在这个过程中,最好不要中途异常中断,并确保系统中没有病毒。
sofig 2010-12-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 billpu 的回复:]

不清楚你的数据库究竟有多大,既然1 2 3你都排除了 就来看看4 5
4 sqlserver有版本区别的2005 但express的限制是4g不是2g,你查看一下你的数据库大小
5
用以下语句查看文件组所在文件的位置大小增长信息 看看究竟是c盘还是d盘,把结果贴上来可以如果
SQL code
SELECT df.[name], df.physical_name, df.[size],……
[/Quote]

哦,我的是EXPRESS的,我明白了,我先试试

这是运行的结果,请问合理吗?
Hi D:\Hi Database_\Hi.mdf 524288 128 PRIMARY 1
billpu 2010-12-30
  • 打赏
  • 举报
回复
刚刚想起来还有两个可能
1 windows启动了磁盘配额
2 ntfs分区压缩了
jiangjubo 2010-12-30
  • 打赏
  • 举报
回复
我是进来学习的!!
billpu 2010-12-30
  • 打赏
  • 举报
回复
不清楚你的数据库究竟有多大,既然1 2 3你都排除了 就来看看4 5
4 sqlserver有版本区别的2005 但express的限制是4g不是2g,你查看一下你的数据库大小
5
用以下语句查看文件组所在文件的位置大小增长信息 看看究竟是c盘还是d盘,把结果贴上来可以如果
SELECT df.[name], df.physical_name, df.[size], df.growth, f.[name]
[filegroup], f.is_default
FROM sys.database_files df
JOIN sys.filegroups f
ON df.data_space_id = f.data_space_id

dawugui 2010-12-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 sofig 的回复:]
引用 1 楼 dawugui 的回复:

你把数据库分离了,然后拷贝文件到NTFS的磁盘上,再附加数据库.


我已经做了,还是不行
[/Quote]
1.备份,还原.
2.新建一个库,把旧库的内容全部导入到新库中.估计这个管用.

注意新库在ntfs磁盘上.
sofig 2010-12-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dawugui 的回复:]

你把数据库分离了,然后拷贝文件到NTFS的磁盘上,再附加数据库.
[/Quote]

我已经做了,还是不行
sofig 2010-12-30
  • 打赏
  • 举报
回复
[Quote=引用楼主 sofig 的回复:]
如题,网上我找了一些解决方法,但还是不行,怎么办?
注:数据库是SQL2005,之前装在C盘,C盘是Fat32格式,D盘是NTFS格式,所以我将数据库文件移到D盘去了,而且空间是足够的

1.检查你的磁盘剩余空间是否足够,如果没有磁盘剩余空间,则清理磁盘,腾出空间 (足够空间)

2.检查你的磁盘分区格式 (已经是转到D盘去了,D盘式NTFS格式)
如果是FA……
[/Quote]

数据库是SQL2005,之前装在C盘,C盘是Fat32格式,D盘是NTFS格式,所以我将数据库文件移到D盘去了,而且空间是足够的
这个我已经做了,还是不行呀
dawugui 2010-12-30
  • 打赏
  • 举报
回复
你把数据库分离了,然后拷贝文件到NTFS的磁盘上,再附加数据库.

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧