[整理]如何恢复数据库的内容

恢复|数据|数据库

昨天帮一个朋友恢复了sql server 7.0 数据库。现在把过程写出来,大家一起分享:

我那个哥们是从别人那拷了一个数据库的数据文件 (c:\mssql7\data  目录下的文件)

最初我是用的:

在一台好的机器上重新安装SQL Server,建立相同的数据库设备(大小),和数据库
停掉SQL Server,用拷贝出来的数据库文件覆盖刚建立的数据库文件,再重新启动
SQL Server。但一直不可以。我猜关键是无法建立相同的数据库设备(大小)。

后来采用了

系统存储过程:
sp_attach_db  //  附加数据库文件到服务器


sp_attach_db_single_file  //  附加数据库的单个文件到服务器

 

具体的sql 语句就是:

例如:
EXEC sp_attach_single_file_db 'pubs', 'e:\data\pubs.mdf'

sp_attach_db @dbname="conmis2000",@filename1="d:\1\conmis2000_data.mdf",@filename2=" d:\1\conmis2000_log.ldf"

如何附加数据库文件到服务器(即:通过*.mdf   *ldf  文件修复数据库)

另外查找资料时看到也可以通过日志恢复以前的数据。不知那位哥们看看是不是可以

用日志恢复:
restore log {data_name|@database_name_var}
from 
with [norecovery\recovery tandby_undo_file_name]
[,][stopat={data_time|@data_time_var}

例如:库名为database1 日志为database1_log 要求恢复2000/6/15 1:00前的数据:
restroe log database1
from database_log
with recovery,stopat='jun 15,2000 1:00 am'

参考书有:<SQL SERVER7.0 系统管理和应用开发指南>(清华大学出版社)
 

时间: 2024-11-18 19:58:09

[整理]如何恢复数据库的内容的相关文章

mysql二进制日志文件恢复数据库_Mysql

二进制日志的文件的作用     mysql二进制日志文件用来记录所有用户对数据库操作,即记录用户对数据库操作的sql语句.如果有此文件,当数据库发生意外时,可以通过此文件查看到用户在此文件记录的时间段内用户所做的操作,再和数据库备份配合使用,即可再现用户操作,使数据库恢复. 二进制日志文件的弊端 二进制日志文件开启后,所有对数据库操作的记录均会被记录到此文件, 所以,当长时间开启之后,日志文件会变得很大,占用磁盘空间. 使用二进制日志文件恢复数据库 开启日志文件 mysql默认是不开启日志文件的

SQL Server无日志恢复数据库(2种方法)_MsSql

SQL Server是一个关系数据库管理系统,应用很广泛,在进行SQL Server数据库操作的过程中难免会出现误删或者别的原因引起的日志损坏,又由于SQL Server数据库中数据的重要性,出现了以上的故障之后就必须对数据库中数据进行恢复.下文就为大家介绍一种恢复数据库日志文件的方法. 解决方法一 1.新建一个同名的数据库 2.再停掉sql server(注意不要分离数据库) 3.用原数据库的数据文件覆盖掉这个新建的数据库 4.再重启sql server 5.此时打开企业管理器时会出现置疑,先

oracle 9i使用闪回查询恢复数据库误删问题_oracle

如果用户误删/更新了数据后,作为用户并没有什么直接的方法来进行恢复,他们必须求助DBA来对数据库进行恢复,到了Oracle9i,这一个难堪局面有所改善.Oracle 9i中提供了一项新的技术手段--闪回查询,用户使用闪回查询可以及时取得误操作前的数据,并可以针对错误进行相应的恢复措施,而这一切都无需DBA干预. 因为一时手贱,生产上的数据被我给delete掉了. 用的是delete语句,然后很迅速的还给commit了 下面这两个语句: ALTER TABLE tablename ENABLE r

Dell R710服务器磁盘恢复数据库一例(记录)

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://koumm.blog.51cto.com/703525/1722703 现场环境有两台06年产早过保Dell R710服务器,RHEL5.4操作系统,一台应用服务器,一台Oracle数据库服务器,硬件配置,操作系统一样,独立阵列卡. 一次机房停电,空调不工作,机房服务器UPS供电,因温度太高纷纷关机\死机,数据库服务器关机并报黄灯. E1000 Failsafe voltage

没有数据库日志文件恢复数据库方法两则

恢复|数据|数据库 方法一 1.新建一个同名的数据库 2.再停掉sql server(注意不要分离数据库) 3.用原数据库的数据文件覆盖掉这个新建的数据库 4.再重启sql server 5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名) 6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用 数据库的脚本创建一个新的数据库,并将数据导进去就行了. USE MASTERGOSP_CONFIGURE ALLOW UPDATES,1

sqlserver2005没有log日志文件时恢复数据库的方法

SQLServer2005数据库日志文件损坏的情况下如何恢复数据库呢?下面我们来详细分析... 在某些偶然的情况下, 会引起SQL Server 2005数据库日志文件的损坏,比如:硬件故障.计算机非正常重启或关机. 当SQL Server 2005数据库日志文件损坏时,可能会出现以下情况: 1.在SQL Server Management Studio中显示数据库处于置疑(suspect)状态. 2.事件日志可能会出现如下错误信息:Could not redo log record (2173

使用一个新的名称来恢复数据库

可以通过使用新名称的方式来获得数据库的恢复,这往往能够满足商业的需要.当使用不同名称来恢复数据库的时候,你将不得不设置数据库中每一个文件的新位置.如果你早先不知道数据库中有哪些文件,可以运行RESTORE FILELISTONLY声明来获得数据库文件的数量和名称.运行RESTORE FILELISTONLY可以为你提供文件的信息,比如文件的逻辑名称.物理名称.文件是数据文件还是日志文件等.接着,执行RESTORE DATABASE声明,包括数据库的新名称.将要存储的文件备份.如果你要处理日志文件

没有日志,只有MDF文件如何恢复数据库

恢复|数据|数据库 由于种种原因,我们如果当时仅仅备份了mdf文件,那么恢复起来就是一件很麻烦的事情了. 如果您的mdf文件是当前数据库产生的,那么很侥幸,也许你使用sp_attach_db或者sp_attach_single_file_db可以恢复数据库,但是会出现类似下面的提示信息 设备激活错误.物理文件名 'C:\Program Files\Microsoft SQL Server\MSSQL\data\test_Log.LDF' 可能有误. 已创建名为 'C:\Program Files

Delphi中使用TListView显示数据库的内容

本例教你在TListView组件中显示数据库的内容. 首先创建一个新的项目,然后向窗体上添加一个TQuery组件和一个TListView组件.添加组件后的窗体如图1所示. 图1 主界面 设置TQuery组件的DatabaseName属性设置为DBDEMOS,SQL属性设置为select * from country,Active属性设置为True.然后添加程序初始化代码如下: procedure TForm1.FormCreate(Sender: TObject); var i:Integer;