我需要使用 ODBC 连接查找我的 SQL Server 数据库中可用的相对空间量。
我想尝试使用dbcc showfilestats
,但它不返回任何结果。
阅读INF:在 ODBC 应用程序中处理 DBCC 命令后,我理解这是因为这不是选择语句。令我困惑的是,该声明也没有返回任何信息(与论文相反)。
我也尝试使用临时表:
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(并且我确保没有其他打开的语句)。
是否有替代方法来检索此信息?