2

別のサーバーでホストされているデータベースのサイズを取得する方法を知っている人はいますか? 基本的に、サーバー上のジョブでその DB のサイズを監視したいと考えています。私は次のようなものを試しました:

select db_name(dbid), str(convert(dec(15),sum(size))* 8192/ 1048576,10) 
from [LINKEDSERVER].master.sys.sysaltfiles 
group by dbid order by 2 desc

何らかの理由で、これにより、リモートサーバーではなく現在のサーバー上のデータが得られます。また、sysaltfiles はサーバーの再起動時にのみ更新されるというフォーラムを読みましたか? これにより、監視に使用できなくなるため、代わりにより良いオプションがありますか?

4

1 に答える 1

3

これを試してください、それは私がチェックした動作します

EXEC ('SELECT d.name,
ROUND(SUM(mf.size) * 8 / 1024, 0) Size_MBs
FROM sys.master_files mf
INNER JOIN sys.databases d ON d.database_id = mf.database_id
WHERE d.database_id > 4 
GROUP BY d.name
ORDER BY d.name') AT [LINKEDSERVER]
于 2012-10-17T18:02:11.053 に答える