Número de linhas de todas tabelas de um banco de dados do Azure

Azure, Tips

Olá pessoas,

Quem tentou executar a query presente no meu artigo Número de linhas de todas tabelas de um banco de dados, pode ter percebido que a sys.partitions simplesmente não existe (ou é inacessível) no SQL Azure.

Então, com algumas alterações na query anterior, podemos obter o mesmo resultado até mesmo no SQL Azure.

SELECT
  s.[name]
, t.[name]
, [rows] = SUM(p.[row_count])
FROM sys.schemas s
INNER JOIN sys.tables t
  ON t.[schema_id] = s.[schema_id]
INNER JOIN sys.indexes i
  ON i.[object_id] = t.[object_id]
  AND i.[type] IN (0,1) -- 0: Tabelas sem índice clustered ('primary key'), 1: Tabelas com índice clustered
INNER JOIN sys.dm_db_partition_stats p
  ON p.[object_id] = t.[object_id]
  AND p.[index_id] = i.[index_id]
GROUP BY
  s.[name]
, t.[name]
ORDER BY
  s.[name]
, t.[name]

Agradecimentos ao Emílio Silva, por me apresentar este desafio.

Please follow and like us:

Deixe um comentário

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.