Как я могу получить значение 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) );
Другие вопросы по тегам