我需要確定數據庫所在驅動器上的可用空間。 我知道xp_fixeddrives
程序,但是如何獲取數據庫所在的特定驅動器的信息?用sql查詢確定可用磁盤大小
4
A
回答
6
像這樣的東西?
declare @DatabaseName sysname
set @DatabaseName = 'master'
declare @Drive table(DriveName char, FreeSpaceInMegabytes int)
insert @Drive execute xp_fixeddrives
select
mas.type_desc FileType,
mas.name FileName,
mas.physical_name PhysicalFileName,
mas.size * 8/1024 FileSizeInMegabytes,
drv.DriveName,
drv.FreeSpaceInMegabytes
from sys.master_files mas
left join @Drive drv on
left(mas.physical_name, 1) = drv.DriveName
where database_id = db_id(@DatabaseName)
相應地設置@DatabaseName
。
1
您還沒有提及您的SQL Server版本。從SQL Server 2005開始,您可以從sys.database_files獲得大量信息,並將其與xp_fixeddrives的輸出關聯起來。
0
SELECT Drive
, TotalSpaceGB
, FreeSpaceGB
, PctFree
, PctFreeExact
FROM
(SELECT DISTINCT
SUBSTRING(dovs.volume_mount_point, 1, 10) AS Drive
, CONVERT(INT, dovs.total_bytes/1024.0/1024.0/1024.0) AS TotalSpaceGB
, CONVERT(INT, dovs.available_bytes/1048576.0)/1024 AS FreeSpaceGB
, CAST(ROUND((CONVERT(FLOAT, dovs.available_bytes/1048576.0)/CONVERT(FLOAT, dovs.total_bytes/1024.0/
1024.0) * 100), 2) AS NVARCHAR(50)) + '%' AS PctFree
, CONVERT(FLOAT, dovs.available_bytes/1048576.0)/CONVERT(FLOAT, dovs.total_bytes/1024.0/1024.0) * 100 AS PctFreeExact
FROM sys.master_files AS mf
CROSS APPLY sys.dm_os_volume_stats(mf.database_id, mf.file_id) AS dovs) AS DE
+0
考慮在您的步驟中添加信息以解決此問題。 – scharette 2017-11-28 22:50:10
相關問題
- 1. 磁盤大小不正確
- 2. 大小和磁盤大小
- 3. 正確獲取磁盤大小
- 4. UNFORMAT磁盤大小串
- 5. Redis磁盤大小巧合?
- 6. 磁盤大小問題
- 7. 確定iOS應用程序的總磁盤使用量/文件大小
- 8. 預先編程確定文件「磁盤上的大小」
- 9. 如何確定Win32上的最佳磁盤IO塊大小?
- 10. SQL Server 2005 - 如何找出特定索引的磁盤大小
- 11. 如何使用Perl確定磁盤上的實際文件大小?
- 12. Azure OS最大磁盤大小?
- 13. MySQL查詢在磁盤上
- 14. 什麼是可以存儲在使用inode和磁盤塊的磁盤上的最大文件大小
- 15. 如何檢查可用磁盤空間?
- 16. 如何獲取便攜式磁盤的磁盤大小?
- 17. TMPFS_MAGIC在linux標題和錯誤,確定可用磁盤空間
- 18. Postgres 9.x:如何確定工作的可用磁盤空間
- 19. 從ioctl調用大於2TB的veritas卷獲取磁盤大小
- 20. SQL查詢查詢結果的大小
- 21. 文件夾大小如何大於磁盤上的大小?
- 22. 獲取磁盤的大小堅持
- 23. MongoDB測量所需的磁盤大小
- 24. 磁盤上的InfluxDB存儲大小
- 25. 磁盤上的Java目錄大小?
- 26. 增加Azure數據磁盤大小
- 27. 獲取磁盤上的文件大小
- 28. deviceiocontrol和磁盤大小問題
- 29. Azure站點恢復 - 磁盤大小
- 30. 數據大小和磁盤訪問
數據庫的選擇是在我的控制之下,所以將SQL Server 2005或更高版本。 – Ries 2010-02-11 09:08:25