There are many ways to transfer a database from one server to another...
1. Backup/Restore Method (recommended)
2. Transfer Database Task in SSIS
3. Copy Database Wizard
4. Using SMO Objects
I personally don't like using detach...attach method, 'cause you have to take the database offline and you have to do a few more steps than the backup/restore method.
Problem i am having is to detach database on server 2 because when i copy i get sharing violation. SO how can i detach the database on Server 2 from Server 1(Remotely).
Using SSMS, you can manage all the SQL Servers from your desktop. To detach, you have to do "Right Click on Database to Detach > Tasks > Detach".