এমন কোনও টি-এসকিউএল কোয়েরি রয়েছে যা নির্দিষ্ট ডাটাবেসের জন্য শেষ পুনরুদ্ধার তারিখের সময়টি দেখায়?
এমন কোনও টি-এসকিউএল কোয়েরি রয়েছে যা নির্দিষ্ট ডাটাবেসের জন্য শেষ পুনরুদ্ধার তারিখের সময়টি দেখায়?
উত্তর:
এটি আপনার সার্ভারে প্রতিটি ডাটাবেসের জন্য সমস্ত "অতি সাম্প্রতিক" পুনঃস্থাপনের তালিকা তৈরি করবে:
WITH LastRestores AS
(
SELECT
DatabaseName = [d].[name] ,
[d].[create_date] ,
[d].[compatibility_level] ,
[d].[collation_name] ,
r.*,
RowNum = ROW_NUMBER() OVER (PARTITION BY d.Name ORDER BY r.[restore_date] DESC)
FROM master.sys.databases d
LEFT OUTER JOIN msdb.dbo.[restorehistory] r ON r.[destination_database_name] = d.Name
)
SELECT *
FROM [LastRestores]
WHERE [RowNum] = 1
restorehistory
দ্বারা পরিষ্কার করা যেতে পারে sp_delete_backuphistory
।
যে স্ক্রিপ্টটি ব্যবহার করা যেতে পারে তা হ'ল:
declare @DB sysname = 'MyDB';
select * from msdb.dbo.restorehistory where destination_database_name = @DB;
এই উদ্দেশ্যে প্রধান সারণীটি হল এমএসডিবি..পরিচয়তা
SELECT [rs].[destination_database_name] ,
[rs].[restore_date] ,
[bs].[backup_start_date] ,
[bs].[backup_finish_date] ,
[bs].[database_name] AS [source_database_name] ,
[bmf].[physical_device_name] AS [backup_file_used_for_restore]
FROM msdb..restorehistory rs
INNER JOIN msdb..backupset bs ON [rs].[backup_set_id] = [bs].[backup_set_id]
INNER JOIN msdb..backupmediafamily bmf ON [bs].[media_set_id] = [bmf].[media_set_id]
ORDER BY [rs].[restore_date] DESC
এটি আপনাকে আপনার ডিবির জন্য সর্বশেষ রিফ্রেশের তারিখ দেবে:
use [msdb]
select top 1 * from restorehistory
where destination_database_name='DB_NAME'
order by restore_history_id desc
ওএস ব্যবহারকারীর নাম এবং মেশিনের নাম সম্পর্কে গুরুত্বপূর্ণ তথ্য যুক্ত করা:
Select Destination_database_name,
restore_date,
database_name as Source_database,
Physical_device_name as Backup_file_used_to_restore,
bs.user_name,
bs.machine_name
from msdb.dbo.restorehistory rh
inner join msdb.dbo.backupset bs
on rh.backup_set_id=bs.backup_set_id
inner join msdb.dbo.backupmediafamily bmf
on bs.media_set_id =bmf.media_set_id
ORDER BY [rh].[restore_date] DESC
এমন কোনও টি-এসকিউএল কোয়েরি রয়েছে যা নির্দিষ্ট ডাটাবেসের জন্য শেষ পুনরুদ্ধার তারিখের সময়টি দেখায়?
হাই, আমি নীচের স্ক্রিপ্টটি তৈরি করেছি যা আপনাকে আপনার ক্যোয়ারী সম্পর্কে আরও বিস্তারিত তথ্য দিতে পারে।
নির্দিষ্ট ডাটাবেস সম্পর্কে "অতি সাম্প্রতিক পুনরুদ্ধার" তথ্য পেতে অনুসন্ধান করুন:
WITH MostRecentRestore AS
(
SELECT
RowNum = ROW_NUMBER() OVER (PARTITION BY RH.Destination_database_name ORDER BY RH.Restore_Date DESC),
RH.Restore_date,
BS.[database_name] as Source_Database,
RH.Destination_Database_Name,
BS.Backup_Start_Date,
BS.Backup_Finish_Date,
CASE WHEN RH.restore_type = 'D' THEN 'Database'
WHEN RH.restore_type = 'F' THEN 'File'
WHEN RH.restore_type = 'G' THEN 'Filegroup'
WHEN RH.restore_type = 'I' THEN 'Differential'
WHEN RH.restore_type = 'L' THEN 'Log'
WHEN RH.restore_type = 'V' THEN 'Verifyonly'
WHEN RH.restore_type = 'R' THEN 'Revert'
ELSE RH.restore_type
END AS Restore_Type,
RH.[Replace],
RH.[Recovery],
RH.Restore_Date AS Restored_On,
BMF.physical_device_name AS Restored_From,
RF.destination_phys_name AS Current_DB_File_Location,
RH.user_name AS Restored_By,
BS.machine_name,
BS.Server_Name
FROM msdb.dbo.RestoreHistory RH
INNER JOIN msdb.dbo.BackupSet BS ON RH.backup_set_id = BS.backup_set_id
INNER JOIN msdb.dbo.restorefile RF ON RH.Restore_History_id = RF.Restore_History_id
INNER JOIN msdb.dbo.Backupmediafamily BMF ON bs.media_set_id = bmf.media_set_id
)
SELECT *
FROM MostRecentRestore
WHERE [RowNum] = 1 AND destination_database_name = 'YourDatabaseName'
Select Destination_database_name,
restore_date,database_name as Source_database,
Physical_device_name as Backup_file_used_to_restore
from msdb.dbo.restorehistory rh
inner join msdb.dbo.backupset bs
on rh.backup_set_id=bs.backup_set_id
inner join msdb.dbo.backupmediafamily bmf
on bs.media_set_id =bmf.media_set_id
ORDER BY [rh].[restore_date] DESC
বিস্তারিত তথ্যের জন্য আপনি নীচের লিঙ্কটি চেক করতে পারেন:
http://www.passionforsql.com/how-to-find-when-last-database-backuprestore-was-done/