如何修复SQLSERVER 数据库"置疑"之(二)
2008-05-01 03:13
309 查看
如果 SQL Server 因为磁盘可用空间不足,而不能完成数据库的恢复,那么 SQL Server 2000 会返回错误 1105 并且将 sysdatabases 中的 status 列设为置疑。你可以看到在SQLSERVER 的ERROR LOG 和OS的应用程序日志中应该有1105的错误信息:SQL Server事务日志可能会被填满,这会阻止之后的数据库操作,包括UPDATE, DELETE, INSERT 和CHECKPOINT。
事务日志填满会导致1105错误:
Can't allocate space for object syslogs in database dbname because
the logsegment is full。 If you ran out of space in syslogs, dump
the transaction log。 Otherwise use ALTER DATABASE or
sp_extendsegment to increase the size of the segment。
这种现象可能出现于任何一个数据库中,包括Master和TempDB。一些难以预见的因素可能消耗日志空间。 例如:
一个大型事务, 尤其像批量数据更新、插入或删除。
一个未提交的事务。
检查点处理程序截除时所需的带宽过大。
截除时超过阈值
上述各种条件互相作用的结果。
用于发布的标记事务没有被日志读取程序读走
下面是修复的步骤和收缩日志的步骤: 1.在命令提示符下运行以下命令启动 SQL Server: SQLSERVER -f -m 备注:-m 开关以单用户模式启动 SQL Server。在单用户模式下,只能成功建立一个连接。 请注意是否有任何其他客户机或服务可能会在您通过 SQL Server 查询分析器 建立连接前使用那个连接。 2. 重置置疑数据库的状态。 sp_resetstatus 'database_name'下面是结果集:
事务日志填满会导致1105错误:
Can't allocate space for object syslogs in database dbname because
the logsegment is full。 If you ran out of space in syslogs, dump
the transaction log。 Otherwise use ALTER DATABASE or
sp_extendsegment to increase the size of the segment。
这种现象可能出现于任何一个数据库中,包括Master和TempDB。一些难以预见的因素可能消耗日志空间。 例如:
一个大型事务, 尤其像批量数据更新、插入或删除。
一个未提交的事务。
检查点处理程序截除时所需的带宽过大。
截除时超过阈值
上述各种条件互相作用的结果。
用于发布的标记事务没有被日志读取程序读走
下面是修复的步骤和收缩日志的步骤: 1.在命令提示符下运行以下命令启动 SQL Server: SQLSERVER -f -m 备注:-m 开关以单用户模式启动 SQL Server。在单用户模式下,只能成功建立一个连接。 请注意是否有任何其他客户机或服务可能会在您通过 SQL Server 查询分析器 建立连接前使用那个连接。 2. 重置置疑数据库的状态。 sp_resetstatus 'database_name'下面是结果集:
相关文章推荐
- 如何修复sql 2000数据库状态"置疑"? leimin(原作)
- 如何修复SQLSERVER"置疑"之(二)
- 如何修复SQLSERVER数据库"置疑"问题
- 如何修复sql 2000数据库状态"置疑"? leimin(原作)
- [SQL Server] 如何查询windows认证的用户连接数据库时的"权限/对应的登陆账号"(该账号是一个windows组)
- sqlserver 必须声明标量变量 "@id" 什么原因,如何解决 存储过程 带参数
- sqlserver 附加数据库失败,操作系统错误 5:"5(拒绝访问。)"的解决办法
- 解决方案: sqlserver 2008登陆时, 出现服务器主体 "xxxcom" 无法在当前安全上下文下访问数据库 "db_xxx_com"。
- (注意)如何判断数据库字段 不为空 不为null 不为" "
- [SqlServer]如何向数据库插入带有单引号(')的字符串
- 如何修复SQLSERVER置疑之
- Sqlserver 因断电,数据库 "DatabaseName" 被标记为 [Suspect]
- 【asp+数据库】如何把字符"1+2" 让它等于3?
- 【asp+数据库】如何把字符"1+2" 让它等于3?以及解决办法
- 数据库置疑修复语句
- 服务器数据库下面显示"无项目"
- 如何改变<input type=”text" >输入框内的值
- sqlserver中修复数据库
- sql2005还原备份后,选择“数据库关系图”提示:此数据库没有有效所有者,因此无法安装数据库关系图支持对象"的解决方法
- 工作问题积累(十一)如何解决"应用程序无法启动,因为应用程序的并行配置不正确"问题