sqlserver2000 数据库置疑的 4 种解决方法
方法一:
1•停止SQL Server的服务撚后备份MS SQL Server的安装目录下的\data子目录.
注意:整个目录目录备份或只备份data 目录下置疑数据库的两个文件,一个数据文件dbname_data.mdf, —个dbname_log.ldf(也有可能非此命名),同时查看磁盘空间是否有足够的空间;
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 和本系统的数据文件,删除置疑数据库的日志文件dbname_log.ldf( 也有可能非此命名).
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 和本系统的数据文件,把数据文件dbname_data.mdf 和日志文件dbname_log.ldf 备份起来. 3. 启动SQL Server 服务, 打开企业管理器, 删除数据库,通常\data 子目录下的数据文件dbname_data.mdf 和日志文件dbname_log.ldf 都会被删除,把备份好的数据文件和日志文件再复制一份到\data 子目录下.
4. 打开查询分析器, 执行如下SQL 语句
use master
go
EXEC sp_attach_db @dbname = dbname,
@filename1 = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\dbname_data.mdf', @filename2 = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\dbname_log.ldf' go
5. 再在企业管理器中查看你的数据库是否恢复.注: 请把dbname 换为你的数据库名称
@filename1 是数据文件的路径地址.
@filename2 是日志文件的路径地址.
方法四:
如果还是不能恢复:如方法三执行时,查询分析器返回错误信息,请尝试以下步聚恢复数据库. 1•停止SQL Server的服务,备份SQL Server安装目录下的\data子目录下故障数据库的两个文
件, 一个数据文件dbname_data.mdf, 一个dbname_log.ldf( 也有可能非此命名), 同时查看磁盘空间是否有足够的空间;
2•启动SQL Server服务(如已停止),创建一个新的数据库,命名为原来数据库的名字。
3.停止SQL Server
4•把老数据库的MDF文件(dbname_data.mdf)替换新数据库的相应的MDF文件,并把LDF 文件(dbname_log.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\db name_log.ldf)
go
sql server2000简介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
8. 运行dbcc checkdb(db_name) 检查数据库的完整性修复数库
注:都要把dbname 替换成真实的数据库名字。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论