Descobrindo Auditoria no SQL SERVER 2008 – Parte 6

Olá Pessoal,

Hoje nós vamos continuar aquela série de Auditoria que comecei algum tempo atrás e não terminei de postar aqui no blog, para quem não viu segue os links dos posts anteriores:

Vamos lá! Agora que criamos o nosso Server Audit Objects precisamos adicionar especificação de auditoria correspondente. Se quisermos fazer uma auditoria no nível de instância, teremos que criar um Server Audit Specification. Vamos auditar toda vez que for gerado um backup ou restore no servidor. O nome do Action Group utilizado nesse exemplo será BACKUP_RESTORE_GROUP.

1) Vamos criar o Server Audit Specification. Abra o SSMS vá em Security \Server Audit Specification \New Server Audit Specification..

1

2) Preencha o campo “Name”, nesse exemplo coloquei o nome da especificação de auditoria + action group = ServerAuditSpecificationBackupRestore. Estou fazendo isso para facilitar o entendimento de quem esta administrando o servidor de banco de dados, ou para facilitar uma possível manutenção.

3) Na opção “Audit” devemos preencher com um dos Server Audit Objects criado anteriormente. Nesse caso vou querer armazenar os dados auditados no Application Log. Selecione a opção “TargetApplicationLogTSQL” (criado anteriormente). Conforme figura abaixo:

2

4) No campo Audit Action Type, selecione BACKUP_RESTORE_GROUP. Ao fazer isso as outras opções de configuração serão desabilitadas. Clique no botão OK.

3

5) Agora vamos habilitar o Server Audit Specification criado, para iniciarmos a coleta dos dados. Podemos fazer de duas maneiras, clicando com o botão direito em cima do objeto adicionado e selecionando a opção “Enable Server Audit Specification“, ou via TSQL.

4

6) Se fosse através de consulta o script ficaria dessa maneira: ALTER SERVER AUDIT SPECIFICATION [ServerAuditSpecificationBackupRestore] WITH (STATE = ON) GO

7) O script abaixo cria um banco de dados, depois uma tabela, faz a inserção dos dados e por fim faz o backup e um restore para vermos se os dados realmente estão sendo auditados.

————————————
–CRIAR BANCO DE DADOS AUDITORIA
————————————
IF (SELECT DB_ID (‘AUDITORIA’)) IS NULL
BEGIN
CREATE DATABASE AUDITORIA
END
GO

———————-
–CRIAR TABELA
———————-
USE AUDITORIA
GO

CREATE TABLE TABServerSpecification
(ID Int Identity(1,1) PRIMARY KEY,
Nome VarChar(250)DEFAULT NewID())

———————-
— INSERT
———————-

INSERT INTO TABServerSpecification DEFAULT VALUES
GO 10000

————————————
–FAZER BACKUP DO BANCO AUDITORIA
————————————

BACKUP DATABASE Auditoria
TO DISK = ‘C:\Auditoria\Auditoria.bak’
WITH FORMAT;
GO

————————————
— DROP NO BANCO AUDITORIA
————————————
USE MASTER
GO

DROP DATABASE AUDITORIA
GO

————————————
–RETORE BANCO DE DADOS AUDITORIA
————————————
RESTORE DATABASE AUDITORIA
FROM DISK = ‘C:\Auditoria\Auditoria.bak’
WITH RECOVERY
GO

8) Vamos verificar se o que acabamos de fazer foi realmente auditado, para isso procure a opção “Error Logs”. Selecione “Current…” com o botão direito e clique em “View Agent Log”.

8

9) Selecione a seguinte opção: Windows NT.

7

Verifique que todas as linhas que possuem uma chave foram os dados auditados, no nosso caso o backup e o restore que fizemos.

Então é isso gente! Até a próxima. 🙂

Cibelle Castro.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s