Как я могу запросить мой сервер SQL, чтобы получить только размер базы данных?
Я использовал это:
use "MY_DB"
exec sp_spaceused
Я получил это:
database_name database_size unallocated space
My_DB 17899.13 MB 5309.39 MB
Он возвращает мне несколько столбцов, которые мне не нужны, может быть, есть хитрость, чтобы выбрать столбец database_size из этой хранимой процедуры?
Я также попробовал этот код:
SELECT DB_NAME(database_id) AS DatabaseName,
Name AS Logical_Name,
Physical_Name,
(size * 8) / 1024 SizeMB
FROM sys.master_files
WHERE DB_NAME(database_id) = 'MY_DB'
Это дает мне такой результат:
DatabaseName Logical_Name Physical_Name SizeMB
MY_DB MY_DB D:\MSSQL\Data\MY_DB.mdf 10613
MY_DB MY_DB_log D:\MSSQL\Data\MY_DB.ldf 7286
Итак, я написал это:
SELECT SUM(SizeMB)
FROM (
SELECT DB_NAME(database_id) AS DatabaseName,
Name AS Logical_Name,
Physical_Name,
(size * 8) / 1024 SizeMB
FROM sys.master_files
WHERE DB_NAME(database_id) = 'MY_DB'
) AS TEMP
Я получил: 1183
Так что это работает, но, может быть, есть правильный способ получить это?
sql
sql-server
sql-server-2008
sql-server-2008-r2
Адель АСИФ
источник
источник
Ответы:
Попробуй это -
Запрос:
Вывод:
Функция:
ОБНОВЛЕНИЕ 2016/01/22:
Показать информацию о размере, свободном пространстве, последних резервных копиях базы данных
Вывод:
источник
Также сравните результаты с результатом следующего запроса
Это дает результат, аналогичный следующему
Есть хорошая статья - Различные способы определения свободного места для баз данных SQL Server и файлов баз данных
источник
DBCC SQLPERF(logspace)
Мне идеально удалось рассчитать размер базы данных SQL в SQL Server 2012
источник
источник
EXEC sp_spaceused @oneresultset = 1
показать в 1 строке все результатыесли вы просто выполните EXEC sp_spaceused, вы увидите две строки Работа в SQL Server Management Studio v17.9
источник
Вы можете проверить, как работает этот запрос, перейдя по этой ссылке .
источник
Вывод
источник
Проверьте размер базы данных в SQL Server для Azure и локальных
Метод 1 - Использование системного представления 'sys.database_files'
Способ 2 - Использование хранимой процедуры sp_spaceused
источник
Здесь уже есть много хороших ответов, но стоит упомянуть простой и быстрый способ получения размера базы данных SQL Server с помощью SQL Server Management Studio (SSMS) с использованием стандартного отчета.
Для запуска отчета вам необходимо:
Это печатает хороший отчет:
Где Общее зарезервированное пространство - это общий размер базы данных на диске, и он включает в себя размер всех файлов данных и размер всех файлов журнала транзакций.
Под капотом SSMS использует представление dbo.sysfiles или представление sys.database_files (в зависимости от версии MSSQL) и какой-то такой запрос для получения значения общего зарезервированного пространства:
источник
Если вы хотите просто проверить один размер базы данных, вы можете сделать это с помощью SSMS Gui
Перейдите в Обозреватель серверов -> Разверните его -> Щелкните правой кнопкой мыши на базе данных -> Выберите Свойства -> Во всплывающем окне выберите вкладку Общие -> Посмотреть размер
Источник: Проверьте размер базы данных на сервере Sql (различные способы объяснены)
источник