Sample Header Ad - 728x90

How to combine multiple EXEC statements into a single SELECT?

0 votes
2 answers
1560 views
I run this every month to extract database logs, and I have to change the dates as well. DECLARE @start DATETIME SET @start = CONVERT(DATETIME, '2020-08-01 00:00'); DECLARE @end DATETIME SET @end = CONVERT(DATETIME, '2020-08-31 23:59'); DECLARE @searchString1 NVARCHAR(256) = 'BACKUP'; DECLARE @searchString2 NVARCHAR(256) = ''; EXEC xp_readerrorlog 0, 1, @searchString1, @searchString2, @start, @end; EXEC xp_readerrorlog 1, 1, @searchString1, @searchString2, @start, @end; EXEC xp_readerrorlog 2, 1, @searchString1, @searchString2, @start, @end; EXEC xp_readerrorlog 3, 1, @searchString1, @searchString2, @start, @end; EXEC xp_readerrorlog 4, 1, @searchString1, @searchString2, @start, @end; EXEC xp_readerrorlog 5, 1, @searchString1, @searchString2, @start, @end; However, I get multiple results that I have to manually sift through and combine How can I do something like this: SELECT * FROM (EXEC xp_readerrorlog 0, 1, @searchString1, @searchString2, @start, @end) UNION ALL SELECT * FROM (EXEC xp_readerrorlog 1, 1, @searchString1, @searchString2, @start, @end) UNION ALL etc Obviously, this does not work. I get > Incorrect syntax near the keyword 'EXEC'. Is there a better way?
Asked by Fandango68 (295 rep)
Sep 23, 2020, 05:52 AM
Last activity: Sep 23, 2020, 08:34 AM