用sql语句恢复数据库文件_sql数据库修复语句
用sql语句恢复数据库文件由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“sql数据库修复语句”。
用sql语句恢复数据库文件(*.dmf和*.ldf)
用sql语句恢复数据库文件(*.dmf和*.ldf)多用于,由于服务器操作系统崩溃或无法启动sql server 时常用的一种办法.方法1:
把备份的数据库数据文件(*.mdf)和日志文件(*.ldf)都拷贝到服务器的一个目录下,然后打开SQL Server Query(查询分析器)进行操作。
例如:D盘HisenseSysDate目录下存有: SysDB_data.mdf,和SysDB_log.ldf备份的文件。通过sql 语恢复
为SysDB的数据库名.(注:恢复为SysDB的数据库名在sql server 企管管理器下必须是唯一的,即没有SysDB数所库名才可以恢复为SysDB的数据库名)。
操作步骤:
1.打开sqlserver下面的queryAnalyzer(即查询分析器)
2.输入:
EXEC sp_attach_db @dbname = N'SysDB',@filename1 = N'D:dataSysDB_Data.MDF',@filename2 = N'D:dataSysDB _Log.LDF'
go
按”F5”执行。
3.以执行完成后,把第2步中的所有语句全部删除,然后输入如下语句:
USE SysDB
EXEC sp_updatestats
Go
按”F5”执行。
提示所有表已经恢复成功后,即可连接软件了.另附:只恢复数据文件(*.mdf)时,不恢复事务日志文件(*.ldf)的方法如下:
首先在企业管理器下,建立一个数据库名(如:SysDB)
然后,同样打开sql server 查询分析器,然后输入:
EXEC sp_attach_db @dbname = N'SysDB'
EXEC sp_attach_single_file_db @dbname = SysDB, @physname = 'd:DataSysDB_data.mdf'
go
按F5执行完后,再执行以下语句:
USE SysDB
EXEC sp_updatestats
Go
这个语句的作用是仅仅加载数据文件,日志文件可以由SQL Server数据库自动添加,但是原来的日志文件中记录的数据就丢失了。
注:SysDB是数据库名
文件名和路径一定要根据实际数据为文件(*.mdf)和事务日志文件(*.ldf)所在的目录要对应,否则路径输入的不对,则无法恢复。
方法2:
如果是由于操作系统或sql server不能启动,只有保留的数据为文件(如:SysDB_data.mdf)和事务日志文件(SysDB_log.ldf)时,需重新安装操作系统或重新安装sql server时,一定要与上一次安装的路径相同(如: d:Program FilesMicrosoft SQL ServerMSSQLDataSysDB.mdf')。
操作系统或sql server安装成功后,把sql server服务启动后,在查询分析器下面,建立与上次相同的数据库名(如:SysDB),数据库SysDB成功建立后,然后把sql server服务停止。
然后把保留的数据为文件(如:SysDB_data.mdf)和事务日志文件(SysDB_log.ldf)拷贝到,新建立的SysDB数据库所在的目录下进行覆盖(如: d:Program FilesMicrosoft SQL ServerMSSQLData..'))。最后,启动sql server服务后,SysDB数据库中即可恢复到原保留的数据了。