Pergunta

Existe um construído em forma no SQL Server 2005 para as coisas de auditoria especificamente, como apagar um procedimento armazenado? Existe uma tabela de histórico que eu posso consultar? Temos um sproc mistério que desapareceu algumas vezes agora.

Foi útil?

Solução

Você pode construir isso usando gatilhos DDL:

http://msdn.microsoft.com/en-us/library /ms190989.aspx

Outras dicas

Só se você usar DDL gatilhos ou utilização Profiler para rastrear texto "% GOTA% PROC% procname%"

Note que no SQL Server 2008 eles também têm agora AUDIT para substituir Traços Profiler para AUDING atividades. É semelhante, mas tem sua própria configuração UI e UI para resultados Ver

Você pode configurar um rastreamento do Profiler para capturar o evento Object Management Esquema de Auditoria e filtro com base no nome do banco que se preocupam. Toda vez que um objeto no esquema é criado, caiu, editado ele irá acionar um evento no perfil que inclui a pessoa que fez a alteração e o nome do procedimento armazenado.

Você vai querer pelo menos estas colunas de perfil: ApplicationName - nome do aplicativo estava em execução quando eles fizeram mudanças NomeBaseDados - Databse contendo o objeto alterado EventSubClass - Tipo de shows de ação alterar, modificar, Gota, Criar etc LoginName - tomada change user ObjectName - objeto afetado

[final de um, mas acrescenta detalhes sobre como ver quem fez a mudança antes mesmo sistema de auditoria é colocar em prática]

Outros já cobriu diferentes maneiras que você pode começar de dados de auditoria, a fim de mudanças monitor de futuros, mas se você originalmente não tem qualquer sistema de auditoria no lugar, então é muito difícil descobrir quem fez o quê e quando historicamente.

Apenas opção é tentar ler log de transações assumindo banco de dados está em modo de recuperação total. O problema é que isso não é suportado por padrão. As opções são:

Consulte estes tópicos para obter mais detalhes:

Como visualizar log de transações no SQL Server 2008

SQL Server Transaction Log Explorer / Analyzer

Como ver histórico de consulta no SQL Server Management estúdio

Eu concordo. Pode ser o profiler do SQL Server com filtros. Os gatilhos DDL existia no SQL Server. Você poderia criar algo como isto:

 CREATE TRIGGER ddl_drop_procedure 
    ON DATABASE 
    FOR DROP_PROCEDURE
   AS 
     RAISERROR ('You deleted a stored procedure',10, 1)

   GO

A outra opção é usar ferramentas de terceiros como Auto Auditoria do CodePlex, ou gatilho ApexSQL.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top