データベースが存在するドライブの空き容量を特定する必要があります。手順は知っていxp_fixeddrives
ますが、データベースが存在する特定のドライブの情報を取得するにはどうすればよいですか?
18635 次
3 に答える
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
します。
于 2011-11-01T05:44:56.427 に答える
1
SQL Server のバージョンについて言及していません。SQL Server 2005 以降では、sys.database_files から多くの情報を取得し、それを xp_fixeddrives の出力に関連付けることができます。
于 2010-02-11T08:39:29.030 に答える