因为 'PRIMARY' 文件组已满。请删除不需要的文件、删除文件组中的对象、将其他文件添加到文件组或为文件组中的现有文件启用自动增长,以便增加可用磁盘空间

导致你的问题的,应该有2种可能性:

1、存放你的primary文件组的磁盘,已经满了:

use master--你的数据库名称
go

--看看你的primary组里的文件

select ds.name,
       df.physical_name,  --主文件组的物理文件的路径
                          --打开我的电脑,查看文件所在盘,是否磁盘已满
                          
       df.is_percent_growth, --是否自动增长
       df.growth             --增长多少
from sys.data_spaces ds
inner join sys.database_files df
        on ds.data_space_id = df.data_space_id
where ds.name = 'primary'

2、如果盘没有满,那么可能是你的文件组没有设置自动增长,也就是上面的is_percent_growth为0,那么需要设置:

use master--你的数据库名称
go

--看看你的primary组里的文件

select ds.name,
       df.physical_name,  --主文件组的物理文件的路径
                          --打开我的电脑,查看文件所在盘,是否磁盘已满
                          
       df.name  ,         --物理文件所对应的逻辑名称  
                     
       df.is_percent_growth, --是否自动增长
       df.growth             --增长多少
from sys.data_spaces ds
inner join sys.database_files df
        on ds.data_space_id = df.data_space_id
where ds.name = 'primary'


--物理文件所对应的逻辑名称,上面的语句就可以查询到
ALTER DATABASE 数据库名称 
MODIFY FILE ( NAME = N'物理文件所对应的逻辑名称', FILEGROWTH = 10%)
use master

dbcc shrinkdatabase(tempdb,40)

 

posted @ 2015-02-14 10:59  史红星-shihongxing  阅读(6753)  评论(0编辑  收藏  举报