Pergunta

Quero executar um relatório para garantir que a senha de cada usuário esteja definida para expirar a cada 30 dias, mas o intervalo de expiração não parece estar armazenado em syslogins?

Foi útil?

Solução

Você pode receber relatório com o seguinte proc:

use sybsystemprocs
go
----------------------------------------------------------------------------
print 'sp__helpexpire'
----------------------------------------------------------------------------
if exists (select 1 from sysobjects where  type = "P" and  name = "sp__helpexpire")
        drop proc sp__helpexpire
go
create procedure sp__helpexpire
as
begin
  set nocount on
  declare @swexpire int
  select @swexpire=value from master.dbo.sysconfigures
    where name = 'systemwide password expiration'
  print "Serverwide password expire: %1!" ,@swexpire
  print ""
  print "Logins:"
  print "=============================================================="
  select l.name login , case a.int_value
      when null then @swexpire
      else a.int_value end "expire in days"
    from master.dbo.syslogins l , master.dbo.sysattributes a
    where l.suid *= a.object
      and a.object_type='PS'
      and a.attribute=0
      and object_cinfo='login'
  print ""
  print "Roles:"
  print "=============================================================="
  select r.name "role name", case a.int_value
      when null then @swexpire
      else a.int_value end "expire in days"
    from master.dbo.syssrvroles r , master.dbo.sysattributes a
    where r.srid *= a.object
      and a.object_type='PS'
      and a.attribute=0
      and object_cinfo='role'
end
go

É sempre uma boa idéia verificar o código -fonte desses procedimentos do sistema (armazenado no banco de dados SybSystemProcs) que manipulam com os registros que você está procurando (neste caso, é sp_addlogin, sp_modifyLogin)

Outras dicas

Você pode usar o sp_configure para definir a data de expiração de senha de todos os usuários

sp_configure "systemwide password expiration", 30
go

Definirá todas as senhas dos usuários para expirar após 30 dias. Não tenho certeza se esse valor pode ser lido para um relatório. O padrão é 0.

tentar

EXEC SP_DISPLAYLOGIN

Para obter as perms para as configurações de um usuário individual, conectado como usuário.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top