OK, Hive Mind I have an assignment for you. As I plod through the edit phase of my Performance Tuning with SQL Server DMVs book I’ve been asked by my Overlord PITA Task Master Editor to explain what I mean by Transaction when used in discussing the sys.dm_tran_ … Dynamic Management Objects. Of course we’ve all memorized the definition from Microsoft Books Online and our Microsoft Certified Training courses…
“A transaction is a sequence of operations performed as a single logical unit of work. A logical unit of work must exhibit four properties, called the ACID (Atomicity, Consistency, Isolation, and Durability) properties, to qualify as a transaction…”
Then we all go on to explain what ACID means in detail…
Atomicity means that a transaction either completes all it’s necessary data modification in full, or rolls back in full.
Consistency asserts that when transaction finishes, all data and supporting structures (think indexes) meets all rules that were put in place for the data (foreign keys, default constraints, etc.)
Isolation denotes that a transaction is independent, isolated, and without impact from any other concurrent transaction active on the instance at the time it’s being processed.
Durability requires that the effects of the transaction are persisted once completed, even in the face of system failure.
There, we all have the clinical definition in front of us that we learned fresh into our SQL Server careers.
Now, my task to you Dear Reader is how do you describe a transaction? How would you explain it, in a non-technical fashion if asked by a coworker, manager, editor, child, spouse, hobo, clown, etc.? Not that I’m saying my Editor is a childish clown that may or may not ride the train systems in Great Britain eating beans from a can. Quite the contrary. Be creative. Be accurate. Be funny, serious, or obscene, but be non-technical. Your words, credited to you, may make it into the book. If you wish to remain anonymous in the book, please simply state that in your comments on this post.