none
Auditoria SQL Server 2008 em um campo especifico RRS feed

  • Pergunta

  • Ola, estou fazendo uma auditoria em alguns servidores utilizando o SQL Server Audit, até ai sem problemas, porem tenho uma tabela especifica onde tenho que auditar somente 1 campo que o update é realizado, porem pelo que vi não tem uma opção de auditar somente 1 campo de um objeto mas sim o objeto inteiro, o problema é que esta tabela é frequentemente atualizada e com isto o arquivo de auditoria fica muito grande e só me interessa quando um campo especifico é atualizado. exite alguma maneira de fazer o SQL Audit auditar somente 1 campo ? outras formas como trigguers não podem ser feitas devido a politica da empresa.

    Obrigado !

     


    Alexandre Matayosi.
    quarta-feira, 18 de maio de 2011 18:25

Respostas

  • Alexandre,

     

    Alem das trigger e do sql audit, a unica opção é o profiler, porem alem de nada performatico, o mesmo não captura apenas uma coluna tambem.

     

    Uma duvida, quando voce utiliza o SQL Audit nativo do 2008+, voce consegue pesquisar neste arquivo via select, por mais que este arquivo fique, utilizando a clausula where em um select para o arquivo em um servidor não oltp, voce não conseguiria as informações necessarias?


    Oracle OCA11g, MCC 2011! Dicas e novidades: www.fabrizziocaputo.wordpress.com
    • Marcado como Resposta Richard Juhasz segunda-feira, 6 de junho de 2011 20:30
    quarta-feira, 18 de maio de 2011 23:10
    Moderador
  • Alexandre,

    Talvez um trace file poderia ser uma possibilidade, mas não vai ser exatamente da forma que você quer, pois não tem como filtrar somente uma coluna.

    Uma possibilidade em se utilizar o Profiler seria armazenar os resultados em uma tabela e depois com estes dados na tabela realizar qualquer tipo de procedimento desejado.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    • Marcado como Resposta Richard Juhasz segunda-feira, 6 de junho de 2011 20:30
    domingo, 22 de maio de 2011 23:26
    Moderador
  • Boa Noite,

    Até onde sei, o SQL Audit dá suporte sim a auditar colunas específicas.

    ALTER DATABASE AUDIT SPECIFICATION audit_specification_name
    <action_specification>[ ,...n ]ON [ class :: ] securable [ ( column [ ,...n ] ) ]

    ALTER DATABASE AUDIT SPECIFICATION HIPPA_Audit_DB_Specification
    FOR SERVER AUDIT HIPPA_Audit
      ADD (SELECT
         ON Table1(Column1)
         BY dbo)
      WITH STATE = ON;
    GO
    

    Retirei do exemplo do Books OnLine

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    segunda-feira, 23 de maio de 2011 02:25
  • Isso se a versão for Enterprise, se for Standard não tem.
    Tks. Fausto Fiorese Branco MCTS, MCITP/DBA 2005 | MCITP/DBA 2008 São Paulo - Brasil * http://www.linkedin.com/in/faustobranco
    • Marcado como Resposta Richard Juhasz segunda-feira, 6 de junho de 2011 20:30
    segunda-feira, 23 de maio de 2011 14:21

Todas as Respostas

  • Alexandre,

     

    Alem das trigger e do sql audit, a unica opção é o profiler, porem alem de nada performatico, o mesmo não captura apenas uma coluna tambem.

     

    Uma duvida, quando voce utiliza o SQL Audit nativo do 2008+, voce consegue pesquisar neste arquivo via select, por mais que este arquivo fique, utilizando a clausula where em um select para o arquivo em um servidor não oltp, voce não conseguiria as informações necessarias?


    Oracle OCA11g, MCC 2011! Dicas e novidades: www.fabrizziocaputo.wordpress.com
    • Marcado como Resposta Richard Juhasz segunda-feira, 6 de junho de 2011 20:30
    quarta-feira, 18 de maio de 2011 23:10
    Moderador
  • Alexandre,

    Talvez um trace file poderia ser uma possibilidade, mas não vai ser exatamente da forma que você quer, pois não tem como filtrar somente uma coluna.

    Uma possibilidade em se utilizar o Profiler seria armazenar os resultados em uma tabela e depois com estes dados na tabela realizar qualquer tipo de procedimento desejado.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    • Marcado como Resposta Richard Juhasz segunda-feira, 6 de junho de 2011 20:30
    domingo, 22 de maio de 2011 23:26
    Moderador
  • Boa Noite,

    Até onde sei, o SQL Audit dá suporte sim a auditar colunas específicas.

    ALTER DATABASE AUDIT SPECIFICATION audit_specification_name
    <action_specification>[ ,...n ]ON [ class :: ] securable [ ( column [ ,...n ] ) ]

    ALTER DATABASE AUDIT SPECIFICATION HIPPA_Audit_DB_Specification
    FOR SERVER AUDIT HIPPA_Audit
      ADD (SELECT
         ON Table1(Column1)
         BY dbo)
      WITH STATE = ON;
    GO
    

    Retirei do exemplo do Books OnLine

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    segunda-feira, 23 de maio de 2011 02:25
  • Isso se a versão for Enterprise, se for Standard não tem.
    Tks. Fausto Fiorese Branco MCTS, MCITP/DBA 2005 | MCITP/DBA 2008 São Paulo - Brasil * http://www.linkedin.com/in/faustobranco
    • Marcado como Resposta Richard Juhasz segunda-feira, 6 de junho de 2011 20:30
    segunda-feira, 23 de maio de 2011 14:21