Personally I use Visual Sourcesafe integration, with keyword expansion. The source to each stored procedure is stored in a .sql text file, complete with the code to drop the sp,...
We also use Sourcesafe - each stored procedure/UDF/view has its own self-contained script file, which will handle dropping existing objects, creating new ones and granting appropriate permissions. We can then...
Incidentally, IIRC a bookmark lookup is done when a non-clustered index is used, since the index that is used still has to be referred back to the clustered index to...