2012-10-12 18 views
5

का उपयोग किए बिना प्रत्येक एसक्यूएल मेज पर पृष्ठ संख्या का निर्धारण मैं अपने डेटाबेस में सबसे बड़ा टेबल संपीड़ित करने के लिए कोशिश कर रहा हूँ। मैं SP_ForEachDB संग्रहीत प्रक्रिया चलाकर ऐसा करूँगा। हालांकि मैं कुल पृष्ठ गणना को देखने का तरीका नहीं समझ सकता। मैं इस प्रश्न के साथ पंक्ति संख्या प्राप्त कर सकते हैं ...बी सी सी

USE DEVELOP04_HiltonUS 

GO 

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 

कौन देता है:

  TABLE NAME ROW COUNT 
      PlannedShift 38268660 
     BudgetStaffStat 19353104 
      BudgetKBIStat 14142631 
EmployeeShiftAdjustment 13493745 
      Requirement 11020921 
    EmployeeShiftError 6857235 
     JobclassLaborData 5638692 

और इतने पर अपने सभी तालिकाओं के लिए।

मैं वही चीज़ ढूंढ रहा हूं लेकिन बदले में पेज गणना कर रहा हूं।

उत्तर

11
SELECT OBJECT_SCHEMA_NAME(s.object_id) schema_name, 
     OBJECT_NAME(s.object_id) table_name, 
     SUM(s.used_page_count) used_pages, 
     SUM(s.reserved_page_count) reserved_pages 
FROM sys.dm_db_partition_stats s 
JOIN sys.tables t 
     ON s.object_id = t.object_id 
GROUP BY s.object_id 
ORDER BY schema_name, 
     table_name; 
+0

बिल्कुल सही, धन्यवाद। –

संबंधित मुद्दे