Recentemente eu passei por um episódio onde eu precisava encontrar objetos alterados em um schema do banco de dados.
O que aconteceu basicamente foi um usuário alterou uma procedure no ambiente de produção do SQL Server. Minha missão era encontrar qual era esse usuário e revogar as permissões de alteração de objetos no SQL Server.
Vou mostrar a vocês como se resolve isso de duas formas bem simples.
A primeira é, você pode acessar o Management Studio, clicar com o botão direito na base de dados onde foi alterado o objeto e no menu escolher a opção Reports -> Standard Reports -> Schema Changes History.
Aparecerá algo parecido com isso, como eu já sei qual foi o objeto que eu alterei para mostrar como exemplo vocês poderão ver na imagem abaixo mostrando o horário, o tipo de comando, login, e usuário.
Além dessa forma tem como você também saber via script:
USE SEUBANCO
SELECT StartTime
,LoginName
,g.ObjectName
--,g.*
FROM sys.traces t
CROSS APPLY fn_trace_gettable(REVERSE(SUBSTRING(REVERSE(t.path),
CHARINDEX('\', REVERSE(t.path)),
260)
) + N'log.trc', DEFAULT) g
WHERE t.is_default = 1
AND ObjectName LIKE '%NOMEDOSEUOBJETO%'
AND EventClass IN (46, /*Objeto Criado*/
47, /*Objeto Apagado*/
164 /*Objeto Alterado*/ )
Saiba como a função UPPER() no SQL Server pode degradar a performance das suas consultas…
Saiba agora mesmo como você pode diminuir o RESOURCE_SEMAPHORE_QUERY_COMPILE no SQL Server. Recentemente eu trabalhei em…
Nós DBA' e desenvolvedores quase sempre temos que trabalhar com datas quando se trata de…
Quais são as diferentes maneiras de proteger o login Senha do Administrador (SA)? Todos estão…
Com os direitos que o login sa tem por padrão no SQL Server, é obrigatório…
Como um DBA, você tem a responsabilidade de garantir a segurança do aplicativo e dos…