@@ -288,11 +288,23 @@ def create_login_manifest (testcase,login_name,login_password,options = {})
288
288
end
289
289
290
290
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 } '"
292
298
run_sql_query ( host , run_sql_query_opts_as_sa ( query , expected_row_count = 1 ) )
293
299
end
294
300
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 } '"
296
308
run_sql_query ( host , run_sql_query_opts_as_sa ( query , expected_row_count = 1 ) )
297
309
end
298
310
0 commit comments