Мне нужно найти относительное количество свободного места в моей базе данных SQL Server, используя соединение ODBC.Как получить результаты из «DBCC SHOWFILESTATS» с ODBC?
Я хотел попробовать с помощью dbcc showfilestats
, но это не дает никаких результатов.
Прочитав INF: Processing DBCC Commands in ODBC applications Я понял, это потому, что это не предложение выбора. Меня озадачило то, что заявление также не возвращало никакой информации (вопреки статье).
Я также попытался использовать временную таблицу:
declare @FileStats table
(
Fileid int,
[FileGroup] int,
TotalExtents int,
UsedExtents int,
Name varchar(255),
[FileName] varchar(max)
)
insert into @FileStats execute('dbcc showfilestats')
и выбрав из этой таблицы в том же SQLExecDirect.
select
1-convert(float, sum(UsedExtents))/convert(float, sum(TotalExtents))
as FreeDataSpace from @FileStats
Это привело к ошибке 24000 (и я удостоверился, что других открытых операторов нет).
Есть ли альтернативный способ получения этой информации?