کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

بازگردانی دیتابیس SQL Server و نوشتن دیتابیس موجود

گزینه ی RESTORE ... WITH REPLACE به شما اجازه می دهد تا هنگام انجام یک بازگردانی، یک دیتابیس موجود را چندین بار بنویسید. در برخی موارد هنگامی که سعی در انجام یک (بازگردانی) restore دارید، ممکن است خطایی دریافت کنید که می گوید: "The tail of the log for the database .. has not been backed up" ( دنباله ی log برای دیتابیس .... بک آپ گرفته نشده است.)


توضیحات:

RESTORE ... WITH REPLACE به شما اجازه می دهد تا هنگام انجام یک بازگردانی بدون اولین بک آپ از دنباله ی transaction log، روی دیتابیس موجود بنویسید. WITH REPLACE اساسا به SQL Server می گوید که هرگونه محتوای فعالی را در transaction log کنر گذاشته و با restore به جلو پیش رود.
اگر با استفاده از فرمان های T-SQL بازگردانی را انجام می دهید، این پیغام خطا را دریافت خواهید کرد:


Msg 3159, Level 16, State 1, Line 1

The tail of the log for the database "AdventureWorks" 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.

Msg 3013, Level 16, State 1, Line 1

RESTORE DATABASE is terminating abnormally.‎

اگر بازگردانی را با SQL Server Management Studio انجام می دهید، پیغام خطای زیر را دریافت خواهید کرد:


آموزش sql

T-SQL
بازگردانی بک آپ کامل با استفاده از WITH REPLACE

فرمان زیر دیتابیس را بازگردانی خواهد کرد و هرگونه داده ی فعال را در transaction log نادیده خواهد گرفت:


RESTORE DATABASE AdventureWorks FROM DISK = 'C:\AdventureWorks.BAK'‎

WITH REPLACE

GO

برای بازگردانی با استفاده از SSMS کارهای زیر را انجام دهید، روی صفحه ی options عبارت "Overwrite the existing database" را انتخاب کنید.


آموزش sql
1394/07/27 5510 1562
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...