server
2005
数据库中,一次误 *** 作,分离数据库后,直接将日志文件删除掉了,后进行附加出错,无法附加上去,经过如下解决方案,数据库附加成功, *** 作如下:
第一步:先建立一个同名数据库,停止sql
server2005,将原来的.mdf数据库文件覆盖刚新建的.mdf数据库文件,重新启动数据库。
第三步:在查询分析器中运行如下代码:
alter
database
你的.mdf文件名
set
emergency
'--将数据库设置为紧急状态use
masterdeclare
@databasename
varchar(255)
set
@databasename='你的.mdf文件名'
'--你的.mdf文件文件名
exec
sp_dboption
@databasename,
n'single',
n'true'
--将目标数据库置为单用户状态
dbcc
checkdb(@databasename,repair_allow_data_loss)
dbcc
checkdb(@databasename,repair_rebuild)
exec
sp_dboption
@databasename,
n'single',
n'false'--将目标数据库置为多用户状态
1、把mdf文件和ldf文件拷贝到数据库的默认路径C:\ProgramFiles\Microsoft
SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\DATA里;
2、在sqlserver里新建个查询,执行下面代码;
1
USE
master
2
GO
3
CREATE
DATABASE
NewFile
4
ON
(FILENAME
=
'C:\Program
Files\Microsoft
SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\File.mdf'),
5
(FILENAME
=
'C:\Program
Files\Microsoft
SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\File_log.ldf')
6
FOR
ATTACH
7
GO
3、刷新数据库,就出现了新的数据库NewFile;
根据mdf文件和ldf文件还原成功,就这么简单。我用的是sqlserver2008
首先先和大家讲一讲SQLServer恢复master数据库方法,具体步骤如下
第一步:复制model.mdf、mastlog.ldf、model.mdf、modellog.ldf、msdbdata.mdf、msdblog.ldf文件。
从X:\Program
Files\Microsoft
SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\Templates
至X:\Program
Files\Microsoft
SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\DATA
注:以上“X:\Program
Files\Microsoft
SQL
Server”为SQL
Server的安装目录。以下的“C:\Program
Files\Microsoft
SQL
Server”为系统盘下的目录
第二步:定位并执行安装命令
1.
首先找到安装命令:C:\Program
Files\Microsoft
SQL
Server\100\Setup
Bootstrap\Release\setup.exe
2.
执行命令
如果只是Windows身份验证模式,只需要如下语法即可:
复制代码
代码如下:setup
/ACTION=REBUILDDATABASE
/QUIET
/INSTANCENAME=<instance
name>
/SQLSYSADMINACCOUNTS=<accounts>
如果是复合身份验证模式,则需要使用/SAPWD参数提供sa的密码:
复制代码
代码如下:setup
/ACTION=REBUILDDATABASE
/QUIET
/INSTANCENAME=<instance
name>
/SQLSYSADMINACCOUNTS=<accounts>
/SAPWD=<sa
password>
我安装时设置的是复合认证模式,SQL
Server系统管理员帐号是administrators组,sa密码是123456。并且就一个默认实例:MSSQLSERVER。
所以在命令行执行如下命令:
复制代码
代码如下:setup
/ACTION=REBUILDDATABASE
/QUIET
/INSTANCENAME=MSSQLSERVER
/SQLSYSADMINACCOUNTS=administrators
/SAPWD=123456
第三步:执行完毕后没有任何提示信息(不管成功与否),但是可以马上在C:\Program
Files\Microsoft
SQL
Server\100\Setup
Bootstrap\Log\Summary.txt中查看安装日志。
最后,在Sql
Server
Configuration
Manager中启动SQL
Server服务成功。
在处理过程中出现了这种情况SQL恢复数据库又该怎么办?只有mdf文件时,应当如何进行恢复,即有log文件的数据库如何恢复
SQL恢复数据库具体实现步骤:
1、新建一个同名数据库。
2、停止数据库服务,覆盖新建的数据库主文件(小技巧:最好放在同一个磁盘里面,把新建的数据库主文件删掉或移开,再把要恢复的数据库主文件剪切过去,这样就可以节省时间。)
3、启动数据库服务,数据库变为置疑或可疑状态。然后在查询分析器中运行:
alter
database
无日志文件的数据库名称
set
emergency
设置为紧急状态。
4、再运行:
alter
database
无日志文件的数据库名称
set
single_user
或者:
Sp_dboption
'无日志文件的数据库名称',
'single
user',
'true'
设置为单用户模式。
5、检查并重建日志文件,运行:
dbcc
checkdb('无日志文件的数据库名称',REPAIR_ALLOW_DATA_LOSS)
这个时间比较长。耐心等待!如果有错误提示,再运行:
dbcc
checkdb('无日志文件的数据库名称',REPAIR_REBUILD)
进行修复。如果没有错误,可以跳过。
6、恢复成多用户模式
alter
database
无日志文件的数据库名称
set
multi_user
或者:
Sp_dboption
'无日志文件的数据库名称',
'single
user',
'false'
刷新数据库,你就可以看到已经修复好的数据库了。
以上就是为大家分享的SQL恢复数据库方法,希望对大家恢复数据库有所帮助。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)