Category Archives: Auditoria

Agora tenho uma página no Facebook

Olá pessoal,

Recentemente criei uma página deste meu blog no Facebook para compartilhar assuntos relacionados a banco de dados SQL Server e também BI já que ultimamente tenho entrado um pouco nesse mundo.

Lá eu divulgo, postagens não apenas minhas, mas conteúdos que eu acho interessante e que não necessariamente criaria um post em especifico. Então, se você tem facebook e me segue por aqui, te recomendo a seguir também a minha página!

Então peço que curtam a minha página, isso me motiva mais e mais a continuar postando vários assuntos relacionados ao SQL Server.

https://www.facebook.com/frecciablog/

image

Abraços e até logo!

Marcos Freccia
Data Platform MVP

Habilitar auditoria preview no SQL Database

Olá pessoal,

Acabou de sair uma boa novidade para todos aqueles que utilizam SQL Database. Acaba de ser lançado auditoria para o SQL Database.

Para aqueles que quiserem testar a auditoria no SQL Database, segue o link abaixo que demonstra como realizar o mesmo.

 

http://azure.microsoft.com/en-us/documentation/articles/sql-database-auditing-get-started/

 

Abraços e bons estudos.

Marcos Freccia
SQL Server MVP

Retornando o status do serviço via PowerShell

Olá pessoal,

Passando aqui apenas para compartilhar mais um simples script PowerShell com vocês. A intenção do script é varrer uma lista de servidores de SQL Server e retornar apenas os serviços que estiverem com o status de stopped. O Script utiliza o cmdlet Get-Service. Read the rest of this entry

Auditoria em todas as SKUs do SQL Server 2012

Olá pessoal,

Como o próprio titulo sugere a grande novidade de hoje é que agora todas as versões Premium do SQL Server 2012 suportam a Auditoria. Até no SQL Server 2008 isso não era possível, porem como o  SQL Trace será retirado de versões futuras a Microsoft se viu obrigada então a colocar a Auditoria disponível nas outras versões.

Vamos demonstrar apenas um teste então de como realmente é possível em uma versão Standard. Read the rest of this entry

SQL Server 2012: User-Defined Audit Event

Olá pessoal,

Atualmente possuimos no SQL Server 2008 assim como no 2012 a possibilidade de criarmos auditorias a nivel de instancia e a nivel de base de dados, porem até o 2008 nao tinhamos a possibilidade de criar nossas proprias Auditorias personalizadas assim como as server roles. Foi por isso então que no SQL Server 2012 foi introduzido a possibilidade de voce mesmo criar suas proprias auditorias.

Mas como faço isso? Abaixo vamos mostrar o passo a passo dessa nova funcionalidade.

Passo 1: Necessario criar a Auditoria para informar local onde vou salvar meus arquivos de auditoria e demais configurações.

image

Passo 2: Criar uma especificação a nivel de servidor utilizando o tipo de auditoria “USER_DEFINED_AUDIT_GROUP”.

image

Depois disso ativamos primeiramente a especificação dessa auditoria Security –> Server Audit Specifications e depois em Security –> Audit e ativamos as mesmas.

Passo 3: Para salvar nossas auditorias personalizadas existe uma nova procedure chamada sp_audit_write (colocar referencia).

exec master.sys.sp_audit_write @user_defined_event_id = 27,
@succeeded = 0,
@user_defined_information = N’Algum texto de exemplo’

Feito isso podemos consultar nosso arquivo de auditoria para nos certificarmos que nossa informação foi realmente auditada.

select event_time,succeeded =
CASE
WHEN cast(succeeded as varchar(20)) = 1 THEN ‘Ação concluida com sucesso’
WHEN cast(succeeded as varchar(20))= 0 THEN ‘Ação não foi concluida com sucesso’
END ,server_principal_name,database_principal_name,server_instance_name,
database_name,[object_name],user_defined_event_id,user_defined_information
from fn_get_audit_file(‘C:\Audit\*’,null,null)

Confesso que gostei bastante dessa nova funcionalidade, pois ela nos dá uma infinidade de novas possibilidades de auditorias.

Segue um pequeno exemplo onde pode ser totalmente util.

create database UserAuditDefined
go
use UserAuditDefined
go
create table tblPasswords ( id int identity, UsrLogin varchar(30), UsrPassword varbinary(128))
go
create unique index ix_UsrLogin on tblPasswords(UsrLogin)
go
create procedure NewLogin
@NewLogin nvarchar(30),@NewPassword nvarchar(128)
as
BEGIN TRY
declare @ConvertPassword varbinary(128)
declare @InformacaoAdicional nvarchar(500)
set @ConvertPassword = (select PWDENCRYPT(@NewPassword))

insert into tblPasswords
values (@NewLogin,@ConvertPassword)

select @InformacaoAdicional = N’Usuario ‘ + QUOTENAME(@NewLogin) + ‘ cadastrado com sucesso’;
EXEC sys.sp_audit_write 1, 1, @InformacaoAdicional
END TRY
BEGIN CATCH
select @InformacaoAdicional = N’Não foi possivel cadastrar o usuario ‘ + QUOTENAME(@NewLogin) + ‘. Motivo: ‘ + ERROR_MESSAGE();
EXEC sys.sp_audit_write 1, 0, @InformacaoAdicional
select ERROR_LINE(),ERROR_NUMBER(),ERROR_PROCEDURE(),ERROR_SEVERITY(),ERROR_STATE(),ERROR_MESSAGE()
END CATCH

Vamos rodar um teste

exec NewLogin N’marcos.freccia’,N’SQLServer2012′

E executar a consulta novamente.

select succeeded =
CASE
WHEN cast(succeeded as varchar(20)) = 1 THEN ‘Ação concluida com sucesso’
WHEN cast(succeeded as varchar(20))= 0 THEN ‘Ação não foi concluida com sucesso’
END ,server_principal_name,database_principal_name,server_instance_name,
database_name,[object_name],user_defined_event_id,user_defined_information
from fn_get_audit_file(‘C:\Audit\*’,null,null)

image

Como podem ver, apenas inclui o erro também na auditoria.

Bom pessoal por hoje era isso, espero que tenham gostado dessa nova funcionalidade de claro dessa semana focada em SQL Server 2012. Siga meu blog, pois sempre teremos novos assuntos relacionados a nova plataforma de dados da Microsoft.
Segunda Feira – DMF não documentada
Terça – Feira – SQL Server 2012: SSMS Snippets
Quarta – Feira – SQL Server 2012: Nova facet para Server Role
Quinta – Feira – SQL Server 2012: Nova aba de Startup

Abraços,
Marcos Freccia
[MCTS|MCITP|MCT SQL Server 2008]