Quantos registros existem sua tabela no SQL Server ?

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Aprenda neste artigo a identificar quantos registros existem em cada tabela no seu banco de dados.

 

por Darci Leandro

 

Olá pessoal,

 

Sempre quando você é acionado para atuar em algum banco de dados, é necessário fazer um levantamento como: versões instaladas; marca, modelo e capacidade de processador do servidor; memória disponível e utilizada, entre outras.

Neste artigo iremos identificar quantos registros existem em cada tabela no banco de dados e para isso utilizaremos: tabela temporária, view de sistema e cursor.

 

         Atenção:

Uma informação é muito importante neste momento, execute esse script no ambiente de produção somente em horários nos quais não existam muitos usuários conectados, pois, você poderá bloquear muitas conexões e gerar problemas de performance momentânea.

 

Script

 

            1- Criando tabela temporária

CREATE TABLE #TMP_CONTA_TABELA

(TABELA       VARCHAR(200),

 REGISTRO    INT)

 

2- Inserindo dados na tabela temporária

DECLARE @COMANDO        VARCHAR(500)

DECLARE C_CountTable CURSOR FAST_FORWARD FOR

SELECT distinct

'SELECT TABELA = ''' + SU.NAME + '.' + SO.NAME + '''

, REGISTRO = COUNT(*) FROM ' + SU.NAME + '.' + SO.NAME

FROM SYSOBJECTS SO INNER JOIN SYSUSERS SU

ON     SO.UID = SU.UID

AND   SO.XTYPE = 'U'

AND   SO.NAME <> 'dtproperties'

OPEN C_CountTable

FETCH NEXT FROM C_CountTable

INTO @COMANDO

         WHILE @@FETCH_STATUS = 0

                   BEGIN      

EXECUTE ('INSERT INTO #TMP_CONTA_TABELA '+ @COMANDO)

                   FETCH NEXT FROM C_CountTable

                            INTO @COMANDO

         END

CLOSE C_CountTable

DEALLOCATE C_CountTable

 

3- Identificando quantos registros tem em cada tabela.

SELECT * from #TMP_CONTA_TABELA ORDER BY 2 DESC

 

Resultado

 

TABELA                                  REGISTRO

---------------------------     -----------

TB_AUDITORIA                          267804

TB_ITEN_NOTA_FISCAL              239678

TB_NOTA_FISCAL                      233318

TB_COBRANCA                          191938

TB_CAD_CLIENTE                      118919

TB_CAD_PRODUTO                      86995

TB_CAD_FORNECEDOR                 68506

TB_CAD_USUARIO                       2345

 

(8 row(s) affected)

                                                             

Conclusão

Existem outras maneiras de você fazer esse levantamento sem utilizar o comando select count(*) porém as informações não serão tão precisas, pois utilizam-se de estatísticas que muitas vezes podem estar desatualizada. Neste artigo estamos contando os registros que estão neste exato momento nas páginas de dados, ou seja, valores reais e atuais.

Boa sorte a todos e até a próxima...

 

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?