Я разрабатываю приложение, для которого мне нужна простая информация о данном Microsoft SQL Server:
- Максимальный размер, поддерживаемый сервером¹
- Общий объем свободного места, доступного для базы данных, для роста²
Я гуглил по этому поводу и, хотя по этому вопросу есть много страниц с множеством разных ответов, я не смог найти ничего подходящего мне, потому что либо он был слишком причудливым (например, записывал сложные таблицы в файлы), либо на самом деле его не было. Работа. Контекст, в котором я нахожусь, - это простая программа для управления базой данных; он получит эту информацию, сохранит ее в целочисленных переменных и затем использует их для работы. Поэтому моя идея здесь состоит в том, чтобы просто выполнить запрос, выбрать стиль, получить одну информацию и двигаться дальше. Пример единственной «функции», которую мне удалось найти, которая соответствовала бы этим критериям:
SELECT size FROM sys.master_files WHERE DB_NAME(database_id) = \'DB_NAME_HERE\'²
(Примечание: это всего лишь пример, функция фактически не возвращает то, что я хочу)
¹. Например, выпуски Express могут иметь до 10 ГБ разрешенной емкости (, это зависит от версии ). Поэтому функция должна возвращать значение, близкое к этому.
²: Заранее: знать размер моей базы данных не имеет значения, поскольку это сервер со многими базами данных. Логика моего приложения нуждается в свободном пространстве, доступном для роста любой базы данных, поэтому вычисление «общее пространство - мое пространство БД» не будет работать.