मुझे यह जानने की जरूरत है कि SQL सर्वर में एक तालिका कितनी डिस्क स्थान का उपयोग कर रही है

मुझे लगता है कि ज्यादातर लोग जानते हैं कि जीयूआई (दायाँ क्लिक टेबल, गुण) के माध्यम से ऐसा कैसे करें, लेकिन टी-एसक्यूएल पूरी तरह से चट्टानों में ऐसा करना।

0
जोड़ा संपादित
विचारों: 5

3 उत्तर

CREATE TABLE #tmpSizeChar (
     table_name sysname ,
     row_count int,
     reserved_size varchar(50),
     data_size varchar(50),
     index_size varchar(50),
     unused_size varchar(50))                              

CREATE TABLE #tmpSizeInt (
     table_name sysname ,
     row_count int,
     reserved_size_KB int,
     data_size_KB int,
     index_size_KB int,
     unused_size_KB int)   

SET NOCOUNT ON
INSERT      #tmpSizeChar
EXEC      sp_msforeachtable 'sp_spaceused ''?'''     

INSERT INTO #tmpSizeInt (
        table_name,
        row_count,
        reserved_size_KB,
        data_size_KB,
        index_size_KB,
        unused_size_KB
        )
SELECT  [table_name],
        row_count,
        CAST(SUBSTRING(reserved_size, 0, PATINDEX('% %', reserved_size)) AS int)reserved_size,
        CAST(SUBSTRING(data_size, 0, PATINDEX('% %', data_size)) AS int)data_size,
        CAST(SUBSTRING(index_size, 0, PATINDEX('% %', index_size)) AS int)index_size,
        CAST(SUBSTRING(unused_size, 0, PATINDEX('% %', unused_size)) AS int)unused_size
FROM #tmpSizeChar   

/*
DROP TABLE #tmpSizeChar
DROP TABLE #tmpSizeInt
*/

SELECT * FROM #tmpSizeInt
ORDER BY reserved_size_KB DESC
0
जोड़ा
यह बिल्कुल सही है. मुझे जिस चीज की जरूरत थी। धन्यवाद! ओपी के लिए सही जवाब के रूप में चिह्नित करने के लिए अच्छा बनें।
जोड़ा लेखक Andrew, स्रोत

इसे देखें, मुझे पता है कि यह 2005 में काम करता है ( MSDN दस्तावेज़ ) :

पब डीबी के लिए यहां है


select *
from pubs.sys.database_files

आकार और max_size देता है।

0
जोड़ा

sp_spaceused tableName

जहां tableName उस तालिका का नाम है जिसे आप जानना चाहते हैं ....

0
जोड़ा