It is very easy to get caught up in trying to come up with a perfect spec, but it is rarely worth the time since you are running a virtual machine where
resources can be added fairly easy. I would not spend weeks of looking at a billion metrics because it is a very complex job to convert all that into a spec
that will basically say 2-4 cores with x amount of RAM.
If I understood you correctly your SQL 2005 is virtual today, just get a couple of reports from your vmware admin where you can see IO/Memory/CPU usage
for that VM. Have a look at past week, past month and so on.
Run the 2005 Performance Dashboard report and have a look at the IO, it will display which databases use the most IO.
The databases that show up in this report with a high % are likely those you have be a little cautious with.
Very very often the performance of the server is used by databases where bad indexing causes high IO % figures, not solved by adding hardware.
Do the same for expensive queries regarding cpu.
(Remember that info above is only since last restart)
Have a look which databases use the most of your buffer mem, you can schedule below code during the day just
and it will tell you which one of your db's are "agressive" on the mem.
SELECT DB_NAME(database_id) AS [Database Name],
COUNT(*) * 8/1024.0 AS [Cached Size (MB)]
WHERE database_id > 4 -- system databases
AND database_id <> 32767 -- ResourceDB
GROUP BY DB_NAME(database_id)
ORDER BY [Cached Size (MB)] DESC;
But basically I would spec out a machine that is better than you have today (not more cores, four are "probably" enough, a lot of cores in a vm can be a pain).
Add as much memory you can get a hold of.
Start migrating your databases one by one and monitor your new server. And if your spec doesn't hold upp, adjust it accordingly as you go.
That will probably be easiest way to get started.