..."hey, what's that spot on my hand?"
OK, I put in shameless plugs, but that got me thinking about topics that every DBA should really, really understand. I'm talking a Kalen level of understand (Geeks unite!).
I won't be explaining all of these things - take some initiative and hit Books Online and all of the other blogs and publications out there and really take the time to absorb it. If you've ever come one of my classes, you'll recognize these topics since rant about them so much.
1) BOL - If I have to tell you that means Books Online, you have a huge source of information close to you that you may not know about. There is a treasure trove of information, usually very easy to find. Personally I never use the search features of BOL but just start typing in the index - it's amazing how quickly you can get to what you want.
I do have a gripe for MS though - having it link online may seem like a nice feature, but I find that it just muddles the information includes more than is necessary. Finding something specific on msdn.microsoft.com can be a nightmare. PLEASE do not turn BOL into the same thing.
2) Locking behaviour and Isolation Levels
The SQL engines (storage engine, query engine, the lock manager, etc) will always have oddities, but you better undertand exactly how locking works, and how each Isolation Level affects locking behaviour (can you name the basic 4 supported in SQL Server? How about the 2 new levels introduced in SQL 2005).
If you get the Isolation Levels and how locking performs, you may go into a panic thinking about how developers are connecting and what they are doing. Serializable mode from one incoming query can bring the database to it's knees.
3) Index Fragmentation - It never fails to amaze me how often I've met DBAs that don't know what DBCC SHOWCONTIG is for (or for 2005, sys.dm_db_index_physical_stats[sp?]). There are 4 distinct types of fragmentation that WILL occur for any OLTP database. It's just a matter of time before it occurs. Do you know the 4 different types? One is indirect and related more to autogrowing and then shrinking files...
4) The difference between RESTORE and RECOVER - When restoring a database, the default is automatically recover the database. What's the implication? Well, if you asked me to help restore and said "we got the full restore started for you" and left the defaults, guess what? I have to start over - I won't be able to apply differential or log backups...that does not make James happy.
5) The difference between a LOGIN and a USER - I hope everyone reading this has enjoyed moving a database from one server to another and experienced the results of using SQL authentication. And how to fix it. Also, for the record, I will not nor advise people to use third-party/freeware scripts to correct the problem on a production database - they access Master directly. I say let MS do that - I don't want to risk something I'm doing to a system table failing.
That's it for now. I'll have more to rant about in the future - that's just me :)