【求帮助】sql2005数据库质疑,怎么解决??

sk_sakula 2012-10-22 02:03:29
服务器突然断电,导致数据库质疑,按照sql2000的方法,操作时提示 不允许对系统目录即席操作,故不能按照sql2000的操作方法进行恢复,2005上面的恢复大家有没有这方面的经验,可否分享一下!!
...全文
276 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
KevinLiu 2012-10-22
  • 打赏
  • 举报
回复
还有DBA_Huangzj提到的日志文件不能删除的问题我是严重同意的,因为日志中可能包含没有提交的事物,SQL Server需要用这个日志做REDO和UNDO,如果文件数据没有了可能启动数据库就会有问题。

而且这个时候是不能REBUILD LOG的,因为Rebuild log只能在数据库干净的关闭的情况下。
KevinLiu 2012-10-22
  • 打赏
  • 举报
回复
LOG文件大可能有很多种情况,你可以查一下sys.databases里边有一列log_reuse_wait_desc,根据不同的值做不同的优化
SELECT log_reuse_wait_desc FROMsys.databasesWHERE[name]='database';
http://blog.csdn.net/SmithLiu328/article/details/7960537

针对于你的这个问题,如果不想还原的话就按照DBA_Huangzj的做法,先将数据库更改为EMERGENCY,这样数据库变为可读,然后运行DBCC CHECKDB看看微软建议的做法是不是需要 REPAIR_ALLOW_DATA_LOSS。

当然在做这个操作之前你可以尽量多的将出问题的表数据导出来,在使用DBCC CHECKDB修复后对比一下数据,这样可以尽可能的减少数据损失,也尽可能保持数据库完整性。

發糞塗牆 2012-10-22
  • 打赏
  • 举报
回复
log文件大是非常正常的事情,数据都是先到日志再到mdf,很多人以为ldf不重要,可以随便删除重建,可以说他们对SQLServer一直停留在入门级别里面。DBCC CheckDB (Sharepoint_Config , REPAIR_ALLOW_DATA_LOSS)的确会丢失数据,一般是在万不得已的时候在用。
SQL77 2012-10-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
用这个命令应该会有数据丢失哦,还有一个问题哦,
还有一个问题哦,他的mdf只有2G多一点,但是log文件居然有将近30G,这个是什么问题?
[/Quote]
你应该数据恢复模式是完全。然后你一直不备份日志文件。就这样了。

backup log db with no_log
sk_sakula 2012-10-22
  • 打赏
  • 举报
回复
用这个命令应该会有数据丢失哦,还有一个问题哦,
还有一个问题哦,他的mdf只有2G多一点,但是log文件居然有将近30G,这个是什么问题?
SQL77 2012-10-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
可以按2K的操作。只要你sp_configure设计OK了
2K也要设计才能更新的。
[/Quote]
刚查了一下联机帮助。是变成视图了。按楼上的办法。用ALTER DATABASE 来修改状态也是可以的。
SQL77 2012-10-22
  • 打赏
  • 举报
回复
可以按2K的操作。只要你sp_configure设计OK了
2K也要设计才能更新的。
發糞塗牆 2012-10-22
  • 打赏
  • 举报
回复
2005以后那些所谓的系统表已经是一个视图,所以不能更新。
解决方法:
当数据库发生这种操作故障时,按如下操作步骤可解决此问题,打开数据库里的Sql 查询编辑器窗口,运行以下的命令。
1、修改数据库为紧急模式
1 ALTER DATABASE Sharepoint_Config SET EMERGENCY

2、使数据库变为单用户模式

1 ALTER DATABASE Sharepoint_Config SET SINGLE_USER

3、修复数据库日志重新生成,此命令检查的分配,结构,逻辑完整性和所有数据库中的对象错误。当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC CHECKDB命令参数,该程序将检查和修复报告的错误。但是,这些修复可能会导致一些数据丢失。

1 DBCC CheckDB (Sharepoint_Config , REPAIR_ALLOW_DATA_LOSS)

4、使数据库变回为多用户模式

1 ALTER DATABASE Sharepoint_Config SET MULTI_USER

5、开始->运行->输入cmd->打开DOS命令窗口,输入以下命令重启数据库服务
Net stop mssqlserver --停止服务
Net start mssqlserver --启动服务
再次,打开Sql Server 2005时被标记为“可疑”的数据库已恢复正常状态。

22,298

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧