Em 2000, o papel público tem acesso a muito mais do que em 2005 em diante - esta pode ser a fonte dos problemas do auditor. A separação do usuário / esquema deve cuidar da maioria dos problemas, mas você deve criar um usuário com permissões mínimas e ver o que ele pode ver. Você vai querer tentar:
master.sys.databases (e qualquer outra coisa que possa fornecer informações sobre o que está armazenado na instância) master.dbo.syslogins (que contém os hashes de senha - sysxlogins em 2000)
E você também quer mudar todos os XPs no mestre para que o papel público não tenha permissão de execução em nenhum deles. Há um artigo e um código que fará isso aqui .
Note que NÃO é recomendado alterar a função pública em si de forma alguma.
Espero que isso ajude!
PS Se você retornar um NULL para a senha na tabela syslogins, é porque o login não está usando a autenticação do SQL. Usar o Windows apenas é uma boa maneira de remover esse risco, mas você ainda precisa ter uma senha para a conta SA (desativada).