1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
DECLARE @filePath NVARCHAR(500) = 'C:\temp\report_log_shipping.csv'
Declare @cmd Nvarchar(2000)
Declare @cmd2 Nvarchar(2000)
set @cmd2 = 'set nocount on; select
CASE WHEN DATEDIFF(MINUTE, CONVERT(datetime,STUFF(STUFF(STUFF(STUFF(STUFF(SUBSTRING(last_copied_file, LEN(last_copied_file) - 17, 14),5,0,''-''),8,0,''-''),11,0,'' ''),14,0,'':''),17,0,'':''),120),
CONVERT(datetime,STUFF(STUFF(STUFF(STUFF(STUFF(SUBSTRING(last_restored_file, LEN(last_restored_file) - 17, 14),5,0,''-''),8,0,''-''),11,0,'' ''),14,0,'':''),17,0,'':''),120)) > -60
THEN ''Good'' ELSE ''Alert'' END AS Status,
DATEDIFF(MINUTE, CONVERT(datetime,STUFF(STUFF(STUFF(STUFF(STUFF(SUBSTRING(last_copied_file, LEN(last_copied_file) - 17, 14),5,0,''-''),8,0,''-''),11,0,'' ''),14,0,'':''),17,0,'':''),120),
CONVERT(datetime,STUFF(STUFF(STUFF(STUFF(STUFF(SUBSTRING(last_restored_file, LEN(last_restored_file) - 17, 14),5,0,''-''),8,0,''-''),11,0,'' ''),14,0,'':''),17,0,'':''),120)) as difference_timestamp,
primary_server, primary_database, secondary_database, restore_threshold, last_copied_file, last_copied_date, last_restored_file, last_restored_date, last_restored_latency FROM ##log_shipping_info'
set @cmd = 'sqlcmd -s, -W -Q "'+ @cmd2 + '" | findstr /v /c:"-" /b > ' + @filePath + ''
Select @cmd
EXEC master.dbo.xp_cmdshell @cmd |
Partager