Procedure to wholly migrate SQL Server 2005 to a new server
Do not use copy database wizard. Instead use backup/restore. Also, if you want to minimize the downtime then below steps would be sufficient :
Prepwork on the New server :

Create blank databases with the same name as the old server. This is because if any logins or jobs has that database as default, there would be errors.

Script out all the logins using the sp_help_revlogin from the old server to the new server and create them on the new server.

Script out all the jobs. You dont have to Script &gt; CREATE To for each jobs. Instead right click in Object Explorer and script all the jobs in one shot :-) Remember to disable the jobs until you failover to the new server.


Scrip out all Linked servers and recreate them on the destination server. Remember that passwords will not be scripted out.

Once 1-4 is set up then set up either Logshipping or database mirroring (Async mode) from source server to destination server.

On the day of failover

if using logshipping then manually failover to new server.

if using Mirroring then change the mode to synchronous and then initiate a failover to new server.




This way you will do all the prep work before hand and then during the day of failover, the downtime will be minimal.
You can refer to my answer HERE for more steps (they are for migration from old version to higher version, but still will help you).