خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


نحوه Shrink کردن Transaction Log File در SQL Server

نحوه Shrink کردن Transaction Log File در SQL Server
رشد transaction log file در SQL Server یکی از مواردی است که باید DBA بدان بپردازد و اقداماتی مناسب برای کاهش این لاگ فایل در SQL انجام دهد. در این شرایط شما به طرق مختلفی transaction log file را shrink کنید.

نرم افزار سامانه مودیان راهکار
ساده ترین و امن ترین راه برای Shrink کردن transaction log file، متد DBCC SHRINKFILE transact-sq است که تاثیری روی فایل دیتابیس اصلی(MDF) نخواهد گذاشت. راه دیگر استفاده از Shrink File GUI در SSMS است که هر دو روش را ادامه انجام خواهیم داد.



قبل از ادامه کار حتما از دیتابیس مربوط یک بک آپ کامل بگیرید.


از shrink کردن transaction file و یا فایل اصلی دیتابیس بصورت مکرر خودکاری کنید.
Shrink کردن دیتابیس پس از انجام یک عملیات بزرگ پایگاه داده مانند Migration اطلاعات مفید و کارآمد خواهد بود.
این پایگاه داده برای فعالیت منظم خود به فضای خالی نیاز دارد. پس حتما به میزان کافی فضای خالی باید در سیستم یا درایوی که دیتابیس در آن قرار دارد، باید وجود داشته باشد.

Using Query Editor (Transact-SQL)

پس از یک Full Backup از دیتابیس، می توانید با استفاده از کوئری زیر یک بک آپ کامل از transaction file دیتابیس مربوطه بگیرید.

USE {{Database Name}}
GO
BACKUP LOG {{Database Name}} TO DISK = '{{Backup Location URI}}'
GO

Syntax کوئری بصورت فوق می باشد و مثال واقعی در کوئری زیر موجود است:

USE WideWorldImporters
GO
BACKUP LOG WideWorldImporters TO DISK = 'C:\Temp\WWI.trn'
GO

دقت داشته باشید که هر مسیر در کوئری فوق جایگزین می کنید، باید واقعا این مسیر در سیستم شما وجود داشته باشد و باید توجه داشته باشید درایوی که در کوئری فوق معرفی می کنید، باید فضای کافی هم داشته باشد چرا که حجم transaction file ممکن است به چندین گیگ برسد. ضمنا اجرای کامل کوئری حتی ممکن است دقایقی به طول بیانجامد.
خب،پس از اتمام بک آپ، با اجرای دستور زیر از مکان فایل LDF یا transaction log file مطلع خواهید شد. Syntax دستور به شکل زیر می باشد.

USE {{Database Name}}
GO
EXEC sp_helpfile
GO

مثال واقعی را در کوئری زیر مشاهده می کنید:

USE WideWorldImporters
GO
EXEC sp_helpfile
GO

نحوه Shrink کردن Transaction Log File در SQL Server
در این مثال، نام فایل مربوط WWI_log می باشد که بدیهی نام لاگ فایل شما متفاوت خواهد بود.
خب، از DBCC SHRINKFILE برای Shrink کردن لاگ فایل استفاده می کنیم. نام Log file را در کوئری Shrink باید قید کنید ولی target size اختیاری است. اما خوب است که target size را تعیین کنید تا بتوانید فضای مناسب و معقولی را برای انجام فعالیتهای روتین و منظم فراهم کنید. Syntax دستور به شکل زیر می باشد:

USE {{Database Name}}
GO
DBCC SHRINKFILE('{{Log File Name}}', {{Target Size in MB}})
GO

ولی فرمت واقعی دستور به صورت زیر می باشد:

USE WideWorldImporters
GO
DBCC SHRINKFILE('WWI_Log', 10)
GO

نحوه Shrink کردن Transaction Log File در SQL Server

Using GUI

در روش دوم از کوئری استفاده نخواهیم کرد و به جای آن از طریق SSMS به این کار می پردازیم. به SQL Server خود لاگین کرده و از Object Explorer روی دیتابیس مورد نظرتان کلیک راست کرده و سپس مسیر Tasks >> Shrink >> Files را دنبال کنید.

نحوه Shrink کردن Transaction Log File در SQL Server
خب، بدین ترتیب فرم Shrink File باز خواهد شد. از کامبوباکس file type گزینه Log را انتخاب کرده و از بخش Shrink action، گزینه Reorganize pages before releasing unused space را انتخاب و میزان فضایی که می خواهید آزاد کنید را مشخص کنید.

نحوه Shrink کردن Transaction Log File در SQL Server
در نهایت هم فرم را OK کنید.


نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز