附加数据库失败,sql2008,断电数据库日志受损
2016-04-22 09:34
387 查看
附加数据库失败,提示:
无法在数据库 'DBNAME' (数据库 ID 为 7)的页 (1:210288) 上重做事务 ID (0:0) 的日志记录
或者
在重做数据库 'DBNAME' 的日志中记录的操作时,日志记录 ID (1752535:20699:5) 出错
或者
找不到日志文件
或者
日志文件不匹配
首先:停止数据库服务,把有问题的数据库拷贝一份
第一步:先建立一个同名数据库,数据库文件和日志的名称设置成跟原数据库文件一致
停止SQL SERVER2008,将原来的.mdf数据库文件覆盖刚新建的.mdf数据库文件,重新启动数据库
第二步:查询分析器执行,
SQL code
alter database NEWDBNAME set emergency
declare @databasename varchar(255)
set @databasename='NEWDBNAME'
exec sp_dboption @databasename, N'single', N'true'
dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS) --将目标数据库置为单用户状态
dbcc checkdb(@databasename,REPAIR_REBUILD)
exec sp_dboption @databasename, N'single', N'false'
第三步:以上代码请同时运行,可能会出现“数据库其他多个文件与数据库主文件不匹配....”错误,请多次重试执行以上代码
断电 数据库状态 变为可疑,停掉数据服务后,复制一份数据。然后启动服务,直接在查询分析器执行以上代码,一般能够恢复正常
无法在数据库 'DBNAME' (数据库 ID 为 7)的页 (1:210288) 上重做事务 ID (0:0) 的日志记录
或者
在重做数据库 'DBNAME' 的日志中记录的操作时,日志记录 ID (1752535:20699:5) 出错
或者
找不到日志文件
或者
日志文件不匹配
首先:停止数据库服务,把有问题的数据库拷贝一份
第一步:先建立一个同名数据库,数据库文件和日志的名称设置成跟原数据库文件一致
停止SQL SERVER2008,将原来的.mdf数据库文件覆盖刚新建的.mdf数据库文件,重新启动数据库
第二步:查询分析器执行,
SQL code
alter database NEWDBNAME set emergency
declare @databasename varchar(255)
set @databasename='NEWDBNAME'
exec sp_dboption @databasename, N'single', N'true'
dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS) --将目标数据库置为单用户状态
dbcc checkdb(@databasename,REPAIR_REBUILD)
exec sp_dboption @databasename, N'single', N'false'
第三步:以上代码请同时运行,可能会出现“数据库其他多个文件与数据库主文件不匹配....”错误,请多次重试执行以上代码
断电 数据库状态 变为可疑,停掉数据服务后,复制一份数据。然后启动服务,直接在查询分析器执行以上代码,一般能够恢复正常
相关文章推荐
- ORACLE创建表空间和用户
- MySQL安装过程net start mysql 启动失败 报“错误2,系统找不到文件”的解决办法
- 青云 ubuntu下mysql远程连接配置
- plsql developer创建连接DBlinks
- ssh连接Linux导出oracle数据
- Oracle SQL日期比较和常用日期函数
- Oracle数据库存储过程使用中一些注意事项
- Mongodb aggregate group DBRef类型,并处理返回的DBRef数据Demo
- Redis监控技巧总结
- Oracle 修改表结构
- MySQL的limit优化
- ThinkPHP连接Oracle数据库
- Memcached真的过时了吗
- 获取Access数据库中的用户表名
- mysql性能优化
- 在SQL存储过程中给条件变量加上单引号
- mysql常见问题
- 用友U8按BOM计算销售订单物料需求SQL代码 第一稿
- 初级SQL 学习笔记(一)
- 关系型数据库工作原理-归并排序(翻译自Coding-Geek文章)