SQLSERVER2000数据库恢复问题

SQLSERVER2000数据库恢复问题,第1张

找datasos数据库专业修复机构吧

SQL Server数据库恢复

SQL Server 数据库服务器是比较普遍使用的服务器器种类,也是恢复最多的一类服务器。处理过案例超过30例。SQl Server 恢复技术是也同样达到国内最高级别。我们对SQl Server 存储结构了解十分深入。我们理解数据库页存储方式,IAM区结构,理解GAM和SGAM ,了解PFS工作原理。了解大文件存储方式如TXT,Image存储指针的中间结点和根节点结构。了解表存储方式和可变长度表存储模式。理解系统表管理能力。了解备份和恢复的存储结个极其存储原理。我们理解INDEX索引存储方式。

SQl Server MDF文件用于写数据一致性的标志符的转化,微软没有透露任何相关处理信息。这一点对于处理提出表内容方式恢复数据至关重要。目前国内没有其他公司理解。

对SQL Server 数据恢复技术目前国内没有任意一家数据恢复公司能够达到我们高度。那些数据恢复公司及个人对数据库几乎不了解。在网上大肆吹嘘恢复能力。其无非使用

DBrecovery 工具或者用微软提供紧急模式,使用"CHECK DB"命令修复 这些只能处理一般问题不是数据库修复技术 我们能提取任何表字段或者修复索引结构坏道出现表故障我们可以直接修复断裂的IAM区

咨询电话:800-820-6995

021-51036995

数据库损坏,修复的书本名称有《SQLServer2012数据库恢复实战》,《MySQL数据库故障排除与恢复》,《Oracle数据库故障排除与恢复》。

1、《SQLServer2012数据库恢复实战》:该书从实践出发,介绍了SQLServer2012数据库损坏的原因、分类、诊断和修复方法,详细讲解了如何使用备份和日志来恢复数据库,以及如何使用工具来修复损坏的数据库。

2、《MySQL数据库故障排除与恢复》:该书详细介绍了MySQL数据库的故障排除和恢复,包括如何诊断和修复各种常见的数据库问题,如数据丢失、损坏和不一致等。

3、《Oracle数据库故障排除与恢复》:该书从Oracle数据库的体系结构出发,介绍了如何诊断和修复各种常见的Oracle数据库问题,包括数据块损坏、表空间故障等。

最近在网上看到破解版本的SQL SERVER 的数据库修复软件越来越多,在\x0d\闲时,下载了所有的试用版本及已经破解版本,找到以前保留的损坏MDF,进\x0d\行一番比较。断断续续经过几天的比较,这些软件的功能与特点基本上了解清楚,\x0d\写出来,与大家共享。\x0d\RecoveryToolboxForSQLServer(产地:俄国)\x0d\特点:数据恢复效果较好,对于库结构恢复较正常。\x0d\使用:直接选择损坏的MDF 文件,将修复结果直接输出到SQLSERVER 中。\x0d\或者保存成SQL 脚本文件。\x0d\SysTools SQL Recovery(产地不详)\x0d\特点:显示数据时,对中文不支持,只显示出UniCode,在运行时容易程度中\x0d\断直接退出;此软件有些像RecoveryToolboxForSQLServer\x0d\使用:直接选择损坏的MDF 文件,将修复结果直接输出到SQLSERVER 中。\x0d\或者保存成SQL 脚本文件。\x0d\officerecovery 中的 Recovery for SQL Server(产地:美国)\x0d\特点:支持BAK,LOG 文件,但修复后的数据容易丢失,库结构提较取较完整。\x0d\使用:直接选择损坏的MDF 文件,将修复结果直接输出到SQLSERVER 中。\x0d\或者保存成SQL 脚本文件。\x0d\Kernel for SQL Database(产地:印度)\x0d\特点:恢复效果好,但日期的显示,它是用国外的方式,库结构提取一般。\x0d\使用:直接选择损坏的MDF 文件,将修复结果直接输出到SQLSERVER 中。\x0d\或者保存成SQL 脚本文件。\x0d\Stellar Phoenix SQL Recovery (产地:印度)\x0d\特点:数据恢复效果较好,程序运行时易不正常退出,库结构提取不出来。\x0d\使用:直接选择损坏的MDF 文件,将修复结果直接输出到SQLSERVER 中。\x0d\无法保存成SQL 脚本。\x0d\上述软件都已经有破解版本或者免费版本,大家在选择时应该有所了解。\x0d\说明:库结构提取不完整,修复后的数据虽然可以在SQL SERVER 中附加,查\x0d\看,导出,备份,但在应用软件下是无法连接此数据库的,经过对上述软件修复后的数据库文件进行研究,已经找到解决MDF 文件加软件的办法,有此修复需

数据库的备份和恢复一、备份数据库1、打开SQL企业管理器,在控制台根目录中依次点开MicrosoftSQLServer2、SQLServer组--双击打开你的服务器--双击打开数据库目录3、选择你的数据库名称(如论坛数据库Forum)--然后点上面菜单中的工具--选择备份数据库4、备份选项选择完全备份,目的中的备份到如果原来有路径和名称则选中名称点删除,然后点添加,如果原来没有路径和名称则直接选择添加,接着指定路径和文件名,指定后点确定返回备份窗口,接着点确定进行备份二、还原数据库

1、打开SQL企业管理器,在控制台根目录中依次点开MicrosoftSQLServer

2、SQLServer组--双击打开你的服务器--点图标栏的新建数据库图标,新建数据库的名字自行取

3、点击新建好的数据库名称--然后点上面菜单中的工具--选择恢复数据库

4、在d出来的窗口中的还原选项中选择从设备--点选择设备--点添加--然后选择你的备份文件名--添加后点确定返回,这时候设备栏应该出现您刚才选择的数据库备份文件名,备份号默认为1(如果您对同一个文件做过多次备份,可以点击备份号旁边的查看内容,在复选框中选择最新的一次备份后点确定)--然后点击上方常规旁边的选项按钮

5、在出现的窗口中选择在现有数据库上强制还原,以及在恢复完成状态中选择使数据库可以继续运行但无法还原其它事务日志的选项

在窗口的中间部位的将数据库文件还原为这里要按照你SQL的安装进行设置(也可以指定自己的目录),逻辑文件名不需要改动,移至物理文件名要根据你所恢复的机器情况做改动,如您的SQL数据库装在D:/ProgramFiles/MicrosoftSQLServer/MSSQL/Data,那么就按照您恢复机器的目录进行相关改动改动,并且最后的文件名最好改成您当前的数据库名(如原来是zw0001mdf,现在的数据库是zw0002,就改成zw0002mdf),日志和数据文件都要按照这样的方式做相关的改动(日志的文件名是ldf结尾的),这里的恢复目录您可以自由设置,前提是该目录必须存在(如您可以指定d:/sqldata/zw0002mdf或者d:/sqldata/zw0002ldf),否则恢复将报错

6、修改完成后,点击下面的确定进行恢复,这时会出现一个进度条,提示恢复的进度,恢复完成后系统会自动提示成功,如中间提示报错,请记录下相关的错误内容并询问对SQL *** 作比较熟悉的人员,一般的错误无非是目录错误或者文件名重复或者文件名错误或者空间不够或者数据库正在使用中的错误,数据库正在使用的错误您可以尝试关闭所有关于SQL窗口然后重新打开进行恢复 *** 作,如果还提示正在使用的错误可以将SQL服务停止然后重起看看,至于上述其它的错误一般都能按照错误内容做相应改动后即可恢复三、设定每日自动备份数据库1、打开企业管理器,在控制台根目录中依次点开

方法/步骤

修改数据库为紧急模式

ALTER DATABASE Test SET EMERGENCY

使数据库变为单用户模式

ALTER DATABASE Test SET SINGLE_USER

修复数据库日志重新生成,此命令检查的分配,结构,逻辑完整性和所有数据库中的对象错误,这个过程时间可能比较长。

DBCC CheckDB (Test , REPAIR_ALLOW_DATA_LOSS)

使数据库变回为多用户模式

ALTER DATABASE Test SET MULTI_USER

重新启动数据库服务

首先先和大家讲一讲SQL

Server恢复master数据库方法,具体步骤如下

第一步:复制modelmdf、mastlogldf、modelmdf、modellogldf、msdbdatamdf、msdblogldf文件。

从X:\Program

Files\Microsoft

SQL

Server\MSSQL10MSSQLSERVER\MSSQL\Binn\Templates

至X:\Program

Files\Microsoft

SQL

Server\MSSQL10MSSQLSERVER\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\setupexe

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\Summarytxt中查看安装日志。

最后,在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恢复数据库方法,希望对大家恢复数据库有所帮助。

如果备份的数据库有 个文件 分别是 LDF 和 MDF 打开企业管理器 在实例上右击 所有任务 附加数据库 然后选择那个 MDF文件 就可以了

或者在查询分析器中输入

sp_attach_db 数据库名称 路径\文件名 ldf 路径\文件名 MDF

SQL Server数据库备份有两种方式 一种是使用BACKUP DATABASE将数据库文件备份出去 另外一种就是直接拷贝数据库文件mdf和日志文件ldf的方式 下面将主要讨论一下后者的备份与恢复 本文假定您能熟练使用SQL Server Enterprise Manager(SQL Server企业管理器)和SQL Server Quwey Analyser(SQL Server查询分析器)

正常的备份 恢复方式

正常方式下 我们要备份一个数据库 首先要先将该数据库从运行的数据服务器中断开 或者停掉整个数据库服务器 然后复制文件

卸下数据库的命令 Sp_detach_db 数据库名

连接数据库的命令 Sp_attach_db或者sp_attach_single_file_db

s_attach_db [@dbname =] dbname [@filename =] filename_n [ ]

sp_attach_single_file_db [@dbname =] dbname [@physname =] physical_name

使用此方法可以正确恢复SQL Sever 和SQL Server 的数据库文件 要点是备份的时候一定要将mdf和ldf两个文件都备份下来 mdf文件是数据库数据文件 ldf是数据库日志文件

例子

假设数据库为test 其数据文件为test_data mdf 日志文件为test_log ldf 下面我们讨论一下如何备份 恢复该数据库

卸下数据库 sp_detach_db test

连接数据库 sp_attach_db test C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_data mdf C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log ldf

sp_attach_single_file_db test C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_data mdf

// 本文转自 C++Builder 研究 // ccrun /article aspi= &d=oxit

只有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\Microsoft SQL Server\MSSQL\Data\test_log LDF 的新日志文件

但是 如果您的数据库文件是从其他计算机上复制过来的 那么很不幸 也许上述办法就行不通了 你也许会得到类似下面的错误信息

服务器: 消息 级别 状态 行

未能打开新数据库 test CREATE DATABASE 将终止

设备激活错误 物理文件名 d:\test_log LDF 可能有误

lishixinzhi/Article/program/SQL/201311/16353

怎么办呢别着急 下面我们举例说明恢复办法

A 我们使用默认方式建立一个供恢复使用的数据库(如test) 可以在SQL Server Enterprise Manager里面建立

B 停掉数据库服务器

C 将刚才生成的数据库的日志文件test_log ldf删除 用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件test_data mdf

D 启动数据库服务器 此时会看到数据库test的状态为 置疑 这时候不能对此数据库进行任何 *** 作

E 设置数据库允许直接

*** 作系统表 此 *** 作可以在SQL Server Enterprise Manager里面选择数据库服务器 按右键 选择 属性 在 服务器设置 页面中将 允许对系统目录直接修改 一项选中 也可以使用如下语句来实现

以下是引用片段 use master go sp_configure  allow updates go reconfigure with override go

F 设置test为紧急修复模式

update sysdatabases set status= where dbid=DB_ID( test )

此时可以在SQL Server Enterprise Manager里面看到该数据库处于 只读\置疑\脱机\紧急模式 可以看到数据库里面的表 但是仅仅有系统表

G 下面执行真正的恢复 *** 作 重建数据库日志文件

dbcc rebuild_log( test C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log ldf )

执行过程中 如果遇到下列提示信息

服务器: 消息 级别 状态 行

未能排它地锁定数据库以执行该 *** 作

DBCC 执行完毕 如果 DBCC 输出了错误信息 请与系统管理员联系

说明您的其他程序正在使用该数据库 如果刚才您在F步骤中使用SQL Server Enterprise Manager打开了test库的系统表 那么退出SQL Server Enterprise Manager就可以了

正确执行完成的提示应该类似于

警告: 数据库 test 的日志已重建 已失去事务的一致性 应运行 DBCC CHECKDB 以验证物理一致性 将必须重置数据库选项 并且可能需要删除多余的日志文件

DBCC 执行完毕 如果 DBCC 输出了错误信息 请与系统管理员联系

此时打开在SQL Server Enterprise Manager里面会看到数据库的状态为 只供DBO使用 此时可以访问数据库里面的用户表了

H 验证数据库一致性(可省略)

dbcc checkdb( test )

一般执行结果如下

CHECKDB 发现了 个分配错误和 个一致性错误(在数据库 test 中)

DBCC 执行完毕 如果 DBCC 输出了错误信息 请与系统管理员联系

I 设置数据库为正常状态

sp_dboption test dbo use only false

如果没有出错 那么恭喜 现在就可以正常的使用恢复后的数据库啦

J 最后一步 我们要将步骤E中设置的 允许对系统目录直接修改 一项恢复 因为平时直接 *** 作系统表是一件比较危险的事情 当然 我们可以在SQL Server Enterprise Manager里面恢复 也可以使用如下语句完成

以下是引用片段 sp_configure  allow updates go reconfigure with override go

lishixinzhi/Article/program/SQL/201311/16354

以上就是关于SQLSERVER2000数据库恢复问题全部的内容,包括:SQLSERVER2000数据库恢复问题、数据库损坏,如何修复的书本名称、国外的几种SQL SERVER数据库,修复软件技术特点及使用办法是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9386123.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存