0
我要尋找一個VB.net腳本可以讀取類似硬盤的具體信息:如何通過VB.net(VS 2010)獲得硬盤的具體信息
- 狀態
- 壞道
- 溫度
- 任何更多的參數,歡迎
我用VB.net和Visual Studio 2010
我要尋找一個VB.net腳本可以讀取類似硬盤的具體信息:如何通過VB.net(VS 2010)獲得硬盤的具體信息
我用VB.net和Visual Studio 2010
因爲你也勾選了SQL SERVER,我猜你可以對數據庫執行你的VB代碼。如果是這樣,你可以運行它(這會給你一些關於大小,延遲和平均傳輸的細節,但在你決定轉發這些數據之前,請閱讀關於源代碼的sys表(因爲這可能取決於你的SQL Server版本因爲某些數據可能會爲SQL Server只來計算,你可能還會發現你可能會感興趣的更多信息):
WITH [RAW_INFO] AS
(
SELECT
[num_of_reads] = SUM(num_of_reads),
[io_stall_read_ms] = SUM(io_stall_read_ms),
[num_of_writes] = SUM(num_of_writes),
[io_stall_write_ms] = SUM(io_stall_write_ms),
[num_of_bytes_read] = SUM(num_of_bytes_read),
[num_of_bytes_written] = SUM(num_of_bytes_written),
[io_stall] = SUM(io_stall),
[Volume Mount Point] = vs.volume_mount_point,
[File System Format] = vs.file_system_type,
[Logical Name] = vs.logical_volume_name,
[Total Size (GB)] = CONVERT(DECIMAL(18,2),vs.total_bytes/1073741824.0),
[Free Space (GB)] = CONVERT(DECIMAL(18,2), vs.available_bytes/1073741824.0),
[Free Space (%)] = CONVERT(DECIMAL(18,2), vs.available_bytes * 1./vs.total_bytes * 100.0)
FROM sys.dm_io_virtual_file_stats(NULL, NULL) vfs
INNER JOIN sys.master_files mf WITH (NOLOCK) ON vfs.database_id = mf.database_id AND vfs.file_id = mf.file_id
CROSS APPLY sys.dm_os_volume_stats(mf.database_id, mf.[file_id]) vs
GROUP BY LEFT(UPPER(mf.physical_name), 2), vs.volume_mount_point,
vs.file_system_type, vs.logical_volume_name, vs.total_bytes, vs.available_bytes
)
SELECT
[Volume Mount Point],
[Logical Name],
[File System Format],
[Total Size (GB)],
[Free Space (GB)],
[Free Space (%)],
[Read Latency (ms)] = CASE WHEN num_of_reads <> 0 THEN (io_stall_read_ms/num_of_reads) END,
[Write Latency (ms)] = CASE WHEN num_of_writes <> 0 THEN (io_stall_write_ms/num_of_writes) END,
[Overall Latency (ms)] = CASE WHEN num_of_reads <> 0 AND num_of_writes <> 0 THEN (io_stall/(num_of_reads + num_of_writes)) END,
[Avg Read (KB)] = CASE WHEN num_of_reads <> 0 THEN CAST(CAST(num_of_bytes_read as decimal)/ CAST((num_of_reads * 1024) as decimal) as decimal(8,2)) END,
[Avg Write (KB)] = CASE WHEN num_of_writes <> 0 THEN CAST(CAST(num_of_bytes_written as decimal)/ CAST((num_of_writes * 1024) as decimal) as decimal(8,2)) END,
[Avg Transfer (KB)] = CASE WHEN (num_of_reads <> 0 AND num_of_writes <> 0) THEN CAST(CAST(num_of_bytes_read + num_of_bytes_written as decimal)/ CAST((num_of_reads + num_of_writes * 1024) as decimal) as decimal(8,2)) END
FROM [RAW_INFO]
ORDER BY [Volume Mount Point];
This是一篇關於如何通過返回行的VB.NET執行SQL語句的文章。
我的意思是,我想從我喜歡的溫度壞扇區的硬盤驅動器得到所有的信息和等 像hardwaremonitor,但我想從hardrive的更多細節,我沒有使用SQL Server 和抱歉,我的英語不好 –
我只回答了,因爲您標記了SQL Server。如果這只是關於VB.NET嘗試[此鏈接](https://daran9.wordpress.com/2011/01/24/howto-get-harddisk-temperature-with-net)或[this one](https ://social.msdn.microsoft.com/Forums/vstudio/en-US/704db4ae-5646-4f59-b39b-241a666a5e0d/retrieving-hard-drive-temperature-smart?forum = vbgeneral)以及你的問題的答案您已收到[MSDN論壇](https://social.msdn.microsoft.com/Forums/zh-CN/76842db3-0746-4769-bf51-c6d129684b72/get-all-information-from-hard-disk-using -vbnet?forum = vbgeneral) –
好的兄弟,但謝謝你的回答 –