Historico de banco

SQL Server

21/02/2016

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?
Mario Holanda

Mario Holanda

Curtidas 0

Respostas

William

William

21/02/2016

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

Se for isso já vi profissionais versionarem o script .sql, usando ferramentas como Git.
GOSTEI 0
Marcos P

Marcos P

21/02/2016

Mario,

Exatamente o que você quer disser com "histórico no banco de dados" ?
GOSTEI 0
Mario Holanda

Mario Holanda

21/02/2016

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).
GOSTEI 0
William

William

21/02/2016

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!
GOSTEI 0
Mario Holanda

Mario Holanda

21/02/2016

Historico fora dessa questão do git, correto?
GOSTEI 0
Marcos P

Marcos P

21/02/2016

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...
GOSTEI 0
Mario Holanda

Mario Holanda

21/02/2016

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.
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

21/02/2016

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.
GOSTEI 0
Alan Mario

Alan Mario

21/02/2016

Isso não é monitorar?
GOSTEI 0
Marcos P

Marcos P

21/02/2016

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.
GOSTEI 0
Jothaz

Jothaz

21/02/2016

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.
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

21/02/2016

Obrigada, não lembrava bem dessa questão.
GOSTEI 0
Alan Mario

Alan Mario

21/02/2016

Alguns termos se parecem bastante, tambem me perco Mariana.
GOSTEI 0
POSTAR