naptor
asked on
SQL database
Need some help does anyone knows how i can recover a mdf file. I have a few databases but one of them give me error when i want to attatch to SQL. I have the MDF e LDF files but need help to detect and correct those erros in a way that i can attatch without problems.
ASKER
i tryied to do the process but on line b got this error " Server: Msg 207, Level 16, State 3, Line 1
Invalid column name 'MARPINO'. "
Help needed
Invalid column name 'MARPINO'. "
Help needed
Can you tell me on which step you encountered this error? or which statement gave this error?
ASKER
this error is on statement b. Get the value of the status column in sysdatabases table
select * from sysdatabases where name = 'db_name'
-- note the value of the status column for later use in # f
begin tran
select * from sysdatabases where name = 'db_name'
-- note the value of the status column for later use in # f
begin tran
I think you are executing the it without single quotes
Try this:
select * from sysdatabases where name = 'MARPINO'
Try this:
select * from sysdatabases where name = 'MARPINO'
And that too that should be run under master database
ASKER
now i have a problem in - e. Set the database to single user access
sp_dboption '', 'single user', 'true'
DBCC checkdb('db_name')
Go
error
Server: Msg 15010, Level 16, State 1, Procedure sp_dboption, Line 71
The database '' does not exist. Use sp_helpdb to show available databases.
sp_dboption '', 'single user', 'true'
DBCC checkdb('db_name')
Go
error
Server: Msg 15010, Level 16, State 1, Procedure sp_dboption, Line 71
The database '' does not exist. Use sp_helpdb to show available databases.
Oops my mistake that should be :
sp_dboption 'MARPINO', 'single user', 'true'
DBCC checkdb('MARPINO')
Go
sp_dboption 'MARPINO', 'single user', 'true'
DBCC checkdb('MARPINO')
Go
ASKER
after that error
Server: Msg 945, Level 14, State 2, Line 1
Database 'MARPINO' cannot be opened due to inaccessible files or insufficient memory or disk space. See the SQL Server errorlog for details.
Server: Msg 5069, Level 16, State 1, Line 1
ALTER DATABASE statement failed.
sp_dboption command failed.
Server: Msg 945, Level 14, State 2, Line 2
Database 'MARPINO' cannot be opened due to inaccessible files or insufficient memory or disk space. See the SQL Server errorlog for details.
Server: Msg 945, Level 14, State 2, Line 1
Database 'MARPINO' cannot be opened due to inaccessible files or insufficient memory or disk space. See the SQL Server errorlog for details.
Server: Msg 5069, Level 16, State 1, Line 1
ALTER DATABASE statement failed.
sp_dboption command failed.
Server: Msg 945, Level 14, State 2, Line 2
Database 'MARPINO' cannot be opened due to inaccessible files or insufficient memory or disk space. See the SQL Server errorlog for details.
2. Stop sql server and delete the new MDF file and copy the old MDF file
In this step did you copy the old LDF file as well. If not please do so and then try. I forgot to add teh LDF thing there. I apologize.
In this step did you copy the old LDF file as well. If not please do so and then try. I forgot to add teh LDF thing there. I apologize.
ASKER
error after
Server: Msg 926, Level 14, State 1, Line 1
Database 'MARPINO' cannot be opened. It has been marked SUSPECT by recovery. See the SQL Server errorlog for more information.
Server: Msg 5069, Level 16, State 1, Line 1
ALTER DATABASE statement failed.
sp_dboption command failed.
Server: Msg 926, Level 10, State 1, Line 2
Database 'MARPINO' cannot be opened. It has been marked SUSPECT by recovery. See the SQL Server errorlog for more information.
Server: Msg 926, Level 14, State 1, Line 1
Database 'MARPINO' cannot be opened. It has been marked SUSPECT by recovery. See the SQL Server errorlog for more information.
Server: Msg 5069, Level 16, State 1, Line 1
ALTER DATABASE statement failed.
sp_dboption command failed.
Server: Msg 926, Level 10, State 1, Line 2
Database 'MARPINO' cannot be opened. It has been marked SUSPECT by recovery. See the SQL Server errorlog for more information.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Did this issue get resolved? If so could you please mark it as answered?
ASKER
bull_rider
thanks for the supplied support but i think the log file as errors and a friend recovered the database
thanks for the supplied support but i think the log file as errors and a friend recovered the database
ASKER
for the quick help given to this question thanks
a. Override updates in Master Table
Use Master
Go
sp_configure 'allow updates', 1
reconfigure with override
Go
b. Get the value of the status column in sysdatabases table
select * from sysdatabases where name = 'db_name'
-- note the value of the status column for later use in # f
begin tran
c. Set status of the database to suspect (32768)
update sysdatabases set status = 32768 where name ='db_name'
commit tran
d. Rebuild transaction log
DBCC rebuild_log('db_name','db_
e. Set the database to single user access
sp_dboption '', 'single user', 'true'
DBCC checkdb('db_name')
Go
f. Restore the status of the database in sysdatabases table
begin tran
update sysdatabases set status = previous_value where name = 'db_name'
-- verify one row is updated before committing
commit tran
Go
g. Restore the override property of Master table
sp_configure 'allow updates', 0
reconfigure with override
Go
4. Now open or refresh the enterprise manager you can now see the tables inside the fixed database.
If any problems still persist, you can import all tables into temporary database and drop the original database. Create a new database with same name then re-import all the tables from the temporary database.
Hope this solves your issue. :)