Skip to content

Commit e9d98e9

Browse files
committed
#3356 fix for sp_validatelogins
1 parent 5e7f4f2 commit e9d98e9

1 file changed

Lines changed: 23 additions & 10 deletions

File tree

sp_Blitz.sql

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -297,16 +297,29 @@ AS
297297
SET @SkipXPCMDShell = 1;
298298
END; /*Need execute on xp_cmdshell*/
299299

300-
IF NOT EXISTS
301-
(
302-
SELECT
303-
1/0
304-
FROM fn_my_permissions(N'sp_validatelogins', N'OBJECT') AS fmp
305-
WHERE fmp.permission_name = N'EXECUTE'
306-
)
307-
BEGIN
308-
SET @SkipValidateLogins = 1;
309-
END; /*Need execute on sp_validatelogins*/
300+
IF ISNULL(@SkipValidateLogins, 0) != 1 /*If @SkipValidateLogins hasn't been set to 1 by the caller*/
301+
BEGIN
302+
IF EXISTS
303+
(
304+
SELECT 1/0
305+
FROM fn_my_permissions(N'sp_validatelogins', N'OBJECT') AS fmp
306+
WHERE fmp.permission_name = N'EXECUTE'
307+
)
308+
BEGIN
309+
BEGIN TRY
310+
EXEC sp_validatelogins;
311+
312+
SET @SkipValidateLogins = 0 /*We can execute sp_validatelogins*/
313+
END TRY
314+
BEGIN CATCH
315+
SET @SkipValidateLogins = 1 /*We have execute rights but sp_validatelogins throws an error so skip it*/
316+
END CATCH
317+
END;
318+
END;
319+
ELSE
320+
BEGIN
321+
SET @SkipValidateLogins = 1;
322+
END; /*Need execute on sp_validatelogins*/
310323

311324
IF ISNULL(@SkipModel, 0) != 1 /*If @SkipModel hasn't been set to 1 by the caller*/
312325
BEGIN

0 commit comments

Comments
 (0)