2009-10-01 2 views

risposta

32

Questo ti porterà vicino:

SELECT 
    [TableName] = so.name, 
    [RowCount] = MAX(si.rows) 
FROM 
    sysobjects so, 
    sysindexes si 
WHERE 
    so.xtype = 'U' 
    AND 
    si.id = OBJECT_ID(so.name) 
GROUP BY 
    so.name 
ORDER BY 
    2 DESC 
+0

Funziona alla grande. Grazie. –

+0

Sembra molto buono! Funzionerà con tabelle che non hanno alcun indice (o una chiave primaria, che diventa automaticamente un indice)? – MaxiWheat

+0

Non vedo perché non funzionerebbe con le tabelle senza un indice esplicito. –

0

Ho appena personalizzare le SSMS 2008 per mostrare le seguenti colonne aggiuntive per le tabelle - conteggio delle righe - spazio di dati utilizzato (KB)

per i database - primario Posizione dati - Ultima Backup Data - Data creazione ....

Funziona più velocemente per me la maggior parte del tempo senza aprire una query, faccio semplicemente clic sull'intestazione della colonna per andare ASC o DESC

+0

Come hai apportato le modifiche che descrivi a SSMS? –

8

Ecco fondamentalmente lo stesso T-SQL fornito da Chris Ballance, ma utilizzando le nuove viste del catalogo degli oggetti invece delle viste di compatibilità:

SELECT SchemaName = schemas.[name], 
     TableName = tables.[name], 
     IndexName = indexes.[name], 
     IndexType = 
      CASE indexes.type 
       WHEN 0 THEN 'Heap' 
       WHEN 1 THEN 'Clustered' 
      END, 
     IndexPartitionCount = partition_info.PartitionCount, 
     IndexTotalRows = partition_info.TotalRows 
FROM sys.tables 
     JOIN sys.indexes 
      ON tables.object_id = indexes.object_id 
       AND indexes.type IN (0, 1) 
     JOIN ( SELECT object_id, index_id, PartitionCount = COUNT(*), TotalRows = SUM(rows) 
       FROM sys.partitions 
       GROUP BY object_id, index_id 
     ) partition_info 
      ON indexes.object_id = partition_info.object_id 
       AND indexes.index_id = partition_info.index_id 
     JOIN sys.schemas ON tables.schema_id = schemas.schema_id 
ORDER BY SchemaName, TableName; 
+1

La formattazione di questo è sorprendente, abbiamo un database eCommerce complesso con più schemi e le opzioni di visibilità e ordinamento qui sono eccellenti. La mia unica modifica è aggiungere 'IndexTotalRows DESC' come prima opzione in 'ORDER BY' in modo da poter vedere dove le mie tabelle sono gonfiate dal mio codice, intenzionalmente o altrimenti –

+1

Grazie per aver aggiunto una versione basata su Catalogo oggetti, Kenny. –