Как я могу получить значение database_size sp_spaceused?
Я пытаюсь получить значение database_size SQL Server (хранилище данных)
Насколько я знаю, у нас есть sp_spaceused, который можно использовать для проверки database_size
Но я не смог найти какое-либо решение, которое помогло бы найти значение базы данных
Другое решение не использует spaceused, но поскольку Azure DWH не допускает sys.master_file, другое решение также не работает.
Любая помощь будет принята с благодарностью!
3 ответа
Когда вы запустите запрос EXEC sp_helpdb
Вы получите весь размер базы данных. Здесь также вы можете передать любое конкретное имя базы данных. Неважно, в какой базе данных вы находитесь.
Пытаться
declare @dbsize as bigint
declare @logsize as bigint
select
@dbsize = sum(convert(bigint,case when status & 64 = 0 then size else 0 end))
, @logsize = sum(convert(bigint,case when status & 64 <> 0 then size else 0 end))
from dbo.sysfiles;
select dbSizeInMB = cast((@dbsize + @logsize)*8/1024.0 AS decimal(10,2) );
Есть несколько DMV, которые вы можете использовать для получения такой информации: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-monitoring-with-dmvs https: // docs.microsoft.com / EN-US / SQL / реляционных баз данных / системы динамического управления-просмотров / SYS-дм-дб-файл-пространство-использование-Transact-SQL? вид = SQL-сервер-2017