Как рассчитать общий объем памяти, занятой базой данных
Я использую sqlserver 2008, Как я могу рассчитать общий объем памяти, занятой базой данных с таблицами (>30), а также данные в ней.
Я имею в виду, если у меня есть БД (DB_name) и с несколькими таблицами (tblabc, tbldef......) с данными в нем, как рассчитать общий объем памяти, занимаемый базой данных на сервере.
Пожалуйста, помогите мне.
Спасибо
Рамм
2 ответа
Смотрите размеры mdf и лог файлов
РЕДАКТИРОВАТЬ: Sql Server хранит свою базу данных в mdf-файлах (один или несколько). Вам тоже нужен файл lof. Посмотрите, где хранится ваша база данных, и эти файлы являются файлами, которые вам нужны.
Имейте в виду, что если вы используете FILESTREAM, фактические файлы не находятся в БД (mdf)
РЕДАКТИРОВАТЬ 2: Электронная документация При создании базы данных вы должны либо указать начальный размер данных и файлов журналов, либо принять размер по умолчанию. По мере добавления данных в базу данных эти файлы заполняются.
Итак, есть файл с некоторым размером, даже если у вас нет данных..
По умолчанию файлы данных увеличиваются настолько, насколько требуется, до тех пор, пока не останется свободного места на диске.... В качестве альтернативы, SQL Server позволяет создавать файлы данных, которые могут автоматически увеличиваться при заполнении данными, но только до предопределенного максимального размера. Это может помешать дискам полностью исчерпать дисковое пространство.
Если данные добавляются (и в файле больше нет места), файл увеличивается, но когда он удаляется, он сохраняет свой размер, вам нужно уменьшить его...
Я полагаю, что вы имеете в виду дисковое пространство, а не память. Это было бы очень трудно исправить, так как вам нужно было бы точно знать, как SQL Server хранит данные, индексы и так далее. К счастью, вам не нужно рассчитывать его, просто запустите Microsoft SQL Server Management Studio. Щелкните правой кнопкой мыши по вашей базе данных-> Отчеты-> Использование диска.