آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

بازگردانی دیتابیس SQL Server به نام ها و موقعیت های مختلف

گزینه ی RESTORE ... WITH MOVE به شما اجازه خواهد داد تا دیتابیس خود را بازیابی کنید، اما یک موقعیت جدید نیز برای فایل های دیتابیس تعیین می کند (mdf و ldf). اگر درحال بازگردانی یک دیتابیس موجود از بک آپ آن دیتابیس می باشید، این مسئله لازم نیست، اما اگر درحال بازگردانی دیتابیس از یک نمونه ی متفاوت با موقعیت های متفاوت هستید، به این گزینه نیاز خواهید داشت.
گزینه ی RESTORE ... WITH MOVE به شما اجازه خواهد داد تا فایل های دیتابیس را چه بنامید و همچنین این فایل ها در چه موقعیتی ایجاد خواهند شد. قبل از استفاده از این گزینه لازم است نام های منطقی این فایل ها را بدانید و همچنین بدانید که اگر از گزینه ی WITH MOVE استفاده نکنید، SQL Server در کجا این فایل ها را بازگردانی خواهد کرد.
اگر یک دیتابیس دیگر وجود داشته باشد، که از نام همان فایل هایی استفاده می کند که سعی در بازگردانی آنها دارید و دیتابیس نیز آنلاین باشد، بازگردانی شکست خواهد خورد. اما اگر دیتابیس به دلایلی آنلاین نیست و فایل ها باز نیستند و اگر از گزینه ی WITH MOVE استفاده نمی کنید، بازگردانی این فایل ها را خواهد نوشت، بنابراین مراقب باشید که تصادفا فایل های خوب دیتابیس را اوررایت (overwrite) نکنید.
همچنین در هنگام استفاده از گزینه ی WITH MOVE ، لازم است اطمینان حاصل کنید که اکانت استفاده شده برای موتور SQL Server اجازه ی ایجاد این فایل ها را در فولدر مشخص شده ی شما دارد.


T-SQL
تعیین محتوای بک آپ

بنابراین اولین کاری که باید انجام دهید، تعیین نام های منطقی و موقعیت فیزیکی فایل ها می باشد. این کار با استفاده از فرمان RESTORE FILELISTONLY قابل انجام می باشد. این فرمان به شما نام های منطقی و فیزیکی ارائه خواهد داد.
در اینجا یک مثال را مشاهده می کنید:


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

GO

این مثال نتیجه ی زیر را ارائه می دهد:


Value - Row2
Value - Row 1
ColumnName
AdventureWorks_Log
AdventureWorks_Data
LogicalName
C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\AdventureWorks_Log.ldf
C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\AdventureWorks_Data.mdf
PhysicalName
L
D
Type

بازگردانی بک آپ کامل WITH MOVE

بنابراین اجازه دهید اعلام کنیم که می خواهیم این دیتابیس را بازگردانی کنیم، اما می خواهیم فایل داده را در فولدر "G:\SQLData" و فایل transaction log را در فولدر "H:\SQLLog" قرار دهیم. دستور مشابه زیر خواهد بود:


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

WITH MOVE 'AdventureWorks_Data' TO 'G:\SQLData\AdvnetureWorks_Data.mdf',‎

MOVE 'AdventureWorks_Log' TO 'H:\SQLData\AdvnetureWorks_Log.ldf'‎

GO

Restore full and transaction log backup WITH MOVE

WITH MOVE فقط باید برای اولین بازگردانی مشخص شود، زیرا پس از آن دیتابیس در حالت restoring خواهد بود. دومین بازگردانی برای این موقعیت جدید مورد استفاده محتوایی می نویسد.


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

WITH MOVE 'AdventureWorks_Data' TO 'G:\SQLData\AdvnetureWorks_Data.mdf',‎

MOVE 'AdventureWorks_Log' TO 'H:\SQLData\AdvnetureWorks_Log.ldf',‎

NORECOVERY

GO

RESTORE LOG AdventureWorks FROM DISK = 'C:\AdventureWorks.TRN'‎

GO

SQL Server Management Studio

برایبازگردانی با استفاده از SSMS کارهای زیر را انجام دهید، روی صفحه ی options ،برای بازگردانی مقادیر "Restore As:" برای هر فایل را مانند زیر تغییر دهید:


آموزش sql
  • 2825
  •    688
  • تاریخ ارسال :   1394/07/27

دانلود PDF دانشجویان گرامی اگر این مطلب برای شما مفید بود لطفا ما را در GooglePlus محبوب کنید
رمز عبور: tahlildadeh.com یا www.tahlildadeh.com
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال

آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

تمامی حقوق این سایت متعلق به آموزشگاه تحلیل داده می باشد .