数据库可用空间为0,试了好好多办法,不行啊

yycxy 2008-07-17 10:58:14
昨天发现前台程序写数据出错,查了,发现数据库文件8G左右,数据库可用空间为0,我选了自动增长,和按M增长都不行,日志我清过,现1M,NTFS的格式,没问题啊,就是可用空间为0,哪位知道啊!谢谢
...全文
587 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
CathySun118 2008-07-21
  • 打赏
  • 举报
回复
估计是操作系统对文件大小作的限制吧
hery2002 2008-07-21
  • 打赏
  • 举报
回复
NTFS,8G不算大啊,
检查你的数据库文件大小限制,
检查文件属性是否只读,

尝试增加一个文件组或者文件试试,
尝试收缩或者压缩对应的数据文件,日志文件,
---------------
如果以上方式不行的话,
建议LZ先导出数据,
然后重新建立数据库,作为多文件组多文件方式存储.
在导入数据.
zhiguo2008 2008-07-21
  • 打赏
  • 举报
回复
是不是数据库中的数据文件大小设置了受限为XXM?
utpcb 2008-07-21
  • 打赏
  • 举报
回复
1.清空日志
DUMP TRANSACTION 库名 WITH NO_LOG

2.截断事务日志:
BACKUP LOG 库名 WITH NO_LOG

3.收缩数据库文件(如果不压缩,数据库的文件不会减小
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了

也可以用SQL语句来完成
--收缩数据库
DBCC SHRINKDATABASE(库名)

--收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles
DBCC SHRINKFILE(1)
Andy__Huang 2008-07-21
  • 打赏
  • 举报
回复
楼主是用sql server2000还是sql server2005?
这种最好不要限制数据库空间的大小,尽量把数据数据放在大硬盘上,

当数据库大到一定程序的时候,肯定要做数据清理,删除或转移历史数据,删除大表数据,否则数据查询会非常慢,有可能导致一些用户的页面打不开或动不了
查看大表使用空间:
create table #tb(表名 sysname,记录数 int
,保留空间 varchar(10),使用空间 varchar(10)
,索引使用空间 varchar(10),未用空间 varchar(10))

insert into #tb exec sp_MSForEachTable 'EXEC sp_spaceused ''?'''

select * from #tb
order by cast(left(使用空间,len(使用空间)-3) as numeric)
desc

go
drop table #tb

数据整理完后,选择一个数据库比较休闲时间(如晚上),做一下数据库收缩.
use master
DBCC SHRINKDATABASE (数据库名)


wudileiyu 2008-07-17
  • 打赏
  • 举报
回复
安装一个Toad,把表空间加大?
tianhuo_soft 2008-07-17
  • 打赏
  • 举报
回复
磁盘空间 是否够
Garnett_KG 2008-07-17
  • 打赏
  • 举报
回复
是不是限制了数据库的大小哦
yycxy 2008-07-17
  • 打赏
  • 举报
回复
磁盘空间足够
yycxy 2008-07-17
  • 打赏
  • 举报
回复
磁盘空间足够啊
viptiger 2008-07-17
  • 打赏
  • 举报
回复
磁盘空间没有了吧
bwu851 2008-07-17
  • 打赏
  • 举报
回复
你能增加一个filegroup吗?

34,576

社区成员

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

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