Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

डेटाबेस में प्रत्येक तालिका में रिकॉर्ड की संख्या सूचीबद्ध करने की क्वेरी

यदि आप SQL Server 2005 और उसके बाद के संस्करण का उपयोग कर रहे हैं, तो आप इसका भी उपयोग कर सकते हैं:

SELECT 
    t.NAME AS TableName,
    i.name as indexName,
    p.[Rows],
    sum(a.total_pages) as TotalPages, 
    sum(a.used_pages) as UsedPages, 
    sum(a.data_pages) as DataPages,
    (sum(a.total_pages) * 8) / 1024 as TotalSpaceMB, 
    (sum(a.used_pages) * 8) / 1024 as UsedSpaceMB, 
    (sum(a.data_pages) * 8) / 1024 as DataSpaceMB
FROM 
    sys.tables t
INNER JOIN      
    sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN 
    sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
INNER JOIN 
    sys.allocation_units a ON p.partition_id = a.container_id
WHERE 
    t.NAME NOT LIKE 'dt%' AND
    i.OBJECT_ID > 255 AND   
    i.index_id <= 1
GROUP BY 
    t.NAME, i.object_id, i.index_id, i.name, p.[Rows]
ORDER BY 
    object_name(i.object_id) 

मेरी राय में, sp_msforeachtable . की तुलना में इसे संभालना आसान है आउटपुट।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एसक्यूएल 'पसंद' क्वेरी '%' का उपयोग कर जहां खोज मानदंड में '%' शामिल है

  2. SQL सर्वर:PARTITION BY और GROUP BY के बीच अंतर

  3. SQL सर्वर में एक कॉलम का नाम बदलें (T-SQL)

  4. SQL सर्वर TRIM, LTRIM, और RTRIM फ़ंक्शन

  5. SQL सर्वर 2016:एक डेटाबेस उपयोगकर्ता बनाएँ