异常如下:
[17:19:53,289] System.Exception: AddFile()错误,
result=System.Data.Entity.Infrastructure.DbUpdateException:
更新条目时出错。有关详细信息,请参见内部异常。 --->
System.Data.UpdateException: 更新条目时出错。有关详细信息,
请参见内部异常。 ---> System.Data.SqlClient.SqlException:
无法为数据库 'EvaluateDB' 中的对象 valuateV2.UpdateLogs'.'PK_UpdateLogs' 分配空间,因为 'PRIMARY' 文件组已满。请删除不需要的文件、删除文件组中的对象、将其他文件添加到文件组或为文件组中的现有文件启用自动增长,以便增加可用磁盘空间。
问题原因
可能是:
1.当前数据库所在的磁盘空间已满
2.文件组没有设置自动增长
3.没有设置自动增长
解决方案
对应数据库执行一下语句
use 数据库名称--你的数据库名称
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';
--物理文件所对应的逻辑名称,上面的语句就可以查询到
ALTER DATABASE wcf
MODIFY FILE ( NAME = 'WCF', FILEGROWTH = 10%)
执行结果如下:
磁盘空间已满
查看结果physical_name的盘目录为D盘,查看D盘空间是否满了即可。
满了的情况下,如果云服务器,在对应的云服务器上可以增加对应盘的内存空间。
文件组未设置自动增长
执行以下语句
ALTER DATABASE 数据库名称
MODIFY FILE ( NAME = '数据库名称, FILEGROWTH = 10%)
Name如果直接写数据库名称报错的话,可以尝试-主文件组的物理文件的路径,物理文件所对应的逻辑名称,上面的语句就可以查询到
没有设置自动增长
可以更改数据库设置方案
1、使用 MSSqlserver Management Studio 连接数据库
2、在需要更改的数据库上点击右键,选择属性
3、依次选择文件->Primary组的自动增长设置->最大文件大小设置为无限制
中文版本