{"id":2374,"date":"2009-03-16T20:40:07","date_gmt":"2009-03-16T19:40:07","guid":{"rendered":"http:\/\/www.glorf.it\/blog\/?p=2374"},"modified":"2009-03-16T20:40:07","modified_gmt":"2009-03-16T19:40:07","slug":"verschachtelte-transaktionen","status":"publish","type":"post","link":"http:\/\/www.glorf.it\/blog\/2009\/03\/16\/sql-talk\/verschachtelte-transaktionen","title":{"rendered":"Verschachtelte Transaktionen"},"content":{"rendered":"<p>Heute war schon alleine deswegen ein guter Tag, weil mir jemand eine kluge Frage zu SQL stellte. Manche Dinge vergisst man ja wieder, aber ich wei&#223; noch genau, wie wenig ich zu Beginn meiner Besch&#228;ftigung mit Datenbanken verstand, warum bei verschachtelten Transaktionen zwar genau so viele COMMITs wie BEGIN-TRANSACTIONs n&#246;tig sind (leuchtet ein), aber ein ROLLBACK immer bis zum Beginn der &#228;u&#223;eren Transaktion zur&#252;ck rollt&#8230; \ud83d\ude42<\/p>\n<p>Als ich heute einem Kollegen auf diese Frage antwortete, fand ich in &quot;meinen&quot; TSQL-Richtlinien neben einer etwas langweiligen Erkl&#228;rung den Hinweis (sinngem&#228;&#223;):<\/p>\n<blockquote><p>Verschachtelte Transaktionen sind im g&#252;nstigsten Fall wirkungslos und sollten daher nicht eingesetzt werden.<\/p><\/blockquote>\n<p>Dabei f&#228;llt mir noch etwas ganz anderes ein: Hat eigentlich schon jemand mal einen sinnvollen Einsatz f&#252;r Savepoints gefunden? Unsere Anwendungen haben zwar ein paar l&#228;ngere Transaktionen, aber wir k&#228;mpfen dann meist mit den Nebenwirkungen, insbesondere der <a href=\"http:\/\/www.glorf.it\/blog\/2009\/03\/11\/sql-server\/kriterien-fuer-eine-lock-escalation\">Lock-Escalation<\/a>. Aber ich bevorzuge viele kleinere Transaktionen hintereinander&#8230; Geschmackssache?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Heute war schon alleine deswegen ein guter Tag, weil mir jemand eine kluge Frage zu SQL stellte. Manche Dinge vergisst man ja wieder, aber ich wei&#223; noch genau, wie wenig ich zu Beginn meiner Besch&#228;ftigung mit Datenbanken verstand, warum bei verschachtelten Transaktionen zwar genau so viele COMMITs wie BEGIN-TRANSACTIONs n&#246;tig sind (leuchtet ein), aber ein [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[429],"_links":{"self":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/posts\/2374"}],"collection":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/comments?post=2374"}],"version-history":[{"count":4,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/posts\/2374\/revisions"}],"predecessor-version":[{"id":2391,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/posts\/2374\/revisions\/2391"}],"wp:attachment":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/media?parent=2374"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/categories?post=2374"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/tags?post=2374"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}