Saya pikir sebagian besar orang yang tahu bagaimana untuk melakukan hal ini melalui GUI (klik kanan tabel, sifat), tetapi melakukan hal ini dalam T-SQL benar-benar batu.
MEMBUAT TABEL #tmpSizeChar ( table_name sysname , row_count int, reserved_size varchar(50), data_size varchar(50), index_size varchar(50), unused_size varchar(50))MEMBUAT TABEL #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 ''?'''
MASUKKAN KE #tmpSizeInt ( table_name, row_count, reserved_size_KB, data_size_KB, index_size_KB, unused_size_KB ) PILIH [table_name], row_count, CAST(SUBSTRING(reserved_size, 0, PATINDEX('% %', reserved_size)) SEBAGAI int)reserved_size, CAST(SUBSTRING(data_size, 0, PATINDEX('% %', data_size)) SEBAGAI int)data_size, CAST(SUBSTRING(index_size, 0, PATINDEX('% %', index_size)) SEBAGAI int)index_size, CAST(SUBSTRING(unused_size, 0, PATINDEX('% %', unused_size)) SEBAGAI int)unused_size DARI #tmpSizeChar
/ DROP TABLE #tmpSizeChar DROP TABLE #tmpSizeInt /
PILIH * DARI #tmpSizeInt ORDER BY DESC reserved_size_KB
Check out ini, aku tahu itu bekerja pada tahun 2005 (Microsoft Documentation):
Berikut ini adalah pub DB
pilih *
dari pub.sys.database_files
Mengembalikan ukuran dan max_size.