Hello,
It is a bit dependant on the platform you are running but generally I would use the following.
=======
spanning-tree vlan root primary
========
It is also considered best practice to manually set the secondary root as well.
=========
spanning-tree vlan root secondary
==========
The above commands are setting the priority for you which is why I feel it's the best/cleanest method. This, however, can also be done manually.
===========
:root
spanning-tree vlan priority 8192
:sec root
spanning-tree vlan priority 16384
============
The thing to remember is the switch with the higher priority ,lower value, becomes root. The switch with the second highest priority becomes secondary.
To answer your other question , all ports on the root bridge will be in forward state. All other switches in the topology will have only one root port in the forward state, baring any type of load balancing methods, creating a tree leading back to the root.
Regards,
-Rob