zoukankan      html  css  js  c++  java
  • 【解决方法】因为 'PRIMARY' 文件组已满。请删除不需要的文件、删除文件组中的对象、将其他文件添加到文件组或为文件组中的现有文件启用自动增长,以便增加可用磁盘空间

    平台

    • sqlserver 2012

    问题描述

    正常运行的生产系统,今天下午突然发现不能使用的情况。看日志,发现以下描述:

    System.Data.Entity.Infrastructure.DbUpdateException: An error occurred while updating the entries. See the inner exception for details. —> System.Data.Entity.Core.UpdateException: An error occurred while updating the entries. See the inner exception for details. —> System.Data.SqlClient.SqlException: 无法为数据库 ‘bidagen2’ 中的对象 ‘dbo.OperationLog’.‘PK_dbo.OperationLog’ 分配空间,因为 ‘PRIMARY’ 文件组已满。请删除不需要的文件、删除文件组中的对象、将其他文件添加到文件组或为文件组中的现有文件启用自动增长,以便增加可用磁盘空间。

    定位问题,自增的主键,没有存储空间了。

    解决问题

    1、查看数据库数据文件存放路径

    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、查看存放路径的盘是否已满

    针对我的情况,C盘还有很多的空间,所以应该是数据库设置的问题。

    如果已经满了,那就需要清除一些文件了。

    3、更改数据库设置

    a、使用 MSSqlserver Management Studio 连接数据库

    b、在需要更改的数据库上点击右键,选择属性

    c、依次选择文件->Primary组的自动增长设置->最大文件大小设置为无限制

    具体可以参考以下操作截屏。

    在这里插入图片描述
    在这里插入图片描述
    至此,该问题已解决。

  • 相关阅读:
    react的50个面试题
    什么是宏队列跟微队列
    宏队列与微队列
    数组都有哪些方法
    vuex 跟 vue属性
    高阶组件
    如何创建视图簇(View cluster)-SE54/SM34
    ◆◆0如何从维护视图(Maintenace view)中取数据-[VIEW_GET_DATA]
    ◆◆0如何在SM30维护表时自动写入表字段的默认值-事件(EVENT)
    ◆◆0SAP Query 操作教程
  • 原文地址:https://www.cnblogs.com/coce/p/13657588.html
Copyright © 2011-2022 走看看