【数据库SQL】SQL Server 200520082008R2修复步骤

注:请将 isszmv9替换成相应软件的数据库名。


此处以专卖9例说明:
方法一
1.停止SQL Server的服务,备份SQL Server安装目录下的\data子目录一个isszmv9_log.ldf(也有可能非此命名),


同时查看磁盘 
2.启动SQL Server服务(如已停止),创建一个新的数据库,命名为空间是否有足够的空间; 原来数据库的名字。


3.停止SQL Server


4.把老数据库的MDF文件(isszmv9_data.mdf)替换新数据库的相应的MDF文件,并把LDF文件(isszmv9_log.ldg)删除。


5.重新启动SQL Server服务,然后运行如下命令:
alter database isszmv9 set emergency --将数据库置为紧急模式
go
alter database isszmv9 set single_user with rollback immediate --设置为单用户模式
go


6.停止SQL然后重新启动SQL Server服务,然后运行如下命令(更换日志文件路径地址):
use master
go
alter database isszmv9 Rebuild Log on
(name=isszmv9_log,filename='d:\Program Files\Microsoft SQL Server\MSSQL\Data\isszmv9_log.ldf')--在这里,请输入你的数据库的路径
go
 
 


7.停止SQL然后重新启动SQL Server服务,然后运行:
--数据库检查
DBCC CHECKDB ('isszmv9')
Go


--如果返回结果出现了红色的提示文字,说明数据库中存在错误,需要修复


--数据库修复
dbcc checkdb('isszmv9', repair_allow_data_loss) --如果修复不成功,请多执行几次这个语句
go




--再次数据库检查,如果返回结果中没有了红色的提示文字,


说明修复成功;


DBCC CHECKDB ('isszmv9')


Go




--退出前请一定要执行以下语句返回到多用户模式


EXEC sp_dboption 'isszmv9', 'single user','FALSE'


go






------------------------
方法二


alter database <DatabaseName> set emergency


go


alter database <DatabaseName> set single_user with rollback immediate


go


use master


go


alter database <DatabaseName> Rebuild Log on


(name=<DatabaseName>_log,filename='c:\sql\logs\<DatabaseName>_log.LDF')


go


use <DatabaseName>


go


dbcc checkdb


go


--此时checkdb有错误才需要做步骤d)


 


d) 此时数据库应处于emergency状态,创建一个新数据库,通过bcp/bulk insert/DTS/SSIS方式将数据导出到新的数据库.


请注意,这种情况下索引,存储过程,视图等,都需要手工导出来。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值