terça-feira, 15 de fevereiro de 2011

Registrando alterações em uma base de dados - Parte 1

Quando se fala de segurança de uma base de dados, é fundamental conhecer os usuários que acessam uma base de dados e definir as permissões adequadas para cada usuário, configurando de forma que cada usuário tenha acesso somente aos dados que lhe são necessários.

Mesmo garantindo que cada usuário tenha as permissões adequadas, pode ser necessário armazenar um registro (log) das alterações realizadas na base de dados. Esse registro pode ser uma ferramenta importante para realizar auditorias, garantir a qualidade dos dados e também para monitorar alterações realizadas de forma maliciosa.

Um bom registro de log de alterações deve armazenar QUEM (login do usuário) realizou a alteração, QUANDO esta alteração foi realizada e O QUE foi alterado. Pode-se utilizar Triggers (discutiremos sobre elas nos próximos artigos) para disparar a gravação dos registros de um log.

Por enquanto falaremos sobre como obter as informações necessárias para gravar um histórico de alterações.

Como recuperar o usuário logado em uma base de dados SQL Server?
 
Para realizar esta tarefa, pode-se utilizar a função de sistema SYSTEM_USER.
Faça o teste:

SELECT SYSTEM_USER

Como recuperar o horário atual do servidor SQL Server?
 
A função GETDATE() retorna a data e hora atual do Sistema Operacional.
Faça o teste:

SELECT GETDATE()

Nos próximos artigos, veremos um pouco mais sobre auditoria de dados...

Referência:

MSDN - SYSTEM_USER 
MSDN - GETDATE (TRANSACT-SQL) 

Nenhum comentário:

Postar um comentário