Follow sqlserver-dba.com

Subscribe to RSS feed  Follow @jackvamvas - Twitter

*Use the Comments section for questions

SQLServer-DBA.com Links

Dba_db2_button

dba-ninja.com

SQL Server DBA Jobs

How to use Deductive and inductive logic for sql troubleshooting

27 February,2016 by Tom Collins

I had an interesting conversation with a colleague about blind faith and how that compares to using clear logic. Although most people try to apply logical structure to their arguments unfortunately  people also  think their thinking is infallibale and the source of truth. Blind faith has a place, but it is easdy to fit the logic around what you want to believe.

I observe this often , within myself and others. Emotion takes over from a logical progression in thinking and before you know it you're stating "truths" which are based on some twisted reasoning.

This topic isn't strictly about managing database servers, but there are concepts relevant to troubleshooting and research. If research is based on premises which are incorrect then the conclusions value is comprimised.   The same applies to SQL troubleshooting, quite often a DBA may jump to a conlcusions based on observing some pattern, but in fact the pattern is just another symptom and doesn'tdeal with the root cause. As a consequence, the problem soon returns.

Classical reasoning operates in two opposite directions. Deductive reasoning operates  from a general premise to a more  specific conclusion. Inductive reasoning operates  from specific premises to a general conclusion. Depending on which approach you use , there will be different results.

An example of Deductive logic -"All cats have four legs. Oscar is a cat , therefore he has four legs". This is a type of declarative logic . One flaw of deductive logic is the problem of self referencing logic.  Epimenides paradox is the classic example . Epimenides was a Cretan who said "All Cretans are liars". This paradox highlights the problem of the reliability of logical arguments.

An example of Inductive logic - "A SQL job always starts at 19:00 and finishes on time by 20:00. Tony the DBA assumes it will always finish on time"

or another example of inductive logic " Any change request we've applied in the past that was IO related worked OK. I assume this one as well will be OK"

Applying clear and reasoned approach to thinking can have powerful results.Quite often you can be completely confused by a problem, but then after all-nighters and multiple coffees a moment of clarity descends and you grasp the logic of the problem.

 Here is a simple deductive reasoning logic puzzle: The light bulb puzzle  (answer below)

  Light_Switch

 

Read More on troubleshooting

SQL Server – How to troubleshoot query timeouts - SQL Server DBA

How to request SQL Server troubleshooting


Answer to light bulb puzzle
Turn two of the switches on, say switch A and switch B.  Leave them on for a few minutes.  Then turn switch B off.  Run upstairs into the room.  If the light is on, switch A controls the light.  If it is off, feel the bulb.  If it is still warm, then switch B controls the light; if it is not warm, then switch C controls the light.


Author: Tom Collins (http://www.sqlserver-dba.com)


Share:

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment on How to use Deductive and inductive logic for sql troubleshooting


sqlserver-dba.com | SQL Server Performance Tuning | SQL Server DBA:Everything | FAQ | Contact|Copyright & Disclaimer