Exception from HRESULT: 0x80004004 (E_ABORT) 的错误
1. 这是什么错误?
这是window的错误, 如果使用C, C#编程或是使用微软的相关产品的时候有可能会出现此类错误。比如使用SQL Server, SharePoint.
2. 什么是 HRESULT?
HRESULT 是一种简单的数据类型,通常被属性和 ATL 用作返回值。下表说明各种不同的值。头文件 winerror.h 中包含更多的值。
在Visual studio 总就有WinError.h的文件(位于路径VC\PlatformSDK\Include)
名称 说明 值
S_OK 操作成功 0x00000000
E_UNEXPECTED 意外的失败 0x8000FFFF
E_NOTIMPL 未实现 0x80004001
E_OUTOFMEMORY 未能分配所需的内存 0x8007000E
E_INVALIDARG 一个或多个参数无效 0x80070057
E_NOINTERFACE 不支持此接口 0x80004002
E_POINTER 无效指针 0x80004003
E_HANDLE 无效句柄 0x80070006
E_ABORT 操作已中止 0x80004004
E_FAIL 未指定的失败 0x80004005
E_ACCESSDENIED 一般的访问被拒绝错误 0x80070005
3. 出现错误的状况和解决方法
状况一:SQL Server出现此错误, 原因是权限不够
将相关的执行user加入到db 的permissions中,如有必要加到系统的Admin group 中
状况二: SQL Server的事务日志已满, 通过截断事务日志的方式解决
Open SQL Server Management Studio and locate the site content db.
Select the db and right click to open the backup task.
Select the Transaction Log to backup, go to options and select the radio button 'Truncate Log'.
Start the backup.
Done.Transaction Log is truncated.