SQL Server Audit Criando Auditoria no SQL Server
Primeiramente vamos criar uma tabela tabela_funcionários para testar a auditoria
CREATE TABLE TABELA_FUNCIONARIOS ( ID INT IDENTITY, NOME_FUNCIONARIO VARCHAR(80), SALARIO_FUNCIONARIO VARCHAR(20) ) SELECT * FROM TABELA_FUNCIONARIOS INSERT INTO TABELA_FUNCIONARIOS values ('Joao', 1000), ('Jose', 2000), ('Alexandre', 3000) SELECT * FROM TABELA_FUNCIONARIOS
Criar o arquivo de auditoria a nível de servidor
USE [master] GO CREATE SERVER AUDIT [AUDIT_TABELA_FUNCIONARIOS] TO FILE ( FILEPATH = N'C:\Auditoria' ,MAXSIZE = 0 MB ,MAX_ROLLOVER_FILES = 2147483647 ,RESERVE_DISK_SPACE = OFF ) WITH ( QUEUE_DELAY = 1000 ,ON_FAILURE = CONTINUE )
Criar a auditoria no Banco de Dados e indicar o que será auditado
USE [empresa] GO CREATE DATABASE AUDIT SPECIFICATION [DATABASE_AUDIT_TABELA_FUNCIONARIOS] FOR SERVER AUDIT [AUDIT_TABELA_FUNCIONARIOS]
Indicar que será auditado
OBS: As três linhas indicam as três possíveis varições no nome da tabela. ADD (SELECT ON OBJECT::[dbo].[TABELA_FUNCIONARIOS] BY [public]), ADD (SELECT ON OBJECT::[TABELA_FUNCIONARIOS] BY [public]), ADD (SELECT ON OBJECT::TABELA_FUNCIONARIOS BY [public]),
Caso queira excluir a auditoria
--drop DATABASE AUDIT SPECIFICATION [DATABASE_AUDIT_TABELA_FUNCIONARIOS]
Após criar a auditoria, é necessário ativá-la a nível de servidor
USE [empresa] GO ALTER SERVER AUDIT AUDIT_TABELA_FUNCIONARIOS WITH (STATE = ON); GO
Ativar a auditoria a nível de Banco de Dados
USE [empresa] GO ALTER DATABASE AUDIT SPECIFICATION [DATABASE_AUDIT_TABELA_FUNCIONARIOS] WITH (STATE = ON) GO
Testando a auditoria
SELECT * FROM [dbo].[TABELA_FUNCIONARIOS] SELECT * FROM [TABELA_FUNCIONARIOS] SELECT * FROM TABELA_FUNCIONARIOS
Realizando um UPDATE
UPDATE [dbo].[TABELA_FUNCIONARIOS] SET SALARIO_FUNCIONARIO = '1500' WHERE ID = '1'
Visualizando os LOGS
SELECT * FROM sys.fn_get_audit_file (N'C:\Auditoria\*',default,default);
Visualizando os LOGS com alguns filtros
SELECT event_time 'horario', database_name + '.' + schema_name + '.' + object_name 'objeto', statement, server_principal_name 'login', session_server_principal_name 'user' FROM sys.fn_get_audit_file (N'C:\Auditoria\*',default,default) WHERE action_id = 'SL';
Se você deseja visualizar todas as auditorias existentes no Banco de Dados
select * from sys.server_audits
Caso queira mais informações sobre o assunto, segue alguns links
- http://www.devmedia.com.br/trilha-de-auditoria-no-sql-server/4357
- http://zavaschi.com/index.php/tag/sql-server-audit/
- http://adrianobrandaodba.wordpress.com/2013/05/08/trilha-de-auditoria-no-sql-server/
- http://sqlfromhell.wordpress.com/2012/02/23/identificando-consultas-demoradas-com-o-sql-server-profiler/
- http://technet.microsoft.com/pt-br/library/cc280386.aspx
- http://technet.microsoft.com/pt-br/library/cc280404.aspx
Olá! Sou Fabio, criador do blog FabioBmed, um espaço onde compartilho minha paixão por marketing digital, tecnologia, empreendedorismo e, claro, os aprendizados do meu dia a dia. Aqui você encontrará um mix de conteúdos profissionais e pessoais, sempre com insights práticos, dicas úteis e histórias reais.
Com mais de 15 anos de experiência no mercado digital e fundador da FBDigital, minha missão é inspirar e ajudar pessoas e empresas a construírem uma base sólida no universo online. Seja por meio de estratégias de marketing, ferramentas tecnológicas ou reflexões sobre o cotidiano, meu objetivo é transformar desafios em oportunidades.
Além dos conteúdos voltados para negócios e tecnologia, também compartilho momentos do meu dia a dia, ideias que aprendo pelo caminho e até curiosidades que podem fazer a diferença na sua vida. Aqui, cada post reflete minha busca por conhecimento e minha vontade de conectar pessoas e histórias.
Conecte-se comigo e acompanhe tudo sobre marketing, tendências digitais, aprendizados pessoais e muito mais. Juntos, vamos explorar o melhor do mundo digital e da vida cotidiana!
- Site: www.fabiobmed.com.br
- WhatsApp: WhatsApp
- E-mail:
Publicação Criada em: dezembro 2, 2013
Sem atualizações registradas.