教程学院
图像设计 多媒体类 机械制图 办公软件 操作系统 系统编程 网站编程 网页制作 数据库类 网络路由 网络工程 网络安全 考试认证
firefox火狐浏览器下载
酷网学院
CAD
AutoCad Cam350 ProEngineer GCcam MATLAB Unigraphics SolidWorks CAXA Solid3000 Cimatron EdgeCAM
系统
安全 防火墙 病毒 WinXP Win2003 Vista
数据库
编程
网络
精彩图库
  当前位置: 库库中文网 · 数据库类教程 · MSSQL教程 · MsSql综合技巧

数据库恢复 MS2000

学院最新推荐文章
教程推荐
『数据库恢复 MS2000』如果文章有大量图片,显示会较慢,请等待图片下载完成
 
点击数: 更新时间:2008-9-28 
我拷贝了文件weighing_Data.MDF 和 weighing_Log.LDF , 大小均在5G左右,通过网上找的方式恢复数据库,到现在的结果是:
表中有主键的不能打开表, 没有主键的表可以打开数据,但是不能修改
不知道什么原因,windowsxp 原来的文件时从win2K中拷贝

操作步骤参考{http://blog.zxlm.cn/?action=show&id=12495}

0.备份数据文件'xxzx_discuz_Log.MDF'
1.新建一个同名的数据库'xxzx_discuz' 
2.再停掉sqlserver服务(注意不要分离数据库)
3.用原数据库的数据文件'xxzx_discuz_Log.MDF' 覆盖掉新建的数据库


4.再重启sqlserver服务
5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)
6.完成后一般就可以访问数据库中的数据了。这时,数据库本身一般还有问题,解决办法是:利用数据库的脚本创建一个新的数据库,然后通过DTS将数据导进去就行了.
SQL代码
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 


特别注意最后一步中的说明“这时,数据库本身一般还有问题,解决办法是:利用数据库的脚本创建一个新的数据库,然后通过DTS将数据导进去就行了”


这个问题第1个回答:

再跑一下

dbcc checkdb('数据库名')   

结果是什么?

这个问题第2个回答:
表中有主键的不能打开表, 没有主键的表可以打开数据,但是不能修改
这个问题第3个回答:
我拷贝了文件weighing_Data.MDF 和 weighing_Log.LDF

直接附加即可,不用那么麻烦.
这个问题第4个回答:
或是用sp_attach_db这个命令附加.

sp_attach_db
将数据库附加到服务器。

语法
sp_attach_db [ @dbname = ] 'dbname'
    , [ @filename1 = ] 'filename_n' [ ,...16 ]

参数
[@dbname =] 'dbname'

要附加到服务器的数据库的名称。该名称必须是唯一的。dbname 的数据类型为 sysname,默认值为 NULL。

[@filename1 =] 'filename_n'

数据库文件的物理名称,包括路径。filename_n 的数据类型为 nvarchar(260),默认值为 NULL。最多可以指定 16 个文件名。参数名称以 @filename1 开始,递增到 @filename16。文件名列表至少必须包括主文件,主文件包含指向数据库中其它文件的系统表。该列表还必须包括数据库分离后所有被移动的文件。

返回代码值
0(成功)或 1(失败)

结果集


注释
只应对以前使用显式 sp_detach_db 操作从数据库服务器分离的数据库执行 sp_attach_db。如果必须指定多于 16 个文件,请使用带有 FOR ATTACH 子句的 CREATE DATABASE。

如果将数据库附加到的服务器不是该数据库从中分离的服务器,并且启用了分离的数据库以进行复制,则应该运行 sp_removedbreplication 从数据库删除复制。

权限
只有 sysadmin 和 dbcreator 固定服务器角色的成员才能执行本过程。

示例
下面的示例将 pubs 中的两个文件附加到当前服务器。

EXEC sp_attach_db @dbname = N'pubs',
  @filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf',
  @filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'


这个问题第5个回答:
有正常的MDF  LDF文件,你可以直接通过附加数据库来完成数据库还原

这个问题第6个回答:
有原文件就很简单了。除了附加之外,还有更简单的方法:
在数据库里建立一个名为weighing的数据库,然后先停止一下服务,然后使用你的文件覆盖新建的数据库文件就可以了。
不用哪么麻烦
这个问题第7个回答:
dbcc checkdb('数据库名')
-------------
提示 数据库'weighing' 在 sysobjects,sysindexes,syscolumns或systypes中存在一致性错误,妨碍了进一步的 chechdb 处理。dbcc处理完毕,如果dbcc输出了错误信息,请与系统管理员联系。


直接附加即可,不用那么麻烦.
-----------
提示数据库文名和路径错误,不能附加


谢谢各位参与,我再尝试。。。
这个问题第8个回答:
引用 7 楼 haiqian119 的回复:
dbcc checkdb('数据库名')
-------------
提示 数据库'weighing' 在 sysobjects,sysindexes,syscolumns或systypes中存在一致性错误,妨碍了进一步的 chechdb 处理。dbcc处理完毕,如果dbcc输出了错误信息,请与系统管理员联系。


直接附加即可,不用那么麻烦.
-----------
提示数据库文名和路径错误,不能附加


谢谢各位参与,我再尝试。。。

附加时自己更改为你现在文件存放的路径.一般在:
C:\Program Files\Microsoft SQL Server\MSSQL\Data
这个问题第9个回答:
理论上直接附加就可以
这个问题第10个回答:
我数据库程序文件安装 C:\Program Files
数据文件安装 E:\Program Files

现在把weighing_Data.MDF 和 weighing_Log.LDF 两个文件复制到E:\Program Files\Microsoft SQL Server\MSSQL\Data

使用dawugui 推荐SQL:
EXEC sp_attach_db @dbname = N'weighing',
  @filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\weighing_data.mdf',
  @filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\weighing_log.ldf'

运行结果
不能使文件与不同的数据库相关
这个问题第11个回答:
你这两个东东这么复杂?
这个问题第12个回答:
有没有试我的方法呢?
这个问题第13个回答:
TO HEROWANG
不行

To dawugui
是不是文件过大的原因?
这个问题第14个回答:
我的数据库不打 ,我就复制  覆盖就好了。
这个问题第15个回答:
我用小文件测试过HEROWANG 的方法,直接覆盖也是好的.
这个问题第16个回答:
楼主可以参考以下方法,我用过

[1] [2] 下一页  

作者:haiqian1… 来源:C.S.D.N
】【关闭窗口
·上页:
·下页:
相关文章
     数据库类教程 - MsSql综合技巧
普通教程【脑袋快想爆炸了- -!】 怎么样
普通教程关于级联删除地疑难,新手提问,
普通教程怎么样动态控制列数?
普通教程数据库恢复 MS2000
普通教程当数据库中varchar字段值为null
普通教程create function 怎么才无法要返
普通教程各位帮我看看是啥疑难啊, SQL运
普通教程SQL server 2005 安装疑难 SP2更
普通教程sql update
普通教程update触发器地疑难
普通教程字符串地查询疑难
普通教程安全性--登陆--想建一个用户tes
精彩图片汇集
advertisement
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 合作伙伴 - 程序支持 - 网站地图 - 返回顶部
网站文本地图
版权所有:库库中文 2005-2007 欢迎各种媒体转载我们的原创作品[转载请注明出处]
copyright © 2005-2008 www.QQGB.com online services. all rights reserved. 蜀ICP备05015578
Template designed by Virus. Optimized for 1024x768 to Firefox,Opera and MS-IE6. Site powered by EQL.
红盾
热爱电脑,热爱生活
拥有电脑,拥有生命
让我们享受拥有电脑的时光