@@ -288,11 +288,23 @@ def create_login_manifest (testcase,login_name,login_password,options = {})
288288 end
289289
290290 it "should have the specified sysadmin role" do
291- query = "SELECT 'is_sysadmin' AS result WHERE IS_SRVROLEMEMBER('sysadmin','#{ @login_under_test } ') = 1"
291+ # Note - IS_SRVROLEMEMBER always returns false for a disabled WINDOWS_LOGIN user login
292+ query = "SELECT pri.name from sys.server_role_members member
293+ JOIN sys.server_principals rol ON member.role_principal_id = rol.principal_id
294+ JOIN sys.server_principals pri ON member.member_principal_id = pri.principal_id
295+ WHERE rol.type_desc = 'SERVER_ROLE'
296+ AND rol.name = 'sysadmin'
297+ AND pri.name = '#{ @login_under_test } '"
292298 run_sql_query ( host , run_sql_query_opts_as_sa ( query , expected_row_count = 1 ) )
293299 end
294300 it "should have the specified serveradmin role" do
295- query = "SELECT 'is_serveradmin' AS result WHERE IS_SRVROLEMEMBER('serveradmin','#{ @login_under_test } ') = 1"
301+ # Note - IS_SRVROLEMEMBER always returns false for a disabled WINDOWS_LOGIN user login
302+ query = "SELECT pri.name from sys.server_role_members member
303+ JOIN sys.server_principals rol ON member.role_principal_id = rol.principal_id
304+ JOIN sys.server_principals pri ON member.member_principal_id = pri.principal_id
305+ WHERE rol.type_desc = 'SERVER_ROLE'
306+ AND rol.name = 'serveradmin'
307+ AND pri.name = '#{ @login_under_test } '"
296308 run_sql_query ( host , run_sql_query_opts_as_sa ( query , expected_row_count = 1 ) )
297309 end
298310
0 commit comments