Я пытаюсь программно контролировать размер базы данных SQL Server, так что мой раздел администрирования моего веб-приложения может сообщить об этом, и я могу использовать его для выполнения некоторых чипов очистки, четкий лог-файлы и т.д.SQL Server - размер разницы в размерах базы данных вопрос
Я использую следующий код для вычисления размера таблиц, на SO рекомендации:
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 nameSELECT SUM(CONVERT(INT, SUBSTRING(data, 1, LEN(data)-3))) FROM
#tDROP TABLE #t
Когда я запускаю это против моей небольшой образец базы данных, я получаю общую сумму стоимость от ~ 6.8 мегабайт. Когда я смотрю на свойства моей базы данных, он показывает 15,5 мегабайт.
У меня есть следующие вопросы:
1. Что еще может составлять разницу?
2. Может ли это различие быть описано как «накладные расходы», которое будет расти только на долю темпа по мере роста других данных (для этого требуется приблизительная оценка).
3. Хранимые процедуры, функции, представления, триггеры находятся в этом «накладном» пространстве? Есть ли способ их расчета?
4. Есть ли другой способ получить размер базы WHOLE? Мне просто нужен простой способ получить РЕАЛЬНЫЙ размер.
хмм ... что это хорошая идея! – pearcewg 2008-12-08 15:58:57