Another thing that helps improve the accuracy of what I do isn't really a management studio tip but one using t-sql itself.
Whenever I write an update or delete statement for the first time, I incorporate a select into it so that I can see what records will be affected.
Examples:
select t1.field1,t2.field2
--update t
--set field1 = t2.field2
from mytable t1
join myothertable t2 on t1.idfield =t2.idfield
where t2.field1 >10
select t1.*
--delete t1
from mytable t1
join myothertable t2 on t1.idfield =t2.idfield
where t2.field1 = 'test'
(note I used select * here just for illustration, I would normally only select the few fields I need to see that the query is correct. Sometimes I might need to see fields from the other tables inthe join as well as the records I plan to delete to make sure the join worked the way I thought it would)
When you run this code, you run the select first to ensure it is correct, then comment the select line(s) out and uncomment the delete or update parts. By doing it this way, you don't accidentally run the delete or update before you have checked it. Also you avoid the problem of forgetting to comment out the select causing the update to update all records in the database table that can occur if you use this syntax and uncomment the select to run it:
select t1.field1,t2.field2
update t
set field1 = t2.field2
--select t1.field1,t2.field2
from mytable t1
join myothertable t2 on t1.idfield =t2.idfield
where t2.field1 >10
As you can see from the example above, if you uncomment the select and forget to re-comment it out, oops you just updated the whole table and then ran a select when you thought to just run the update. Someone just did that in my office this week making it so only one person of all out clients could log into the client websites. So avoid doing this.