اولين و اساسيترين قدم در نگهداري يك سيستم مبتني بر داده، تهيه پشتيبانهاي منظم و همچنين قابل اطمينان ميباشد.
دستور T-SQL زير بدون رياستور كردن يك فايل بك آپ اس كيوال سرور، سعي در تعيين اعتبار آن ميكند:
RESTORE VERIFYONLY
FROM DISK = 'C:\SQL_Backup\Test1'
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 = ''
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
FETCH NEXT FROM DATABASES_CURSOR INTO @path
END
CLOSE DATABASES_CURSOR
DEALLOCATE DATABASES_CURSOR
IF @msg <> ''
BEGIN
PRINT @msg
-- send email
EXECUTE msdb.dbo.sp_send_dbmail
@recipients = 'nasiri@site.net', -- Change This
@copy_recipients = 'Administrator@site.net', -- Change This
@Subject = 'backup verification info.',
@Body = @msg
,@importance = 'High'
END
اسكريپت فوق بر روي تمامي مسيرهاي ثبت شده موجود كه در آنها پيشتر پشتيبان تهيه شده است، دستور RESTORE VERIFYONLY را اجرا ميكند و در آخر اگر پيغامي حاصل شد، يعني مشكلي پديد آمده و ايميلي را به اشخاص مورد نظر ارسال ميكند.
ميتوان بر روي اين اسكريپت يك job تهيه كرد كه هر روز پس از تهيه بك آپ خودكار، كار بررسي صحت عمليات را نيز انجام دهد.