Si la base de datos es de SQL Server, se puede sacar la copia mediante una sentencia "BACKUP DATABASE..." enviada desde el programa cliente. Por ejemplo, en C# (ya que no has dicho qué lenguaje usas):
SqlConnetion cn = new SqlConnection(cadena);
SqlCommand cmd = new SqlCommand(@"Backup database [miBase] to disk='c:\copias\miBase.bak'", cn);
cn.Open();
cmd.ExecuteNonQuery();
cn.Close();
Similarmente, podrías restaurar la BD con un comando "Restore Database...".