|
|
|
SSCertifiable
       
Group: General Forum Members
Last Login: Today @ 6:46 AM
Points: 5,102,
Visits: 20,207
|
|
L' Eomot Inversé (5/30/2012) Until I saw the counts of answers so far I thought that maybe this repetition with tiny variations (this is the third version of this question in a couple of weeks) was a bit much, but then I saw that 29% (77 out of 270) so far have got this wrong, so now I reckon the repetition is useful after all.
Agreed it is somewhat of a repeat (with a slight, ever so slight variation), but going back to those prior questions on May 16th and 23rd) my last look at those answers: a. 16th 53% correct b. 23rd 47% correct
Seems like there is still a great deal of learning that needs to be driven home.
Now fore warned is fore armed, be prepared, the last in the series is scheduled for June 8th. If that is not answered 100% correctly, I guess I'll give up, no sense flogging a dead horse.
If everything seems to be going well, you have obviously overlooked something.
Ron
Please help us, help you -before posting a question please read Before posting a performance problem please read
|
|
|
|
|
Right there with Babe
      
Group: General Forum Members
Last Login: Friday, May 17, 2013 6:13 AM
Points: 799,
Visits: 422
|
|
The repetition is a good idea but really depends on the audience. In high school Honors Calculus we has one basic proof show up on EVERY weekly quiz until everyone got it right. The rationale was that the proof was so basic to calculus in general that if you didn't get it, you were doomed. Eventually everyone got it right. I managed to get it from the first attempt onward although, for the life of me, I cannot remember that proof now.
Point being that transaction control is so basic to developing robust transactional systems that a little repetition early can save some serious data headaches later.
------------ Buy the ticket, take the ride. -- Hunter S. Thompson
|
|
|
|
|
Ten Centuries
      
Group: General Forum Members
Last Login: Yesterday @ 2:04 PM
Points: 1,150,
Visits: 1,455
|
|
Just from the first 2 lines of code, I knew this was a bitbucket question. 
Thanks for the easy (now that I've researched the topic) point.
I doubt I will be missed, not being a major contributor here. But, I want to wish you all well, as I'll be on vacation for a few weeks. (My wife thinks the purpose of our trip is to revive the Greek economy. She'll try.)
Αντίο, και καλή τύχη με το ζήτημα της ημέρας.
(Goodbye, and good luck with the question of the day. Either that, or I just ordered 2 ouzos and a squid.)
Edited to correct spelling of "question" - "quest" made it by spell check. Maybe I'll try German instead.
Please don't go. The drones need you. They look up to you.
|
|
|
|
|
SSCrazy Eights
        
Group: General Forum Members
Last Login: Today @ 6:39 AM
Points: 9,376,
Visits: 6,472
|
|
|
|
|
|
SSCrazy
      
Group: General Forum Members
Last Login: Today @ 8:24 AM
Points: 2,225,
Visits: 1,273
|
|
| Thanks Ron, easy one but worth remembering.
|
|
|
|
|
Old Hand
      
Group: General Forum Members
Last Login: Today @ 7:11 AM
Points: 317,
Visits: 619
|
|
You know, if you took out the transaction the answer would be exactly the same? How then is this a transaction? :)
Still say having SET XACT_ABORT OFF as the default is broken, buggy behavior. Because it means *it is not a transaction*.
Growl.
And please don't quibble that "it acts like a transaction sometimes and sometimes it doesn't". That's not a transaction, folks.
|
|
|
|
|
SSCertifiable
       
Group: General Forum Members
Last Login: Today @ 10:53 AM
Points: 7,099,
Visits: 7,159
|
|
roger.plowman (5/30/2012) You know, if you took out the transaction the answer would be exactly the same? How then is this a transaction? :)
Still say having SET XACT_ABORT OFF as the default is broken, buggy behavior. Because it means *it is not a transaction*.
Growl.
And please don't quibble that "it acts like a transaction sometimes and sometimes it doesn't". That's not a transaction, folks.
Well, I'll growl "it acts like a transaction at all times - at least to the extent that the isolation level you've chosen supports transactions" (which, for the default isolation level READ COMMITTED, is pretty close to not at all). Something is a transaction if it has the ACID properties, which are nothing to do with handling errors internal to the transaction; it isn't a transaction if it doesn't have those properties. End of story.
Tom Que conclure à la fin de tous mes longs propos? C'est que les préjugés sont la raison des sots. (Voltaire, 1756)
|
|
|
|
|
Hall of Fame
       
Group: General Forum Members
Last Login: Thursday, May 02, 2013 3:45 PM
Points: 3,748,
Visits: 928
|
|
Ron, thank you for the easy question.
roger.plowman (5/30/2012) You know, if you took out the transaction the answer would be exactly the same? How then is this a transaction? :)
Still say having SET XACT_ABORT OFF as the default is broken, buggy behavior. Because it means *it is not a transaction*.
Growl.
And please don't quibble that "it acts like a transaction sometimes and sometimes it doesn't". That's not a transaction, folks.
This happens in this specific example, it doesn't mean it always happens with any transaction.
L' Eomot Inversé (5/30/2012) Well, I'll growl "it acts like a transaction at all times - at least to the extent that the isolation level you've chosen supports transactions" (which, for the default isolation level READ COMMITTED, is pretty close to not at all). Something is a transaction if it has the ACID properties, which are nothing to do with handling errors internal to the transaction; it isn't a transaction if it doesn't have those properties. End of story. +1
"El" Jerry.
"El" Jerry.
"A watt of Ottawa" - Gerardo Galvan
|
|
|
|
|
Hall of Fame
       
Group: General Forum Members
Last Login: Today @ 8:24 AM
Points: 3,399,
Visits: 3,408
|
|
I am so accustomed to seeing XACT_ABORT set ON that I almost missed the fact that it was being set OFF in this case. Could explain some of the wrong answers.
|
|
|
|
|
SSCarpal Tunnel
       
Group: General Forum Members
Last Login: Today @ 9:05 AM
Points: 4,428,
Visits: 7,207
|
|
I must admit I'm surprised that having SET XACT_ABORT OFF is the default. I take the point that READ COMMITTED breaks the rules of isolation anyway, but I find this one even more alarming. This from the Transactions topic in Books Online:
It is the responsibility of an enterprise database system, such as an instance of the Database Engine, to provide mechanisms ensuring the physical integrity of each transaction. The Database Engine provides:
- Locking facilities that preserve transaction isolation.
- Logging facilities that ensure transaction durability. Even if the server hardware, operating system, or the instance of the Database Engine itself fails, the instance uses the transaction logs upon restart to automatically roll back any uncompleted transactions to the point of the system failure.
- Transaction management features that enforce transaction atomicity and consistency. After a transaction has started, it must be successfully completed, or the instance of the Database Engine undoes all of the data modifications made since the transaction started.
What it should really point out is that the facilities described in the first and third points aren't turned on by default.
John
|
|
|
|