如何使用c#代码查找db的ldf文件大小?
我有办法使用sql查询找到ldf的位置。然后使用代码查找文件大小作为正常方式,但我想可能有潜在的系统权限问题,有没有办法找到更简单,更安全的大小?
感谢。
答案 0 :(得分:0)
您可以从sys.database_files或sys.master_files获取事务日志文件的位置和大小,然后使用SqlConnection,.NET框架中的SqlCommand编写SQL查询,使用ExecuteScalar或ExecuteReader运行它并获取请求的结果。< / p>
答案 1 :(得分:0)
尝试这样的事情:
SELECT
[serverName] = @@SERVERNAME,
[databaseName] = instance_name,
dataSizeInKB = SUM(CASE WHEN counter_name = 'Data File(s) Size (KB)' THEN cntr_value END),
logSizeInKB = SUM(CASE WHEN counter_name = 'Log File(s) Size (KB)' THEN cntr_value END)
FROM
sys.dm_os_performance_counters
WHERE
counter_name IN ('Data File(s) Size (KB)', 'Log File(s) Size (KB)')
AND instance_name <> '_Total'
GROUP BY
instance_name;