« first day (4320 days earlier)      last day (601 days later) » 

12:00 AM
Can you imagine the bugs in a Microsoft vaccine
Ironic
All things considered, if I had the choice, I'd prefer a hydrogen powered car I think
 
lol
 
12:20 AM
I’m waiting for the Postgres version.
 
 
7 hours later…
7:04 AM
Morning
@PaulWhite Thank you, Paul. I probably made mistakes yesterday because the partitions were being eliminated in the end, but there were still so many rows that I didn't grab the actual execution plan.
 
7:43 AM
Morning
 
8:31 AM
@Zikato I see. So it's all resolved now?
 
8:45 AM
| vlf_begin_offset  | vlf_sequence_number | vlf_active | vlf_status |     vlf_first_lsn      |
|-------------------|---------------------|------------|------------|------------------------|
| 8192              | 71856               | 0          | 0          | 00000000:00000000:0000 |
| (107 res clipped) | NULL                | NULL       | NULL       | NULL                   |
| 840957952         | 71857               | 0          | 0          | 00000000:00000000:0000 |
| 899153920         | 71858               | 1          | 2          | 000118b2:00000010:0001 |
💚it
 
8:59 AM
very good
 
9:25 AM
@JohnK.N. thanks for the bounty
 
9:38 AM
@PaulWhite You are welcome.
 
9:52 AM
@PaulWhite I think so. Thank you for your help.
 
 
3 hours later…
12:24 PM
Does Kusto/KQL belong on dba.stackexchange or main SO?
 
Either. More likely to get answers on SO, I think
 
1:22 PM
@Zikato You have my deepest sympathies.
 
Morning heap
 
☀️
 
@SeanGallardy So far it's not so bad. But I'm struggling with Top n Per bin(timestamp,x)
 
Nothing's bad to begin with
 
1:37 PM
powershell
 
Vérace perhaps
3
 
MongoDB
 
That's eventually consistently bad
 
BASEically bad
 
@SeanGallardy was the SLO stuff you were looking at the other day wrt hekaton
 
1:48 PM
Sean only works on HA/RD problemz
 
@ErikDarling It was not, I was looking at exports of the SQL Server dll's to see what I coudl export hook :D
@PaulWhite I like OS/Hardware items, which is why I'm not a fan of QO/QE. I'd rather go with memory/cpu/scheduling/networking/disk structures.
HA just happens to fall into all those buckets
 
Anything that keeps you off my lawn
 
@SeanGallardy oh okay, i have a client with some interesting stuff going on that seems related to that and spgo
 
@ErikDarling SPGO is binary optimization...
Feel free to hit me up on the issue
 
What's SPGO?
 
1:54 PM
"Profile Guided Optimization" so you'd like it. youtube.com/watch?v=zEsdBcu4R00
>PGO is a runtime compiler optimization which leverages profile data collected from running important and performance centric user scenarios to build an optimized version of the application.
 
thanks
 
> PGO optimizations have some significant advantage over traditional static optimizations as they are based upon how the application is likely to perform in a production environment which allow the optimizer to optimize for speed for hotter code paths (common user scenarios) and optimize for size for colder code paths (not so common user scenarios) resulting in generating faster and smaller code for the application attributing to significant performance gains.
I'm not an authority on it
I know we use a lot of VTune as well: intel.com/content/www/us/en/develop/documentation/…
Once again optimizers were a mistake
 
Yes, I just didn't recognise the acronym in context
 
Is there such a thing? Optimistic Optimizers
 
Didn't seem very Erik iykwim
 
1:59 PM
In Erik's blog video today, go to 9:59 into the video. Tell me that isn't a car crash that's happening outside his office.
@PaulWhite 4 sure
 
Erik has a blog now?
 
So I'm told by my email
 
I hope it has subtitles
 
No subs, but good maths
 
@SeanGallardy i forwarded you the email, there are case numbers
it's pretty hysterical
at the intersection of hekaton and azure
 
2:03 PM
4u
 
@ErikDarling Got it!
@ErikDarling Ok, yes I know of the hekaton issue, it's quite interesting actually.
That was a huge deal, like UGE deal and there was a lot of people working around the clock to fix that
 
darn those summer interns
 
essentially don't use hekaton because it will make you say hek a ton
3
 
For the 2nd hekaton item, yeah that's a kind of "known issue" type of thing where the varheaps/lookaside lists aren't trimmed (optimization) and use all the free space.
There were a few different fixes checked in for that, not sure if/when they made it out
 
varheaps have cropped up in recent CUs
 
2:17 PM
It’s always mourning in the varheaps
5
 
nice one
 
"The following is running slow <snip>... we don't want to change our query."
`OPTION (RECOMPILE, USE HINT ('FORCE_DEFAULT_CARDINALITY_ESTIMATION', 'DISABLE_OPTIMIZER_ROWGOAL'), NO_PERFORMANCE_SPOOL, HASH JOIN);`
Did Paul write that for these people?
 
seems reasonable to me
 
Performance spools are great, so no
 
2:36 PM
i went through like three years of them being terrible in query plans and ever since they've been useful
not sure what happened
 
You grew
 
oh you flirt
 
😘
 
A little diddy about Paul and Erik, two performance tuner kids doing the best that they can...
 
You'll get the right result from an e-core eventually
 
2:47 PM
that's where the name comes from
eventual cores and prompt cores
 
3:01 PM
morning
 
morning
 
 
2 hours later…
4:46 PM
How is it possible to run BEGIN TRANSACTION; INSERT blah; COMMIT TRANSACTION; and get an error that there is no corresponding begin transaction?
No constraints, no triggers
 
5:03 PM
No error in the INSERT statement
 
is IMPLICIT_TRANSACTIONS set to OFF?
 
Yes, but I can't reproduce the thing with that ON or OFF.
 
does it only happen in one ssms window?
 
It seemed to happen in SQLCMD during their install, so they stepped through the install in SSMS running individual blocks, and then they got to this one block like that and it failed, so I am trying to reproduce.
The INSERT is just literals
They lied, but still, just a system function
BEGIN Transaction
--Update version number
PRINT N'Insert version 8.0'
INSERT INTO [SchemaChangeLog]
       ([MajorReleaseNumber]
       ,[MinorReleaseNumber]
       ,[BuildReleaseNumber]
       ,[ScriptName]
       ,[ScriptID]
       ,[DateApplied]
       ,[Description])
VALUES('00','0000','0000','DatabaseUpgrade_8.0.sql','Upgrade8.0',SYSDATETIMEOFFSET(),NULL)
IF @@ERROR = 0
BEGIN
 COMMIT
 PRINT 'Success'
END
ELSE
BEGIN
 ROLLBACK
 PRINT 'Failure'
END
GO
So obviously it's possible that running multiple blocks in the same window and they stepped through things, earlier blocks may have left a transaction open or some other kind of state issue, but I don't see how this particular commit could have produced that error.
 
5:25 PM
If it runs inside another procedure (or sp_executesql batch), and that procedure is called from inside a transaction then you will get that error dbfiddle.uk/9CI_jCtg
Which is why I always recommend not rolling your own error-handling, and instead just relying on SET XACT_ABORT ON
 
But you should see the other errors first, right?
 
Depends what the error is. Unless you give us a full repro we don't know. It could be only one of the errors are being returned, due to even more error-handling horribleness.
See also this post
13
A: What is the point of TRY CATCH block when XACT_ABORT is turned ON?

CharliefaceYou are right that it is not necessary to catch errors you are not intending on handling. SET XACT_ABORT ON; ensures a rollback in all circumstances (except for a couple of very weird edge cases of uncatchable errors, which Erland Sommarskog says are basically unfixed bugs). Syntax errors from dy...

 
And this isn't inside a proc, it's just a batch script
 
From SSMS? Are you sure there were no open transactions?
 
I think there very well could have been open transactions from earlier blocks, but I can't get it to happen with more BEGIN TRANS, only with more COMMITs.
 
5:30 PM
Perhaps you ran the block without the first line?
Anyway, sounds like you should write a proper question post.
 
That's the only thing I can think when they were going through manually, yet the installation script doesn't have the ability to skip that, so I still need to get them to the point where they can reproduce it in the installer and fix the problem, whatever it is.
I need a real minimal reproducible case to post a question.
 
6:01 PM
I think this might be a red herring at the end of the script. What happens in the script is a BEGIN TRANSACTION; then a ton of database schema changes, then this insert and finally the COMMIT or ROLLBACK. I think somewhere, earlier we dropped out of the transaction with a ROLLBACK, and that's what we need to figure out. Because the schema changes are all rolled back but the log table entry is there, so somewhere (not in the script) a ROLLBACK is happening. But no procs are supposedly called.
So the real thing is to find the ROLLBACK that's not in the script.
 
6:17 PM
Which I would think is one of the schema changes is failing, causing a rollback and there is no message in the script.
 
6:35 PM
@Zikato CSL, Kusto is shortening of Cousteau ('cause you're exploring the metrics o_O). the full name is Cousteau Semantic Language though
oh FML there's an official KQL docs page now
nothing to see here dot gif
but also, yea, more likely to get hits on SO proper stackoverflow.com/questions/tagged/kql
 
7:04 PM
@CadeRoux This happens a ton with the SQL upgrade scripts as part of a CU/SP where an error occurs, the transaction is rolled back but the code flow allows for the execution to continue. We get weird stuff like this, it's really tracking back to find the real exception.
 
The thing is there is no earlier error (probably due to SQLCMD invocation). So that makes it tough.
 
On the server, capture all the error messages, see what shows up during the installation
Trace/XE
 
The customer site has already progressed back to production after the upgrade was babysat manually and their downtime window passed, so trying to get permission to restore the pre-upgrade backup to a different server and test.
What I am thinking is that there was a batch-aborting error in the script, but in the manual run, they encountered it, evaluated it as a non-issue and proceeded, not realizing, and then got to the end and got a commit error.
The batch aborting would have caused the rollback and undoing of the entire script, but in their manual run, I think they were committing each part.
 
7:29 PM
0
Q: Database backup strategy

rosepaletteI will like to seek some advice from the public regarding the backup of database strategy. My team is using mysql database for our application and I will to hear opinions on how we can perform database backup or is there any open source platform that can achieve it with an user interface? My idea...

> Nice to use strategy with a user interface
I'd like to have one too
 
8:12 PM
@CadeRoux The error_reported event is in the default system_health XE session. Altough it doesn't collect several useful actions by default.
♪ Rising up, back on the street
Did my time, took my chances ♫
 
I did like the memes
I didn't see the latest one from chat on there though
 
Those are chat exclusives
 
I feel like I'm a celebrity now
getting exclusives
 
Well, you're in a room with at least one celebrity
 
Which one?
 
8:23 PM
Zikato
 
I should have czheched his IMDB profile
 
See under, "Man with the Memes"
v famous
 
I suspect his long-term plan is to make sql memes subscription-only
 
all about those subs
 
8:27 PM
cash or czech
 
nice one
 
He definitely doesn't seem like a czech or credit person
I'm thinking cache all the way
just like his databases, flush full of cache
 
Literally could not be more Czech
 
reminds me of the story when our country sent financial help to some other country. And to thanks us, they showed their and our flag together. Problem is, they've googled "check flag" and used the one that's used in formula racing
 
oh dear 🤣
 
Noun: chequered flag (plural chequered flags)
  1. (motor racing) A black-and-white chequered flag which signifies the end of a race.
  2. (motor racing) A victory in a race.
check please
The English language(s) is (are) worse than T-SQL error handling
 
Buffalo^8
 
chequered^h^h^h^h^h^hckered
 
8:45 PM
@Zikato you're going to have to explain that one to me
 
"Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo" is a grammatically correct sentence in English, often presented as an example of how homonyms and homophones can be used to create complicated linguistic constructs through lexical ambiguity. It has been discussed in literature in various forms since 1967, when it appeared in Dmitri Borgmann's Beyond Language: Adventures in Word and Thought. The sentence employs three distinct meanings of the word buffalo: as an adjectival proper noun to refer to a specific place named Buffalo, the city of Buffalo, New York, being the most notable...
 
huh
that may be the stupidest entry in Wikipedia
I read the explanations several times, and I still think it's stupid
Probably because the verb "buffalo" doesn't exist here
 
yeah, I know....I just knew about it from somewhere
 
We could argue about it being buffalo*8 instead of buffalo^8 as well
@Lamak yeah, thanks, I do appreciate you pointing that out
 
That is... something else
 
8:55 PM
"James while John had had had had had had had had had had had a better effect on the teacher" is an English sentence used to demonstrate lexical ambiguity and the necessity of punctuation, which serves as a substitute for the intonation, stress, and pauses found in speech. In human information processing research, the sentence has been used to show how readers depend on punctuation to give sentences meaning, especially in the context of scanning across lines of text. The sentence is sometimes presented as a puzzle, where the solver must add the punctuation. == Meaning == The sentence refers to...
 
wow, that one is even better/worse
 
> Jedli na hoře bez holí, meaning either "they ate elderberries on a mountain using a stick" or "they ate on a mountain without any sticks" or "they ate elderberry using a stick to eat their sorrow away"; depending on the phrasing or a correct placement or punctuation, at least 7 meanings can be obtained. By replacing "na hoře" by "nahoře", one obtains 5 more meanings. If separating words using spaces is also permitted, the total number of known possible meanings rises to 58
 
this is a dark timeline
 
shadowy figures everywhere
 
paul while zikato had had buffalo buffalo buffalo buffalo buffalo buffalo buffalo had had had had had had had had had had
I don't even know
 
9:08 PM
@PaulWhite bless you
 
9:32 PM
the only true professional graphic designer around
 
imagine asking Twitter a serious question
 
really writing anything on twitter
 
9:47 PM
@PaulWhite I can't see the third meaning there.
 
I've found that as well, but had to google synonyms for "sorrow". I've never heard it before in that sense
 
7 hours ago, by Paul White
You grew
 
My vocabulary grew 3 sizes that day
 
after writing what should have been a few simple scripts recently i think i understand why developers hate databases
so many rules
 
10:02 PM
don't worry, rules will be removed in a future version of MS SQL
 
10:31 PM
@ErikDarling You shrunk
 
you're slurring your Ds
not a good sign
 
😀
 
11:21 PM
@Zikato 🤔
 
11:44 PM
@Zikato I remember those being on some MS tests in 2005 :/
 

« first day (4320 days earlier)      last day (601 days later) »