Como esta seu banco no SQL Server ?
Seja para detectar um problema de excesso de uso de disco ou mesmo para monitoração dinâmica do SQL Serve, é importante saber como cada tabela do banco esta se comportando e se estão crescendo como esperado. Uma outra situações pela qual costumo passar é quando preciso otimizar consultas e preciso saber a cardinalidade das tabelas envolvidas para decidir qual índices priorizar na junções condições e ordenamento. Para isso criei a rotina abaixo que lista todas as tabelas do banco de dados e sua respectiva cardinalidade ( Quantidade de registros ), este código pode ser incluso em uma Stored Procedure e utilizado para verificar periodicamente o comportamento dos dados no banco, isso pode evitar que sua aplicação pare de funcionar ou fique lenta de mais por causa de alguma rotina com erro.
declare cur cursor for Select name from sysobjects where xtype = 'U' order by name; declare @name varchar(60) declare @qtd varchar(15) declare @sql Nvarchar(4000) create table #temp(Tabela varchar(60) ,total int) open cur; fetch cur into @name while @@FETCH_STATUS = 0 begin print @name; set @sql = N'insert into #temp select ''' + @name + ''' as Tabela, count(*) as total from ' + @name exec( @sql) fetch cur into @name; end select * from #temp order by tabela drop table #temp close cur; deallocate cur;
Para mais informações sobre Stored Procedures e sintaxe do SQL Server visite a documentação oficial da MicroSoft aqui.