بررسی صحت فایل های بکاپ ایجاد شده توسط SQL Server
بعضی مواقع پیش میاد که قبل از ریستور کردن یک بکاپ میخواهیم از صحت و سلامت فایل بکاپ اطلاع داشته باشیم و بخاطر حجم بالای فایل بکاپ امکان ریستور کردن آن را نداشته و اطلاع از صحت فایل برای ما کافی می باشد . با دستور زیر میتوانید بدون ریستور کردن فایل دیتابیس آن را Verify کنید .
RESTORE VERIFYONLY
FROM DISK = 'D:\Backup_Files\DATABASE.BAK'
WITH FILE = 1,
LOADHISTORY
بعد از اجرای اسکریپت بالا بر روی فایل در صورت سلامت فایل بکاپ با پیغام زیر مواجه می شوید :
The backup set on file 1 is valid
برای بدست آوردن مسیر فایل های بکاپ بر روی سرور می توان از اسکریپت زیر استفاده کرد :
SELECT DISTINCT physical_device_name
FROM msdb.dbo.backupmediafamily
ORDER BY
physical_device_name
همچنین می توان با استفاده از اسکریپت زیر مسیر فایل های بک آپ را چک کرده و به صورت تک تک صحت سلامت فایل ها را بررسی کنید .
DECLARE @path NVARCHAR(1000),
@msg NVARCHAR(MAX),
@NewLine CHAR(2),
@sql NVARCHAR(2000)
SET @NewLine = CHAR(13) + CHAR(10)
SET @msg = ''
--sqldba.ir
DECLARE DATABASES_CURSOR CURSOR
FOR
SELECT DISTINCT physical_device_name
FROM msdb.dbo.backupmediafamily
ORDER BY
physical_device_name
OPEN DATABASES_CURSOR
FETCH NEXT FROM DATABASES_CURSOR INTO @path
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT 'Verifying: ' + @path
SET @sql = 'RESTORE VERIFYONLY FROM DISK = ''' + @path
+ ''' WITH FILE = 1, LOADHISTORY'
EXEC sp_executesql @sql
IF @@ERROR <> 0
BEGIN
SET @msg = @msg + 'Failed to verify: ' + @path + @NewLine
END
--sqldba.ir
FETCH NEXT FROM DATABASES_CURSOR INTO @path
END
CLOSE DATABASES_CURSOR
DEALLOCATE DATABASES_CURSOR
IF @msg <> ''
BEGIN
PRINT @msg
برای بررسی صحت فایلهای بکاپ ایجاد شده توسط SQL Server، میتوان از چند روش استفاده کرد:
بازیابی بکاپ: این روش برای بررسی صحت فایل بکاپ بسیار موثر است. در این روش، ابتدا بکاپ مورد نظر را باید در SQL Server بازیابی کرد و سپس دادههای بازیابی شده را با دادههای اصلی مقایسه کرد. اگر دو مجموعه داده یکسان باشند، بکاپ به درستی ایجاد شده است.
استفاده از دستور RESTORE VERIFYONLY: این دستور به صورت خودکار فایل بکاپ را بازیابی نمیکند، بلکه صرفاً صحت فایل بکاپ را بررسی میکند. برای استفاده از این دستور، باید ابتدا به SQL Server متصل شوید و سپس دستور زیر را وارد کنید:
RESTORE VERIFYONLY FROM disk=’C:\path\to\backup\file.bak’
در این دستور، مسیر فایل بکاپ باید در جایگاه “C:\path\to\backup\file.bak” قرار داده شود. اگر فایل بکاپ صحیح باشد، پیغام “The backup set is valid” نمایش داده میشود.
استفاده از ابزارهای تایید صحت بکاپ: برخی ابزارها مانند “Microsoft SQL Server Backup Validation Tool” قابلیت تایید صحت فایل بکاپ را دارند. با استفاده از این ابزارها میتوانید فایل بکاپ را بررسی کنید و مطمئن شوید که آن صحیح است.
در هر صورت، برای اطمینان از صحت فایل بکاپ، بهتر است همیشه بعد از ایجاد فایل بکاپ، آن را بازیابی کرده و دادههای بازیابی شده را با دادههای اصلی مقایسه کنید.
برای کنترل صحت فایلهای بکاپ در SQL Server، میتوانید از رویهها و ابزارهای مختلفی استفاده کنید تا اطمینان حاصل کنید که فایلهای بکاپ سالم و قابل بازنشانی هستند. در زیر چند روش برای انجام این کار ذکر شده است:
- RESTORE Statement:
– یک روش اصلی برای کنترل صحت فایلهای بکاپ، استفاده از دستور `RESTORE` در SQL Server است. با استفاده از این دستور میتوانید فایلهای بکاپ را بازنشانی کنید و از صحت آنها اطمینان حاصل کنید.
RESTORE VERIFYONLY FROM DISK = ‘C:\Path\To\Your\BackupFile.bak’;
– این دستور تنها فایلها را بررسی میکند و بازنشانی نمیکند.
- SQL Server Management Studio (SSMS):
– از طریق SSMS، میتوانید به راحتی فایلهای بکاپ را بازنشانی کرده و صحت آنها را بررسی کنید. برای انجام این کار، به قسمت “Restore Database” در SSMS بروید و فایل بکاپ مورد نظر را انتخاب کنید.
- برنامههای تخصصی برای بازنشانی بکاپ:
– برنامههایی که برای مدیریت بکاپ و بازنشانی طراحی شدهاند، مانند Redgate SQL Backup، ابزارهای کنترل صحت خود دارند که میتوانید از آنها برای اطمینان حاصل از صحت فایلهای بکاپ استفاده کنید.
- PowerShell:
– از زبان PowerShell میتوانید برای بازنشانی بکاپ و بررسی صحت آنها استفاده کنید. به عنوان مثال:
powershell
Restore-SqlDatabase -ServerInstance “YourServerInstance” -Database “YourDatabase” -BackupFile “C:\Path\To\Your\BackupFile.bak” -Verify
برنامههای نظارت بر بکاپ (Backup Monitoring Tools):
– برنامههایی که برای نظارت بر عملیات بکاپ طراحی شدهاند، میتوانند به شما اطلاعات دقیقتر و گزارشهای مفیدتری در مورد وضعیت فایلهای بکاپ فراهم کنند.
با انجام چنین کنترلهایی، مطمئن شوید که فایلهای بکاپ شما سالم هستند و در صورت نیاز به بازنشانی، این عملیات بدون مشکل انجام میشود.
سلام .یکسری بکاپ خیلی مهم دارم.هنگام ریستور کردن بدون مشکل انتخاب میشن ولی بعدازexecuteکردن faild restoreمیشه.راه حلی داره این مشکل؟؟واینکه مشکل ازچی میتونه باشه؟؟
سلام دوست عزیز ، خطای مذکور رو به صورت کامل کپی کنید و اعلام بفرمایید ، failed شدن دلیل های زیادی داره