【解決方法】因爲 '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組的自動增長設置->最大文件大小設置爲無限制

具體可以參考以下操作截屏。

在這裏插入圖片描述
在這裏插入圖片描述
至此,該問題已解決。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章