Jump to content
Sign in to follow this  
ClaudioBH

Configuração de Usuários

Recommended Posts

Pessoal, muito bom dia!!!!!!

Peço a gentileza para os colegas que saibam como implementar o sistema para que possamos acompanhar as ações dos usuários, ou seja, quando acontece aquele caso que filho feio não tem pai, se é que me entendem "ah eu não fui, " nem eu" "nei sei mexer nisso", então para que não escute mais isso gostaria de ter um log com as ações dos usuários. Isso é realmente possivel no Labore?

Desde já agradeço atenção dos colegas.

um abraço

José Cláudio. :)

Share this post


Link to post
Share on other sites

É sim, vc tem que instalar o LOG de auditoria...

Através dele vc escolhe quais tabelas serão monitoradas.

Se não me engano, é pago.

Liga lá no suporte e fala com o pessoal do gerador de relatórios.

Agora os mininu feio vão ter pai! Isso aí é melhor que DNA...

Share this post


Link to post
Share on other sites

Amigo, o Log de auditoria é uma ferramenta bacana mas se ainda não usou cuidado... Se você ativar muitas tabelas o seu servidor de banco vai ficar muito lento.

Quanto a conseguir o Log a RM tem dificultado a liberação do mesmo pois várias empresas que o implementaram tiveram uma queda grande na produtivade do servidor (item descrito acima).

Acho que tenho o log no meu escritório, qual versão você precisa?

Share this post


Link to post
Share on other sites

aqui na empresa ja estamos usando log de auditoria há algum tempo, no entanto não é o q a RM disponibiliza....

O nosso finciona da seguinte forma: Tem uma tabela, por ex: Log_tmov nesta tabela fica registrado todas as alterações na tablela tmov. As alterações são disparadas por uma trigger q esta na tabela tmov....segue abaixo a trigger

CREATE

TRIGGER TR_LOG_TMOV ON TMOV

FOR INSERT, UPDATE, DELETE

AS

DECLARE @vOperacao varchar(15), @vIsIns INT, @vIsDel INT

SET @vIsIns = (CASE WHEN EXISTS(SELECT * FROM INSERTED) THEN 1 ELSE 0 END)

SET @vIsDel = (CASE WHEN EXISTS(SELECT * FROM DELETED) THEN 1 ELSE 0 END)

IF @vIsIns = 1 AND @vIsDel = 1 SET @vOperacao = 'UPDATE'

ELSE IF @vIsIns = 1 SET @vOperacao = 'INSERT'

ELSE IF @vIsDel = 1 SET @vOperacao = 'DELETE'

IF (@vOperacao = 'DELETE' OR @vOperacao = 'UPDATE' )

BEGIN

INSERT INTO LOG_TMOV(IDMOV, NUMEROMOV, DATAEMISSAO, CODFILIAL, CODCFO, SERIE, CODTMV, TIPO, STATUS, VALORBRUTO, VALORLIQUIDO, VALOROUTROS, OBSERVACAO, CODCCUSTO, STATUSEXPORTCONT, CODLOTE, USUARIOCRIACAO, DATACRIACAO, DATACONTABILIZACAO, DATAALTERACAO, TIPOOPERACAO, USUARIOALTERACAO, CODSISTEMA, COMPUTERNAME)

SELECT IDMOV, NUMEROMOV, DATAEMISSAO, CODFILIAL, CODCFO, SERIE, CODTMV, TIPO, STATUS, VALORBRUTO, VALORLIQUIDO, VALOROUTROS, OBSERVACAO, CODCCUSTO, STATUSEXPORTCONT, CODLOTE, USUARIOCRIACAO, DATACRIACAO, DATACONTABILIZACAO, GETDATE(), @vOperacao, USERNAME, CODSISTEMA, COMPUTERNAME

FROM

DELETED TAB

LEFT OUTER JOIN GLOGIN CN ON (CN.SPID = @@SPID)

END

IF (@vOperacao = 'INSERT')

BEGIN

INSERT INTO LOG_TMOV(IDMOV, NUMEROMOV, DATAEMISSAO, CODFILIAL, CODCFO, SERIE, CODTMV, TIPO, STATUS, VALORBRUTO, VALORLIQUIDO, VALOROUTROS, OBSERVACAO, CODCCUSTO, STATUSEXPORTCONT, CODLOTE, USUARIOCRIACAO, DATACRIACAO, DATACONTABILIZACAO, DATAALTERACAO, TIPOOPERACAO, USUARIOALTERACAO, CODSISTEMA, COMPUTERNAME)

SELECT IDMOV, NUMEROMOV, DATAEMISSAO, CODFILIAL, CODCFO, SERIE, CODTMV, TIPO, STATUS, VALORBRUTO, VALORLIQUIDO, VALOROUTROS, OBSERVACAO, CODCCUSTO, STATUSEXPORTCONT, CODLOTE, USUARIOCRIACAO, DATACRIACAO, DATACONTABILIZACAO, GETDATE(), @vOperacao, USERNAME, CODSISTEMA, COMPUTERNAME

FROM

INSERTED TAB

LEFT OUTER JOIN GLOGIN CN ON (CN.SPID = @@SPID)

END

Share this post


Link to post
Share on other sites

Pessoal, obrigado pelo empenho de todos, estou na versão 10.10.1 (100).

quanto a essa ultima trigger vou ver se consigo implementá-la aqui.

vou testando as opções que os colegas estão me mandando.

muito obrigado.

Share this post


Link to post
Share on other sites

Claudio, boa tarde...

O Log de Auditoria realmente resolve este problema, mas tem o inconveniente de significativa perda de performance... O ideal é utilizar o Log apenas para as Tabelas comuns aos Usuários, tais como Lanctos. Financeiros e Cadastros.

Share this post


Link to post
Share on other sites

aqui na empresa ja estamos usando log de auditoria há algum tempo, no entanto não é o q a RM disponibiliza....

O nosso finciona da seguinte forma: Tem uma tabela, por ex: Log_tmov nesta tabela fica registrado todas as alterações na tablela tmov. As alterações são disparadas por uma trigger q esta na tabela tmov....segue abaixo a trigger

CREATE

TRIGGER TR_LOG_TMOV ON TMOV

FOR INSERT, UPDATE, DELETE

AS

DECLARE @vOperacao varchar(15), @vIsIns INT, @vIsDel INT

SET @vIsIns = (CASE WHEN EXISTS(SELECT * FROM INSERTED) THEN 1 ELSE 0 END)

SET @vIsDel = (CASE WHEN EXISTS(SELECT * FROM DELETED) THEN 1 ELSE 0 END)

IF @vIsIns = 1 AND @vIsDel = 1 SET @vOperacao = 'UPDATE'

ELSE IF @vIsIns = 1 SET @vOperacao = 'INSERT'

ELSE IF @vIsDel = 1 SET @vOperacao = 'DELETE'

IF (@vOperacao = 'DELETE' OR @vOperacao = 'UPDATE' )

BEGIN

INSERT INTO LOG_TMOV(IDMOV, NUMEROMOV, DATAEMISSAO, CODFILIAL, CODCFO, SERIE, CODTMV, TIPO, STATUS, VALORBRUTO, VALORLIQUIDO, VALOROUTROS, OBSERVACAO, CODCCUSTO, STATUSEXPORTCONT, CODLOTE, USUARIOCRIACAO, DATACRIACAO, DATACONTABILIZACAO, DATAALTERACAO, TIPOOPERACAO, USUARIOALTERACAO, CODSISTEMA, COMPUTERNAME)

SELECT IDMOV, NUMEROMOV, DATAEMISSAO, CODFILIAL, CODCFO, SERIE, CODTMV, TIPO, STATUS, VALORBRUTO, VALORLIQUIDO, VALOROUTROS, OBSERVACAO, CODCCUSTO, STATUSEXPORTCONT, CODLOTE, USUARIOCRIACAO, DATACRIACAO, DATACONTABILIZACAO, GETDATE(), @vOperacao, USERNAME, CODSISTEMA, COMPUTERNAME

FROM

DELETED TAB

LEFT OUTER JOIN GLOGIN CN ON (CN.SPID = @@SPID)

END

IF (@vOperacao = 'INSERT')

BEGIN

INSERT INTO LOG_TMOV(IDMOV, NUMEROMOV, DATAEMISSAO, CODFILIAL, CODCFO, SERIE, CODTMV, TIPO, STATUS, VALORBRUTO, VALORLIQUIDO, VALOROUTROS, OBSERVACAO, CODCCUSTO, STATUSEXPORTCONT, CODLOTE, USUARIOCRIACAO, DATACRIACAO, DATACONTABILIZACAO, DATAALTERACAO, TIPOOPERACAO, USUARIOALTERACAO, CODSISTEMA, COMPUTERNAME)

SELECT IDMOV, NUMEROMOV, DATAEMISSAO, CODFILIAL, CODCFO, SERIE, CODTMV, TIPO, STATUS, VALORBRUTO, VALORLIQUIDO, VALOROUTROS, OBSERVACAO, CODCCUSTO, STATUSEXPORTCONT, CODLOTE, USUARIOCRIACAO, DATACRIACAO, DATACONTABILIZACAO, GETDATE(), @vOperacao, USERNAME, CODSISTEMA, COMPUTERNAME

FROM

INSERTED TAB

LEFT OUTER JOIN GLOGIN CN ON (CN.SPID = @@SPID)

END

Essa função (CN.SPID = @@SPID), tá dando pau aqui...

Share this post


Link to post
Share on other sites

Essa função (CN.SPID = @@SPID), tá dando pau aqui...

verifique a versão do servidor, testei em um 2005 e funcionou...

eu sugiro também uma trigger no banco, se algum cliente pedisse tal log e houvesse, digamos, dificuldade em conseguir junto à matriz, não seria difícil implementar tal trigger.

E reforço o coro:

MUITO CUIDADO COM ISTO!!!!! PODE FAZER COM QUE O BANCO VIRE UM PAQUIDERME OBESO E MANCO

:)

Share this post


Link to post
Share on other sites

verifique a versão do servidor, testei em um 2005 e funcionou...

eu sugiro também uma trigger no banco, se algum cliente pedisse tal log e houvesse, digamos, dificuldade em conseguir junto à matriz, não seria difícil implementar tal trigger.

E reforço o coro:

MUITO CUIDADO COM ISTO!!!!! PODE FAZER COM QUE O BANCO VIRE UM PAQUIDERME OBESO E MANCO

:)

É SQL 2000 aqui... por isso sera?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.