Well done - great collection of useful info.
I will advise, however, developers avoid using GO for inserting sample data as it would be horrifically slow.
For example, instead of this:
INSERT INTO TestData(CreatedDate) SELECT GetDate()
I would strongly encourage people to do this:
FROM (values (1),(1),(1),(1),(1),(1),(1),(1),(1),(1))x(x)
For more records than that I'd use a permanent or inline tally table (or larger group of dummy rows).
"I cant stress enough the importance of switching from a sequential files mindset to set-based thinking. After you make the switch, you can spend your time tuning and optimizing your queries instead of maintaining lengthy, poor-performing code."
-- Itzik Ben-Gan 2001