如何使用c#代碼找到db的ldf文件大小?找到數據庫ldf文件的大小
我有一種方法可以使用sql查詢找到ldf的位置。然後使用代碼查找文件大小作爲正常的方式,但我想可能有潛在的系統權限問題,有沒有辦法找到更簡單和更安全的大小?
謝謝。
如何使用c#代碼找到db的ldf文件大小?找到數據庫ldf文件的大小
我有一種方法可以使用sql查詢找到ldf的位置。然後使用代碼查找文件大小作爲正常的方式,但我想可能有潛在的系統權限問題,有沒有辦法找到更簡單和更安全的大小?
謝謝。
嘗試這樣:
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;
您可以從sys.database_files或sys.master_files中獲取事務日誌文件的位置和大小,然後使用.NET框架中的SqlConnection,SqlCommand編寫SQL查詢,使用ExecuteScalar或ExecuteReader運行它並獲取請求的結果。
你做出什麼樣的努力? –
FileInfo.length – samuelesque
使用T-SQL查詢檢索ldf位置。然後獲取文件大小,但我認爲這不是一個好方法。 – Max