• 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)]

    FROM sys.dm_os_buffer_descriptors

    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.