Как эффективно узнать количество свободного места на реляционном (SQL) сервере? - PullRequest
0 голосов
/ 02 октября 2018

Я разрабатываю решение, предназначенное для удаления частей базы данных SQL Server, если она обнаруживает, что она заполняется.Для этого мне нужно знать не только общий размер базы данных, но, в частности, объем свободного размера в МБ.В настоящее время я использую в основном Oracle Database, но решение должно быть глобальным, если это возможно.

Проведя некоторые исследования, я нашел здесь несколько публикаций по SO, а также в других частях Интернета с некоторыми решениями., но они часто были слишком большими (собирать тонны данных, которые мне не интересны) или они просто не работали.Двое из немногих, кому мне удалось получить ответ, были SELECT sum(bytes)/1024/1024 \"DB Size in MB\" FROM dba_free_space GROUP BY TABLESPACE_NAME и подобные SELECT sum(bytes)/1024/1024 \"DB Size in MB\" FROM dba_free_space.Проблема заключалась в том, что было неясно, были ли они специфичны для Oracle DB, и они давали мне явно неправильные результаты (например, БД была почти пустой и показала наполовину полный, или БД получила какие-то новые данные и свободный размер получилбольше).

Итак, суть в следующем: как программно узнать, сколько свободного места в МБ у базы данных SQL Server в настоящее время есть?Особенно приветствуется решение с использованием SQL-запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...