Quindi, SELECT * FROM sys.master_files
dovrebbe elencare i file per ogni database nell'istanza mentre SELECT * FROM sys.database_files
dovrebbe elencare i file per il contesto del database specifico.
Testandolo qui (SQL 2K8), funziona come sopra?
Aggiornamento: Se non vedi righe da sys.master_files, potrebbe trattarsi di un problema di autorizzazioni come afferma BOL:
Mentre per sys.database_files richiede solo l'appartenenza al ruolo pubblico.