Historico de banco

21/02/2016

1

Precisando de ajuda sobre um assunto pouco questionado, sobre o historico no banco de dados, devo faze-lo desde o inicio/criação do BD?
Responder

Posts

21/02/2016

William

Você está se referindo a alterações DDL?

Se for isso já vi profissionais versionarem o script .sql, usando ferramentas como Git.
Responder

22/02/2016

Marcos P

Mario,

Exatamente o que você quer disser com "histórico no banco de dados" ?
Responder

22/02/2016

Mario Holanda

Obrigado aos senhores...

Não entendi a questão de usar o Git William.

Marcos P, historico de operações do banco: insert, delete, update, select(creio que não tanto).
Responder

22/02/2016

William

Não entendi a questão de usar o Git William.


Esse caso são é para operações que envolvem alterações na estrutura do banco de dados, adiciona um campo, procedure ou trigger e extrai um script .sql com a estrutura, dessa maneira vc comita identificando as modificações.

Nada relacionado aos dados que estão nas tabelas!
Responder

22/02/2016

Mario Holanda

Historico fora dessa questão do git, correto?
Responder

22/02/2016

Marcos P

Sua pergunta foi mal formulada e, portanto, fica difícil ficar adivinhando as coisas...

Se sua necessidade é logar as operações de manipulação de dados ( insert / delete / update ), crie uma tabela com a mesma estrutura básica ( sem chaves, indices e outras constraints ) da tabela a ser controlada. Depois crie triggeres que, a partir da operação na tabela original, registrem os ajustes de dados nas tabelas secundária. Repita o processo para cada tabela em que seja necessário registro dessas alterações.

Existem outras maneiras de fazer isso, mas essa, na minha opinião, acaba sendo a mais prática.

A questão de uso do GIT, tem a ver com o controle do script sql de criação do banco de dados ( ou qualquer outro script sql associado ). Você pode usar o versionador para, gerando scripts a cada alteração na ESTRUTURA do banco, controlar os ajustes realizados no esquema dos objetos.

Acho que é isso...
Responder

22/02/2016

Mario Holanda

Pode ser realmente uma pergunta mal formulada, mas queria apenas um historico das operações citadas, não imaginei que pudesse ser complicado, mas ajudou, vou pesquisar sobre o que disse.
Responder
Boa tarde a todos, não lembro bem a função do SQL Profile, se puderem confirmar se tem relação com o post por favor sinalizem.
Responder

22/02/2016

Alan Mario

Isso não é monitorar?
Responder

22/02/2016

Marcos P

SQL Profiler é um trace ( sniffer ) do Sql Server.

Com ele é possível monitorar TODAS as transações submetidas ao servidor de banco de dados.

Também é possível criar diversos tipos de filtro, para restringir a análise à determinado usuário, processo, objeto, tabela, etc, etc, etc...

Aplica-se no tunning, auditoria e suporte ao funcionamento do banco de dados em ambiente de produção.

Como a necessidade descrita no post é de log, o Profiler consegue detectar as operações de atualização, mas não consegue armazená-las em uma tabela específica de log.

Ou seja, não serve para a necessidade do Mario.
Responder

22/02/2016

Jothaz

O Marcos P tem razão, para auditoria o Profiler não é indicado, além do que pode ser pesado na execução.

Se quer gerar um "trilha de auditoria" do que esta acontecendo no banco de dados o caminho é fazer algo na mão mesmo que pode ser:

1-Triggers nas tabela para principais operações.
2-Via aplicação de forma que qualquer chamada ao banco de dados seja gravada em um tabela especifica de log.
3-Usar alguma ferramenta de log: Log$net ou Nlog se não me engano o Nlog grava até em banco de dados.

São soluções braçais e trabalhosa, mas é um forma de você garantir que todas as operações sejam armazenadas.

Sei que nas versões Enterprise do SQL Server 2008 R2 e 2012 existe uma opção de auditoria, mas nunca usei, pois normalmente nas empresas em que presto consultoria tem área de banco de dados. Mas pesquise sobre auditoria no SQL Server 2008 ou 2012 que irá acha conteúdo.
Responder
Obrigada, não lembrava bem dessa questão.
Responder

27/02/2016

Alan Mario

Alguns termos se parecem bastante, tambem me perco Mariana.
Responder