sqlserver2005 ldf丢失,想重建,网络上的办法都无效

发布于 2022-09-04 03:32:34 字数 1196 浏览 17 评论 0

问题情况:ldf文件丢失,只有mdf文件
尝试办法:
1、新建数据库
2、停止服务
3、覆盖同名文件
4、启动服务后执行alter database mydb set emergency使数据库成紧急状态
5、

sp_configure  'allow',1  
go
reconfigure  with  override  
go
update  sysdatabases  set  status=32768  where  name='mydb'  
go
dbcc  rebuild_log('gg','c:\mydb.ldf')  
go
update  sysdatabases  set  status=0  where  name='mydb'  
go
sp_configure   'allow',0    
go
reconfigure  with  override  
go
dbcc  checkdb('mydb')

报错

消息 15124,级别 16,状态 1,过程 sp_configure,第 58 行
配置选项 'allow' 不是唯一的。
 
消息 208,级别 16,状态 1,第 1 行
对象名  'sysdatabases' 无效。
消息 2526,级别 16,状态 3,第 1 行
DBCC 语句错误。请查阅文档以了解正确的 DBCC 语法和选项。
消息 208,级别 16,状态 1,第 1 行
对象名  'sysdatabases' 无效。
消息 15124,级别 16,状态 1,过程 sp_configure,第 58 行
配置选项 'allow' 不是唯一的。

还有一个问题是
不允许对系统目录进行即席更新。,经查文档时2005以上版本不能直接更改系统表导致。对于以上数据库,请问恢复有何种手段?

sp_attach_single_file_db提示数据库未正常关闭,也不行

执行下面语句
alter database [gps-2011] set single_user
dbcc checkdb ([gps-2011],REPAIR_REBUILD)
dbcc checkdb([gps-2011],REPAIR_ALLOW_DATA_LOSS)
alter database [gps-2011] set multi_user
结果为
无法在数据库 'gps-2011' 中运行 BEGIN TRANSACTION,因为该数据库处于回避恢复模式。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

北陌 2022-09-11 03:32:34

试过sp_attach_single_file_db吗

sp_attach_single_file_db @dbname='dbname',@physname='C:Databasedbname.MDF'

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文