Query para capturar usuários logados por dia

Galera, Bom Dia.

Estou tentando fazer uma query na tabela SYS_USR para capturar a quantidade de usuários que logaram no sistema através da coluna USR_DTLOGON, mas a realidade não bate com o tanto de usuários que tenho que logam no sistema diariamente.

Alguém poderia me dar um help de como montar essa consulta?

Gilson, no meu entendimento você está correto quanto a tabela e o campo a ser filtrado.
Aqui para mim fez sentido a quantidade de usuários retornados na query que fiz utilizando a tabela SYS_USR, e filtrando pelo campo USR_DTLOGON, segue exemplo de consulta que utilizei:

SELECT * FROM SYS_USR
WHERE USR_DTLOGON = FORMAT(GETDATE(),‘yyyyMMdd’) AND D_E_L_E_T_ = ‘’

Utilizei o GETDATE() para pegar a data atual, e o format para que o valor ficasse no mesmo formato que a data é armazenada no campo USR_DTLOGON.

3 curtidas

Gilson, tbm estou com esse problema, o campo USR_DTLOGON não é atualizado automaticamente, eu achei essa outra tabela que parece mais real…

SELECT
USRLG.USR_ID
,USR.USR_CODIGO
,USR.USR_NOME
,USRLG.USR_DTLOGON
,USR.USR_DTLOGON
FROM SYS_USR_LOGIN USRLG
INNER JOIN SYS_USR USR ON
USRLG.USR_ID=USR.USR_ID
WHERE USRLG.USR_DTLOGON>=‘20251002’

Olá,

Não é comendado fazer querys nas tabelas de sistema, o Framework altera essas tabelas conforme necessidade, visto que as mesmas não são documentadas ou possuem metadados, inclusive esses dados de login foram recentemente alterados, por isso, ressaltado, não adianta fazer a leitura de tabelas e campos não documentados, sua rotina deixará de funcionar sem aviso prévio.

Nas políticas do sistema, no Configurador, é possível configurar o rastro de usuário, configurando a auditoria de login, inclusive login via API, com essa configuração, você vai ter acesso a um relatório e assim ter exatamente essa informação que precisa.

Documentações:
Política de Segurança - Frameworksp - TDN
Rotinas de Logs e Auditoria - Frameworksp - TDN
Auditoria de logs de autenticação/acesso no Rest - Frameworksp - TDN