Согласно справке SQL2000, sp_spaceused включает данные и индексы.
Этот сценарий должен сделать:
CREATE TABLE #t (name SYSNAME, rows CHAR(11), reserved VARCHAR(18),
data VARCHAR(18), index_size VARCHAR(18), unused VARCHAR(18))
EXEC sp_msforeachtable 'INSERT INTO #t EXEC sp_spaceused ''?'''
-- SELECT * FROM #t ORDER BY name
-- SELECT name, CONVERT(INT, SUBSTRING(data, 1, LEN(data)-3)) FROM #t ORDER BY name
SELECT SUM(CONVERT(INT, SUBSTRING(data, 1, LEN(data)-3))) FROM #t
DROP TABLE #t
Тот, на который ссылался Мэтт Пьетрек, но который больше не доступен по исходному адресу. - Обратите внимание, что это одна из официальных спецификаций CodeView 4, она не охватывает формат CodeView 5.
Обновление: Я нашел копию документа «Спецификация символьной отладочной информации CV4». Это ревизия 4 от 1 декабря 1995 г. По сравнению с документом, ссылка на который приведена выше, в нем есть дополнительная глава «8. TypeServer API» и приложение с историей ревизий, остальное в основном то же самое. Все ссылки на «Microsoft CodeView» были заменены на «символ и тип Mirosoft». Исходная спецификация помечена как конфиденциальная информация Microsoft, поэтому я не буду публиковать ее, но она не дает никаких преимуществ по сравнению с документом, указанным выше.
Согласно этот пост , никто никогда не выкладывал его в Интернет ...
Я думаю эта книга заменила его ... Тем не менее, он должен быть обратно совместимым.