2012-04-05 10 views
7

मैं एसक्यूएल का उपयोग कर कहीं भी 11.एसक्यूएल कहीं भी 11 - तालिका आकार

मैं सिर्फ पता चला sp_spaceused पदावनत किया गया है

इस के साथ किसी भी मदद की होगी एक डेटाबेस से प्रत्येक तालिका के लिए तालिका आकार पाने के लिए कोशिश कर रहा हूँ अत्यधिक सराहनीय! :)

+0

आप एक लिंक की पुष्टि यह निंदा है या यह अटकलें है? –

+0

एक मिला। http://dcx.sybase.com/1001/en/dbwnen10/wn-newjasper-s-3751424.html –

+0

इस पर कोई भाग्य? – tray

उत्तर

4

संभवतः सिस्टम दृश्य SYSTAB एक अच्छा पर्याप्त विकल्प हो सकता है। यह आपको तालिका में पंक्तियों की संख्या दे सकता है, और यह आपको टेबल का उपयोग करने वाले कितने पेज दे सकता है। (नीचे नमूने में, मैं डीबी के पृष्ठ आकार से पृष्ठों की संख्या से गुणा कर रहा हूँ एक कुल बाइट आकार पाने के लिए।)

SELECT 
    count,      -- number of rows in the table 
    (table_page_count * DB_PROPERTY('PageSize')) tablesize 
           -- total size, in bytes 
FROM SYSTAB 
WHERE table_name = 'mytable'; -- or whatever limitations you want on 
           -- the scope of the query 

आशा इस मदद करता है।

1

आप डेटाबेस और पंक्ति में सबसे बड़ा तालिका को खोजने के लिए Sql सर्वर पर इस स्क्रिप्ट का उपयोग कर सकते हैं गिनती

SELECT sc.name +'.'+ ta.name TableName 
,SUM(pa.rows) RowCnt 
FROM sys.tables ta 
INNER JOIN sys.partitions pa 
ON pa.OBJECT_ID = ta.OBJECT_ID 
INNER JOIN sys.schemas sc 
ON ta.schema_id = sc.schema_id 
WHERE ta.is_ms_shipped = 0 AND pa.index_id IN (1,0) 
GROUP BY sc.name,ta.name 
ORDER BY SUM(pa.rows) DESC 
संबंधित मुद्दे