Muitas vezes, estamos na situação de exportar um grande número de tabelas de um banco para o outro, mas não sabemos quais selecionar da lista, porque não temos a visualização de quais tabelas possuem efetivamente linhas a exportar.
Você pode fazer um bom e velho cursor, no Sql Server, e para cada tabela executar e exibir um SELECT COUNT(*) ou um sp_spaceused para cada uma das tabelas encontradas.
Abaixo, segue um SELECT que faz exatamente isto, de uma tacada só:
SELECT object_name(object_id),
TOTAL = SUM (
CASE
WHEN (index_id < 2) THEN row_count
ELSE 0
END
)
FROM sys.dm_db_partition_stats
WHERE object_id in (select id from sysobjects where type='U')
group by object_id
having SUM (
CASE WHEN (index_id < 2) THEN rowcount
ELSE 0
END
) > 0
segunda-feira, 15 de junho de 2009
Assinar:
Postagens (Atom)