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