2009-08-19 5 views
0

Я использую sqlserver 2008, как я могу вычислить общую память, занимаемую базой данных, с таблицами (> 30), а также данные в ней.Как вычислить общую память, занимаемую базой данных

Я имею в виду, если у меня есть DB (DB_name) и с несколькими таблицами (tblabc, tbldef ......) с данными в нем, как рассчитать общую память, занимаемую базой данных на сервере.

Прошу помощи.

Благодаря

Рамм

ответ

1

Смотрите размеры мдф и файлы

войти

EDIT: Sql Server хранит БД в файлах МДФ (один или несколько). Вам также нужен файл lof. Посмотрите, где хранится ваш db, и эти файлы - файлы, которые вам нужны.

Имейте в виду, что если вы используете FILESTREAM, сами файлы не в дб (мдф)

EDIT2: Книги Интернет При создании базы данных, необходимо либо указать начальный размер для файлы данных и журналов или принять размер по умолчанию. Поскольку данные добавляются в базу данных, эти файлы заполняются.

Итак, есть файл с какой-то размер, даже если у вас нет данных ..

По умолчанию файлы данных растут столько, сколько требуется пока нет места на диске не остается. ... В качестве альтернативы SQL Server позволяет создавать файлы данных, которые могут автоматически увеличиваться при заполнении данными, но только до заданного максимального размера. Это может привести к тому, что дисковые накопители не будут полностью исчерпаны.

Если данные добавлены (и нет больше места в файле) файл растет, но, когда он удаляется, он сохраняет свой размер, вам нужно уменьшить его ...

+0

Общий размер остается таким же, когда данные доступны в БД, а если нет .... У меня есть данные во всех таблицах, и я проверил общий размер, который он показал 11264 КБ, Я удалил данные со всех таблицы, все же он показал тот же 11264 КБ, , пожалуйста, помогите мне разобраться в точном методе, Я использовал ----- sp_helpdb db_name в sql-запросе для вычисления, любой другой способ для этого сделать?> Thanks – Ramm

+0

Дисковое пространство не освобождается автоматически. Сделайте полную резервную копию и снова проверьте использование. Затем попробуйте уменьшить (щелкните правой кнопкой мыши по базе данных в Management Studio, Tasks-> Shrink). –

+0

так что Jonelf, в задачах-> усадка, я hav 2 базы данных и файлов опций, с данными в db, отображается база данных tasks->, выделенное пространство 32.63 MB, доступное свободное пространство 5.95MB, tasks-> files показано, в настоящее время выделено пространство 11.00 MB, доступно свободное пространство 5.75 MB, с удалением данных в виде таблиц и представлений, Задачи-> баз данных показали, выделяемых в настоящее время пространства 32.63 МБ свободного пространство 6,11 MB, Задачи-> Файлы показали, выделено в настоящее время пространства 11,00 MB, можно бесплатно space 5.81 MB, так, как я могу вычислить данные, занятые db (с данными-без данных 6.11 MB - 5.95 MB? – Ramm

1

Я полагаю, что вы обратитесь к дисковым пространствам, а не к памяти. Это было бы очень сложно получить правильно, так как вам нужно будет точно знать, как SQL Server хранит данные, индексы и так далее. К счастью, вам не нужно его вычислять, просто запустите Microsoft SQL Server Management Studio. Щелкните правой кнопкой мыши по базе данных-> Отчеты-> Использование диска.