Como descobrir quais tabelas foram modificadas recentemente

Depois de semanas sem postar, vou colocar um post bem breve aqui sobre SQL.

Recentemente precisei descobri quais tabelas foram modificadas recentemente sem ter que ver uma a uma. Se você tivesse poucas tabelas, isso não seria um problema, ver uma-a-uma, digamos umas 15 ou 20 seria até rápido. Mas podemos facilitar um pouco a nossa vida, limitando nossa amostra.

Isto aqui vale para SQL Server, não sei como seria em outras databases (Oracle, Postgree, MySQL e etc).

No SQL Server temos várias Views de sistema, no caso usaremo a View sys.tables, que nos fornece informações diversas sobre as tabelas do banco de dados.

SELECT * FROM sys.tables

Executando um select sobre esta tabela obteremos um resultado semelhante a este:

sys_tables1

A imagem mostra apenas algumas colunas, existem muitas outras, mas vamos nos focar naquelas que precisamo no momento.

Veja que temos os nomes de todas as tabelas, e duas colunas de datas, create_date e modify_date.

A primeira instância, achariamos que teríamos que observer a tabela modify_date e ordenar por ordem decrescente por ela.

SELECT * FROM sys.tables ORDER BY modify_date DESC

Infelizmente, a informação de data de modificação refere-se a inserção de dados, e não sobre sua estrutura.

sys_tables2

A coluna que temos que ver é create_date. Na figura não é possível observar isso, mas a data contida em create_date refere-se a última modificação estrutural realizada sobre ela.

Então bastaríamos fazer:

SELECT * FROM sys.tables ORDER BY create_date DESC

Eu sei que este post não é muito informativo, é mais uma dica.

Abraços e até o próximo post.

This entry was posted in dica, solucao, sql server, t-sql. Bookmark the permalink.

One Response to Como descobrir quais tabelas foram modificadas recentemente

  1. Bianca says:

    Gostei muito da informação. Obrigada.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>