mssql7文件损坏。无法打开。在sqlsqlserver中变为灰色(suspect)。如何修复!!!(100分)

  • 主题发起人 主题发起人 jacklee
  • 开始时间 开始时间
J

jacklee

Unregistered / Unconfirmed
GUEST, unregistred user!
同上!重装mssql7无效!换台机器拷贝上去还是无效!!可能是文件物理损坏,如何修复!
服务器断电几次未接ups。导致的。os:win2kserver
 
用备份的数据恢复吧,否则祝你好运了
 
我尝试这样sp_attach_db wkmis,'Filename1=d:/wkmis_data.mdf','Filename2=d:/wkmis_data.ldf'
但是报“Server: Msg 5105, Level 16, State 13, Line 1
Device activation error. The physical file name 'Filename1=d:/wkmis_data.mdf' may be incorrect.”
怎么搞到啊??
我这样“exec sp_resetstatus 'wkmis'” 但是报“Server: Msg 15010, Level 16, State 1, Procedure sp_resetstatus, Line 63
The database 'wkmis' does not exist. Use sp_helpdb to show available databases.”

到底怎么办 啊??请大侠好事做到底,不要笼统的回答要具体的。最好亲自体验过得!!

 
用备份的文件先恢复,后把sql/data/数据库文件复制过去。再删除日志文件,在企业服务中重新
启动数据库,就行了。
 
本人遇到过类似问题:
在SQL7中,某一个数据库是灰色的,无法打开,检查,发现是文件被删除;
比如:有一个“CADA”数据库,
在数据库"master"的表“sysdatabases”中有以下信息:
name dbid sid mode status status2 crdate reserved category cmptlevel filename suid version
-------------------------------------------------------------------------------------------------------------------------------- ------ --------------------------------------------------
CADA 7 0x01 0 4194317 1090519040 2002-08-02 11:23:44.597 1900-01-01 00:00:00.000 0 70 d:/mssql7/Data Files/Data/CADA_Data.MDF 1 515

在数据库“CADA”的表“sysfiles”、“sysfiles1”中分别有以下信息
表“sysfiles”
fileid groupid size maxsize growth status perf name filename
------ ------- ------ -------- -------- ----------- ------- --------------------------------------------------
1 1 312 -1 10 1081346 0 CADA_Data d:/mssql7/Data Files/Data/CADA_Data.MDF
2 0 128 -1 10 1081410 0 CADA_Log d:/mssql7/Data Files/Data/CADA_Log.LDF
3 1 128 -1 10 1081346 0 CADA d:/mssql7/Data Files/Data/CADA_Data.NDF

表“sysfiles1”

status fileid name filename
--------- ------ ----------------------------------------------------
32770 1 CADA_Data d:/mssql7/Data Files/Data/CADA_Data.MDF
32834 2 CADA_Log d:/mssql7/Data Files/Data/CADA_Log.LDF
1081346 3 CADA d:/mssql7/Data Files/Data/CADA_Data.NDF

请注意这里和数据库相关的几个文件存放的位置,当用备份文件恢复数据库时,应确保目录是存在的
比如:如果目录“d:/mssql7/Data Files/Data/”不存在,那么在恢复的时候会提示出错。
如果希望将文件 恢复到其他目录,只要在“restore”语句中使用“MOVE... TO...”选项
如:
RESTORE DATABASE 'CADA' FROM DISK='d:/mssql7/Data Files/Back/CADABak'
WITH FILE=1, REPLACE,
MOVE 'JCY_DB_Data' TO 'c:/mssql7/Data Files/Data/JCY_DB_Data.MDF'
MOVE 'JCY_DB_Log' TO 'c:/mssql7/Data Files/Data/JCY_DB_Log.LDF'
MOVE 'JCY_DB' TO 'c:/mssql7/Data Files/Data/JCY_DB_Data.NDF'
同样,目录“c:/mssql7/Data Files/Data”必须存在。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部