Escolar Documentos
Profissional Documentos
Cultura Documentos
Herleson Pontes
MCT | MCITP | MCSA | MCTS
http://www.herlesonpontes.com.br/
http://www.twitter.com/herlesonpontes
Agenda
Visão Geral
Auditoria nas versões anteriores
Auditando Dados com Tabela Espelho
Cláusula OUTPUT
Default Trace (Profiler)
DDL Triggers
Event Notification
Auditoria no SQL Server 2008 R2
Change Tracking
Change Data Capture
SQL Audit
2
Visão Geral
Porque auditar uma solução de dados?
Auditar modificações de schema
Auditar modificações de dados
Analisar as atividades realizadas no seu banco e
detectar possíveis falhas na segurança (Quem acessou
seu dados e quando?)
Diagnosticar falhas ocasionadas por alterações na
configuração do servidor (Quando a configuração
mudou?)
Entender a utilização dos dados da sua base por parte
dos usuários do sistema
Atender a requisitos de auditoria SOX
3
Auditoria nas versões anteriores
Auditando Dados com Tabela Espelho
Técnica bastante utilizada nas auditorias de dados
SQL Server 2000 ou anteriores
Auditoria de Operações DML
Consiste em ter tabelas idênticas com triggers
monitorando as operações
A tabela espelho armazena os dados afetados pelas
operações
Fácil introdução de erros no processo
Requer alteração no modelo lógico
Impacto na performance (cuidado com as triggers!!)
4
Exemplo
5
Auditoria nas versões anteriores
Auditando dados com a cláusula OUTPUT
Auditoria de Dados no SQL Server 2005
SQL Server 2005 e superiores
Auditoria de Operações DML
Ainda requer a utilização de tabela espelho
A tabela espelho armazena os dados afetados pelas
operações
Requer alteração de código das operações
Impacto em performance é praticamente zero
Não requer uso de triggers !!
6
Exemplo OUTPUT
7
Exemplo INSERT
8
Exemplo UPDATE
9
Exemplo DELETE
10
Auditoria nas versões anteriores
Default Trace
Auditoria de operações DDL e eventos de trace
Disponível a partir do SQL Server 2005
ON por default e controlado pela sp_configure ‘default
trace enable’
Armazenado no mesmo caminho que o Error Log
Caminho pode ser alterado pelo parâmetro de
inicialização -e utilizando o SSCM
Captura principalmente eventos relacionados a
auditoria
A função fn_trace_gettable foi melhorada para
permitir ler o arquivo ainda em execução
11
Exemplo Default Trace
12
Auditoria nas versões anteriores
DDL Triggers
Utilizada para auditar operações DDL
Disponível no SQL Server 2005 e superiores
São disparadas em resposta aos eventos DDL
Atua no nível servidor ou banco de dados (Ex. ALTER
TABLE, DROP TABLE, ALTER LOGIN, DROP LOGIN)
Ao invés da tabelas Inserted e Deleted, utiliza-se a
funcão EVENTDATA() para capturar informações sobre
os eventos (em formato XML)
Possibilita impedir a execução de operações DDL
Permite monitorar as alterações de schemas
É síncrono !!!
13
Exemplo DDL Triggers
14
Auditoria nas versões anteriores
Event Notification
Auditoria de operações DDL e eventos
Disponível no SQL Server 2005 e superiores
Sistema de envio de mensagens utilizando a
infraestrutura do Service Broker
Atua capturando eventos que ocorrem no nível
servidor ou banco de dados
Além dos eventos DDL disponíveis nas DDL Triggers, o
Event Notification também permite a captura de
eventos de trace como:
Audit_Login, Audit_Login_Failed, Lock_Deadlock,
Data_File_Auto_Grow, Blocked_Process_Report
É assíncrono !!!
17
Auditoria nas versões anteriores
Event Notification
Criação de um Event Notification
Criar uma FILA (QUEUE)
Criar um SERVIÇO (SERVICE) em uma FILA
Criar uma ROTA (ROUTE) para o SERVIÇO
Criar um EVENT NOTIFICATION para um SERVIÇO
Criar um SERVICE PROGRAM para processar as
notificações existentes na FILA
Para a auditoria de eventos de nível servidor, usuário
guest deve ter acesso ao msdb
EXEC('use msdb CREATE USER guest')
DENY EXECUTE,SELECT,INSERT,UPDATE,DELETE ON DATABASE::msdb to guest
18
Event Notification
19
Agenda
Visão Geral
Auditoria nas versões anteriores
Auditando Dados com Tabela Espelho
Cláusula OUTPUT
Default Trace (Profiler)
DDL Triggers
Event Notification
Auditoria no SQL Server 2008 R2
Change Tracking
Change Data Capture
SQL Audit
20
Auditoria no SQL Server 2008 R2
Novos recursos para auditoria
21
Change Tracking
Visão geral do recurso
24
Change Tracking
Etapas durante a execução de transações
Nível de tabela
ALTER TABLE HumanResources.Employee
ENABLE CHANGE_TRACKING;
Diz ao QE para monitorar as mudanças na tabela
Permite identificar quais colunas foram referenciadas
em um UPDATE
26
Change Tracking
27
Change Data Capture
Visão geral do recurso
29
Change Data Capture
Processo de gerenciamento das modificações
31
Change Data Capture
32
SQL Audit
Visão geral do recurso
33
SQL Audit
Principais características
Alvo
(Destino)
Auditoria Auditoria
no no Banco
Servidor de Dados
35
SQL Audit
36
37
Conteúdo relacionado
DBP308 Sincronizando dados com a nuvem através do SQL Azure Data Sync
e Sync Framework 2.0
DBP303 Boas práticas para upgrade do Microsoft SQL Server 2000 - 2005 - 2008 -
2008 R2
http://www.herlesonpontes.com.br - @herlesonpontes
http://www.mcdbabrasil.com.br - @nilton_pinheiro
38
© 2008 Microsoft Corporation. Todos os direitos reservados. Microsoft, Windows, Windows Vista e outros nomes de produtos são ou podem ser marcas registradas e/ou marcas comerciais nos EUA e/ou outros países.
Este documento é meramente informativo e representa a visão atual da Microsoft Corporation a partir da data desta apresentação. Como a Microsoft deve atender a condições de mercado em constante alteração, este
documento não deve ser interpretado como um compromisso por parte da Microsoft, e a Microsoft não pode garantir a precisão de qualquer informação fornecida após a data desta apresentação. A MICROSOFT NÃO DÁ
QUALQUER GARANTIA, SEJA ELA EXPRESSA, IMPLÍCITA OU ESTATUTÁRIA, REFERENTE ÀS INFORMAÇÕES DESTA APRESENTAÇÃO.
Por favor preencha a
avaliação