Как я могу получить значение database_size sp_spaceused? - PullRequest
0 голосов
/ 24 января 2019

Я пытаюсь получить значение database_size SQL Server (хранилище данных)

Насколько я знаю, у нас есть sp_spaceused, который можно использовать для проверки размера_базы данных

Но я не смог найти никакого решения, которое помогло бы получить значение базы данных base_size

Другое решение не использует spaceused, но поскольку Azure DWH не допускает sys.master_file, другое решение также не работает.

Любая помощь будет принята с благодарностью!

Ответы [ 3 ]

0 голосов
/ 24 января 2019
0 голосов
/ 24 января 2019

Попробуйте

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) );
0 голосов
/ 24 января 2019

Когда вы выполните запрос EXEC sp_helpdb, вы получите весь размер базы данных.Здесь также вы можете передать любое конкретное имя базы данных.Неважно, в какой базе данных вы сейчас находитесь.

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