sqlserver2000数据库置疑的4种解决方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

sqlserver2000 数据库置疑的4种解决方法

方法一:

1.停止SQL Server的服务,然后备份MS SQL Server的安装目录下的\data子目录.

注意:整个目录目录备份或只备份data目录下置疑数据库的两个文件,一个数据文件,一个(也有可能非此命名),同时查看磁盘空间是否有足够的空间;

2.启用SQL Server的服务。打开查询分析器(Query Analyzer)的工具,以用户sa登录;

3.输入如下指令后点工具栏上的绿色箭头运行(快捷键F5),

use master

go

sp_resetstatus dbname

go

4.运行完毕后退出此工具,停止SQL Server的服务.

5.在MS SQL Server的安装目录下,有一个\data子目录,其中存放数据文件,包括SQL Server和本系统的数据文件,删除置疑数据库的日志文件(也有可能非此命名).

6.启动SQL Server的服务.

7.打开企业管理器(Enterprise Manager)的工具,查看数据库(database)节点下的dbname是否恢复。

注:请将 dbname 换成你的数据库名称.

方法二

1.查看磁盘空间,保证存放数据库的磁盘有足够的剩余空间;

2.打开SQL Server的查询分析器(Query Analyzer),以用户 sa 登录;

3.输入如下指令后点工具栏上的绿色箭头运行(快捷键F5),运行完毕后退出此工具.

use master

go

sp_resetstatus dbname

go

4.停止SQL Server 的服务,再重新启动SQL Server 服务.

5.打开SQL Server 的查询分析器(Query Analyzer),以用户 sa 登录。输入如下指令后点工具栏上的绿色箭头运行,运行完毕后退出此工具:

use master

go

DBCC DBRECOVER (dbname)

go

6.打开 SQL Server 的企业管理器(Enterprise Manager),查看 database下的dbname是否恢复。

注:请将 dbname 替换为你的数据库名称.

方法三

如上述两种方法都不能恢复,或出现故障后在SQL Server的企业管理器中的数据库节点下看不到你的数据库,表示你的数据库出现较大的错误或故障,请按下述步骤操作尝试恢复.

1.停止SQL Server 服务.

2.备份数据库文件

在MS SQL Server的安装目录下,有一个\data子目录,其中存放数据文件,包括SQL Server和本系统的数据文件,把数据文件和日志文件备份起来.

3.启动SQL Server服务,打开企业管理器,删除数据库,通常\data子目录下的数据文件和日志文件都会被删除,把备份好的数据文件和日志文件再复制一份到\data子目录下.

4.打开查询分析器,执行如下SQL语句

use master

go

EXEC sp_attach_db @dbname = dbname,?

@filename1 = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\',?

@filename2 = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\'

go

5.再在企业管理器中查看你的数据库是否恢复.

注:请把 dbname 换为你的数据库名称

@filename1 是数据文件的路径地址.

@filename2 是日志文件的路径地址.

方法四:

如果还是不能恢复:如方法三执行时,查询分析器返回错误信息,请尝试以下步聚恢复数据库.

1.停止SQL Server的服务,备份SQL Server安装目录下的\data子目录下故障数据库的两个文件,一个数据文件,一个(也有可能非此命名),同时查看磁盘空间是否有足够的空间;?

2.启动SQL Server服务(如已停止),创建一个新的数据库,命名为原来数据库的名字。

3.停止SQL Server

4.把老数据库的MDF文件替换新数据库的相应的MDF文件,并把LDF文件删除。

5.重新启动SQL Server服务,然后运行如下命令:

Use Master

go

sp_configure 'allow updates', 1

reconfigure with override

go

begin tran

update sysdatabases set status = 32768 where name = 'db_name'

--Verify one row is updated before committing

commit tran

go

6.停止SQL然后重新启动SQL Server服务,然后运行如下命令(更换日志文件路径地址):

use master

go

DBCC TRACEON(3604)

DBCC REBUILD_LOG('db_name','c:\Program Files\Microsoft SQL Server\MSSQL\Data\')

go

7.停止SQL然后重新启动SQL Server服务,然后运行:

use master

go

update sysdatabases set status = 8 where name = 'db_name'

go

sp_configure 'allow updates', 0

reconfigure with override

go

相关文档
最新文档