We use this script for development databases and occasionally for refreshing a snapshot of a reporting database. It works great for us in those situations, but I advise caution if you plan to try this with your production OLTP mid-day. 😉
you get to be very careful. In a busy system, there are lot of threads would get access before you can get access, such as replication spids, log shipping, users connections from application connection pools etc.