当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 恢复.mdf 数据库步骤

MSSQL
MS SQL SERVER2005 XML 最佳实践
SQL Server对文件进行全文检索的查询
教你构建SQL Server可管理安全机制
维护SQL Server的交易日志经验总结
SQL SERVER 2005 EXPRESS不能远程连接的问题
SQL Server与Oracle并行访问本质区别
SQL Server数据库优化其索引的小技巧
分析及解决SQLServer死锁问题
用SQL Server为Web浏览器提供图像
SQL Server SQL Agent服务使用小结
SQL Server 存储过程的分页方案比拼
SQL Server数据库中存储引擎深入探讨
四招解决SQL Server对上亿表的排序和join的问题
SQL Server数据库管理员必须掌握的DBCC命令
如何将sql数据库的文件备份到本地?
如何解决Sybase数据库乱码问题详解
SQL Server:SQLServer中最小函数依赖集
小编谈Transact-SQL中的一些命名规范
谈SQL编写规范
浅谈SQL命名与注释规范

MSSQL 中的 恢复.mdf 数据库步骤


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 116 ::
收藏到网摘: n/a

完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用数据库的脚本创建一个新的数据库,并将数据导进去就行了. 方法一(只有mdf没有日志文件的可以恢复) 证明有效
1.新建同名数据库。
2.把该数据库设置为脱机。
3.删除其日志文件(.LDF),不删除后边的过程执行通不过。
4.在在查询分析器中以超级用户登入,执行以下存储过程,必须以超级用户登入,这是系统级存存处过程。
EXEC sp_detach_db @dbname = 'xxx' //@dbnam 为要还原的数据库
EXEC sp_attach_single_file_db @dbname = 'xxx', @physname = 'yyyy' //@physname 为.mdf文件路径
5.把该数据库设置为联机。
6.刷新数据库,表出来了,数据完好
方法二(无日志文件或日志文件损坏)
  1.新建一个同名的数据库
  2.再停掉sql server(注意不要分离数据库)
  3.用原数据库的数据文件覆盖掉这个新建的数据库
  4.再重启sql server
5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)
复制代码 代码如下:

use master
go
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
go
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的数据库名''
go
sp_dboption '置疑的数据库名'', 'single user', 'true'
go
DBCC CHECKDB('置疑的数据库名'')
go
update sysdatabases set status =28 where name='置疑的数据库名''
go
sp_configure 'allow updates', 0 reconfigure with override
go
sp_dboption '置疑的数据库名'', 'single user', 'false'
go

6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用
数据库的脚本创建一个新的数据库,并将数据导进去就行了.