PDA

View Full Version : RESTORE & SYS.DATABASES



mhsmity
دوشنبه 03 بهمن 1390, 02:45 صبح
1. وقتی دستور زیر را اجرا می کنم نام پایگاه داده ام رو با مسیرش مشخص می شود دلیل چیست؟


SELECT NAME FROM SYS.DATABASES


[C:\...\SqlMdf.Mdf]خروجی دستور بالا
دستور BACKUP گرفتنم به شکل زیر هستش و درست اجرا می شود.

BACKUP DATABASE [C:\...\SqlMdf.Mdf] TO DISK = 'C:\...\SqlMdf.bak'
ولی دستور RESTOREگرفتنم به شکل زیر هستش

ALTER DATABASE [C:\...\SqlMdf.Mdf] SET OFFLINE WITH ROLLBACK IMMEDIATE

RESTORE DATABASE [C:\...\SqlMdf.Mdf] FROM DISK = 'C:\...\SqlMdf.bak'

ALTER DATABASE [C:\...\SqlMdf.Mdf] SET ONLINE]
تا حالا خوب بود و کار رو راه می نداخت ولی الان خطای زیر رو می ده

The tail of the log for the database "C:\...\SqlMdf.Mdf" 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.
راه حل چیست چی کار کنم تا این خطا رفع بشه؟
نکته: تمام این دستورات داخل برنامه می باشد به وسیله توابعی که نوشتم.
نکته :بانک به وسیله SQl2008 طراحی شده است و در این برنامه خروجی دستور زیر به شکل دیگری هستش


SELECT NAME FROM SYS.DATABASES


SqlMdf خروجی دستور بالا
دقت کنید فقط نام بانک اطلاعاتی هستش

mhsmity
دوشنبه 03 بهمن 1390, 03:19 صبح
سلام
آقا مشکل ما با اضافه شدن خط زیر به دستور Restor حل شد!
WITH NOUNLOAD, REPLACE, STATS = 10
ولی چرا نام پایگاه داده ام با مسیر هستش ؟