Atenção: esse artigo tem um vídeo complementar. Clique e assista!

De que se trata o artigo:

Este artigo tem por objetivo apresentar como podemos utilizar os recursos de triggers no SQL Server 2008 de forma clara e fácil para profissionais com diferentes níveis de conhecimento. Será apresentada uma estratégia adotando triggers para identificar operações e logins que as executaram a fim de apoiar no gerenciamento e segurança das informações em um banco de dados.


Para que serve:

Este recurso pode ser utilizado em diversos cenários, sendo um dos seus principais objetivos garantir a integridade de dados nas aplicações, fornecendo ao usuário a garantia que seus dados não irá sofrer alterações de forma inesperada, ou até mesmo pode ser útil num cenário onde se deseja encontrar operações maliciosas, que será o foco deste artigo.

Em que situação o tema é útil:

Este artigo pode ser útil em ambientes corporativos, onde um dos principais objetivos é garantir a integridade/segurança dos dados de forma robusta.

Antigamente não possuíamos um mecanismo robusto que possibilitasse um controle/manipulação mais aprimorado dos dados, ou melhor, algo que nos permitisse identificar e armazenar informações maliciosas que são executadas por “usuários fantasmas”. No entanto, devido à evolução de novos softwares, algoritmos e aplicativos em geral, temos hoje a capacidade de obter ‘todas’ essas informações com maior naturalidade.

Quando trabalhamos com dados críticos, é inevitável o uso de algum aplicativo de terceiros ou algum(a) feature/objeto que nos forneça um mecanismo que possa nos garantir integridade dos dados e um nível abstrato de segurança. Com isso, podemos garantir que se houverem mudanças que não estejam baseadas na política adotada pela empresa, haverá um alerta informando que não é possível que os dados sejam alterados, ou então, sejam armazenadas em um objeto todas as informações que foram violadas adulterando os padrões da empresa.

Neste contexto, este artigo terá por objetivo apresentar diversas informações sobre o que são triggers, em quais situações poderíamos e porque utilizá-las, exibindo assim desde a sua criação até um cenário prático que pode ser útil quando nosso objetivo trata-se de obter um certo nível de segurança na camada de dados. O maior objetivo com a aplicação de triggers neste artigo será apresentar uma solução para capturar operações realizadas e com isso descobrir modificações executadas em nosso banco de dados. Este cenário pode ser útil para Administradores de Banco de Dados (DBA).

O que são Triggers?

Triggers pode ser definida como um objeto armazenado no banco de dados que pode ser utilizado para disparar um alerta definido pelo usuário quando alguma regra dentro do banco de dados for violada.

Em quais situações poderíamos utilizar triggers?

Quando estamos utilizando um aplicativo, sempre nos questionamos qual o benefício que ele irá nos gerar. Caso este seja útil para atender alguma necessidade, faremos um estudo e após isto estaremos implementando-o. No caso das triggers, podemos utilizar este recurso por diversas razões:

• Notificar mudanças individuais ou alterações que foram realizadas sem uma justificativa clara.

• Prevenir o acesso a dados e objetos por usuários não autorizados.

• Adicionar informações não confiáveis em tabelas rígidas.

• Assegurar que dados, no decorrer de sua vida, permaneçam íntegros de forma que possam sofrer alterações sem modificar suas relações.

Além das diversas opções citadas acima, podemos utilizar as triggers em várias ocasiões baseadas em uma aplicação real que envolva alertas, notificações e mensagens instantâneas, ou seja, pode ser útil o uso dessa funcionalidade para disparar algum evento quando ocorrer uma das seguintes ações:

• Arquivo de log estiver chegando ao limite máximo de tamanho/capacidade.

• Houver alteração no esquema (schema) do banco de dados.

• Quando logins e usuários são deletados/alterados/inseridos.

• Quando houver violação em uma constraint (restrição), ou algo do gênero.

• Prevenir acidentalmente a deleção de stored procedure (procedimentos armazenados), ...

Quer ler esse conteúdo completo? Tenha acesso completo