با سلام به دوستان
من هم چنين مشكلي دارم.
جهت بازیابی اطلاعات دیتابیس هم به صورت زیر عمل می کنم:
1- بک کانکشن استرینگ می سازم که با دیتابیس master ارتباط برقرار کند.
2- دستور اس کیو ال زیر را در CommadText قرار می دهم:
cmd.CommandText =”use master Select spid From master..sysprocesses where dbid=db_id('NBDB’)”
(NBDB نام دیتابیسی هست که قبلا از اون بک آپ گرفته شده و الان می خوام اطلاعاتش رو بازیابی کنم.)
3- (جهت از بین بردن کانکشن های قبلی) نتیجه اجرای دستور اس کیو ال بالا رو در SqlReader قرار میدم به صورت زیر:
while (SqlReader.Read())
{
string SPID = SqlReader.GetString(1);
cmd.CommandText = string.Concat("Kill ", SPID);
cmd.ExecuteNonQuery()
}
3- بعد هم برای بازیابی از دستور زیر استفاده می کنم:
Use master restore database ‘NBDB’ from disk = E:\Backup1.bak
ولیموقع اجرا این خطا رو می ده:
The tail of the log for the database "NBDB" has not been backed up. Use BACKUP LOG WITH NORECOVERY to backup the log if it contains work you do not want to lose. Use the WITH REPLACE or WITH STOPAT clause of the RESTORE statement to just overwrite the contents of the log.
RESTORE DATABASE is terminating abnormally.
Changed database context to 'master'.
ممنون می شم اگه راهکاری ارائه بدید..
متشکرم