Did a prep session this past Friday for my upcoming talk (Feb. 3) on 'Partially Contained Databases' to the Sacramento SQL Server Users Group (@SacSQLUG) (Some #spoileralerts if any the group is reading this before the Feb meeting) Had a few great, gracious current or former co-workers view the talk and demo over a remote screen sharing session and provide feedback.
- The feedback from a group of people with differing experiences with SQL Server was hugely valuable. As a presenter, you are so close to the topic, you can include things as obvious that you forgot actually took you quite a few leaps to discover yourself.
- The call to action, which I will add to the slides, is to 'try it out'. Try using partial containment for a simple example like a reporting service account that should have access to only one database.
- This topic is fast becoming a standard practice to employ for high availability/disaster recovery scenarios. (At this time, I'll leave it to the viewer's great mental ability to make the connection)
Some of the core feedback (which may only make sense when the final presentation is shared)
- hard time following the difference between types of accounts
- too much time spent on the 'intro'; that is the demonstration of backup/restore in an uncontained database to demo the problem trying to be solved
- appreciated mention of the connection to certification exams
- pre-requisites of DBA knowledge
My thought process incorporating this feedback:
- Simplified the login and user creation in the demo. Namely, removed the example using Windows authentication
- Removed a time-consuming section on various permutations of recovering logins where the password is known/not known, original server is available/unavailable. This content is saved for a future blog post.
- Pre-requisites: well, I think it's OK to make an assumption or two since the talk is aimed to the SQL Server user group. And in any case, that ship has sailed for this week's talk. I may review the abstract for future use and make sure it calls out the viewer is familiar with database backup/restore.
Hurts my heart a bit to give up the Windows auth and login recovery content, because the content is a good practice. But the time they eat up distracts from the two key takeaways:
- With a partially contained database, logins can live with the schema of a user database rather than the system database (that's a clue for the High Availability/Disaster Recovery connection)
- The db_owner and other database roles have additional power within a user database.
Fun stuff. and i think if i just script out the sample database creation step, all the scripts could be published to let others run the demo themselves.