【问】sql2005数据库中丢失ldf文件导致无法使用
其他
2020-10-26 09:12:11
阅读次数: 0
【问题描述】 sql2005数据库中丢失ldf文件导致无法使用,如何修复? |
【答】 |
下列回复已专卖9为例 步骤1: 创建一个新的数据库,命名为原来数据库的名字。
步骤2:
停止SQL Server:net stop mssqlserver
步骤3:
把老数据库的MDF文件替换新数据库的相应的MDF文件,并把LDF文件删除。
步骤4:
重新启动SQL Server服务,net start mssqlserver 然后运行如下命令:
use master go alter database isszmv9 set emergency go --置数据库为单用户模式 alter database isszmv9 set single_user with rollback immediate go --重建数据库日志文件,注意filename 为当前数据库mdf文件存放路径,如不同,请修改 alter database isszmv9 Rebuild Log on (name=isszmv9_log,filename='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\isszmv9_log.ldf') go --最后设置数据库为多用户模式。 alter database isszmv9 set multi_user 通过以上方法修复数据库后,可以dbcc checkdb一下数据库,如果发现页级错误,可以通过以下命令修复。 这两个命令要在单用户的情况下使用 go
--步骤5:修复索引 declare @tablename varchar(100) declare test_cur cursor for select object_name(id) from sysobjects where type ='U' open test_cur fetch test_cur into @tablename while @@fetch_status=0 begin DBCC DBREINDEX(@tablename) fetch test_cur into @tablename end close test_cur deallocate test_cur go |
转载自blog.csdn.net/szlixiaolong/article/details/109199649