问题:当我们附加数据库时,报数据文件已损坏,又没有数据库备份文件的时候,怎么办呢?
关键数据库修复sql语句: DBCC CheckDB (yourdbname, REPAIR_ALLOW_DATA_LOSS)
解决步骤:
步骤1:新建一个同名数据库
步骤2:停止sql server服务,找到新建数据库的路径,把损坏的mdf,ldf文件拷贝替换刚刚新建的数据库文件
步骤3:启动sql server服务,在SSMS可以看到数据库被置为(可疑)
如何解决数据库可疑
引用博客地址:
https://blog.csdn.net/huwei2003/article/details/79553771
1、修改数据库为紧急模式
ALTER DATABASE yourdbname SET EMERGENCY
2、使数据库变为单用户模式
ALTER DATABASE yourdbname SET SINGLE_USER
3、修复数据库日志重新生成,此命令检查的分配,结构,逻辑完整性和所有数据库中的对象错误。当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC CHECKDB命令参数,该程序将检查和修复报告的错误。但是,这些修复可能会导致一些数据丢失。
DBCC CheckDB (yourdbname, REPAIR_ALLOW_DATA_LOSS)
4、使数据库变回为多用户模式
ALTER DATABASE yourdbname SET MULTI_USER
常见问题:执行DBCC CheckDB (yourdbname, REPAIR_ALLOW_DATA_LOSS),
ldf访问路径不存在,路径下的ldf文件无法访问
解决办法:1.如果没有该路径则创建路径,把损坏的ldf文件放到该路径上
2.如果没有权限访问,设置对应路径文件为everyone完全控制