« first day (5006 days earlier)      last day (52 days later) » 

12:31 AM
@ErikReasonableRatesDarling rhymes with Beavis...
Are you talking upstate NY or somewhere else?
 
9 hours later…
9:06 AM
Wordle 1,187 3/6*

⬛⬛⬛⬛⬛
🟩⬛⬛⬛🟨
🟩🟩🟩🟩🟩
frog with eye patch
 
2 hours later…
11:25 AM
Given that sys.syslanguages is listed under System Compatibility Views, implying it shouldn't be used outside of backwards compatibility, what is the modern alternative? There doesn't appear to be a sys.languages
11:36 AM
I'm pretty sure it's using the .NET localization library
see the transcript for the French separator issue Erik and Paul were dealing with. The difference was in Windows 10 and 11
12:01 PM
Wordle 1,187 5/6*

⬛⬛⬛⬛⬛
⬛⬛⬛⬛⬛
⬛🟨⬛⬛⬛
⬛🟩🟩🟩🟩
🟩🟩🟩🟩🟩
@JohnK.N. Pirate Frog 🏴‍☠️
12:21 PM
Nevis ( NEE-viss) is an island in the Caribbean Sea that forms part of the inner arc of the Leeward Islands chain of the West Indies. Nevis and the neighbouring island of Saint Kitts constitute the Federation of Saint Kitts and Nevis, a singular nation state. Nevis is located near the northern end of the Lesser Antilles archipelago about 350 kilometres (220 mi) east-southeast of Puerto Rico and 80 kilometres (50 mi) west of Antigua. Its area is 93 square kilometres (36 sq mi) and the capital is Charlestown. Saint Kitts and Nevis are separated by The Narrows, a shallow 3-kilometre (2 mi) channel...
12:44 PM
Does the R.R in J.R.R. Tolkien also stand for "reasonable rates"? There is no way for me to czech
1:05 PM
What are "learnings"? Do you perhaps mean findings or discoveries or lessons? — tchrist Sep 13 at 23:49
That made me chuckle.
> which was also true before the recent signup initiatives.
does that mean creating accounts for everyone automatically
This made me chuckle. An organizer misspelt the name of the city on a merch and instead of fixing it they edited wiki to reflect that typo.


https://www.reddit.com/r/DotA2/comments/1fjol12/ti_organizer_pgl_misspelled_city_name_on_their/
i think it looks cooler with two ps anyway
Cop pen hagen
1:22 PM
COPPEN🇩🇰HAGEN
2:04 PM
Wordle 1,187 3/6*

🟩⬛⬛⬛🟩
🟩🟩⬛⬛🟩
🟩🟩🟩🟩🟩
> You've been blocked by network security
Today is starting off well
Also had a pipe burst last night, the fun never ends!
Could be worse, you could be having chat markdown problems
@ErikReasonableRatesDarling Is it wrong that I kinda hope so?
@SeanGallardy i hope he was cute.
2:06 PM
@SeanGallardy what kind of pipe
You know me, I have high standards
@Zikato 3 inch water pipe
They all say that
Thematical. We have floods over here
Gotta stay on topic and all
I'm not sure why are we singled out
2:10 PM
Maybe it's a sign
no the signs are underwater
Perhaps someone upstairs heard you like a drink
god i hope russia stays out of hungary so i don't have to see a bunch of dimwits on twitter start talking about magyarorszag
it stopped yesterday but it was 5 days in a row. Not quite biblical proportions, but close
@ErikReasonableRatesDarling magyarorszag?
2:11 PM
You'd never make it in Florida, it rains every day
@Zikato Quite the story ark you have going there
ark!
@PaulWhite u would Noe it
would have been better if you put noah, but I assume local factors are at play
23 hours ago, by Sean Gallardy
@Zikato Ano
Almost noA
Anyway, it's all fantastic news for the Czech hydro lakes
@PaulWhite it's right below the cloud on the map
2:14 PM
Oh, I didn't expand the map
According to that post linked by josh, comments are down. I wonder if Paul's dashboard shows green now...
For a moment there, I thought you meant comments were completely broken
I did a little dance
Salsa?
Also, if anyone is having issues with the whole VSS backups thing, there should be a fix available for download soon.
@SeanGallardy Who knows what it might have turned into if it had lasted
🕺🪩
2:21 PM
And do you really think anyone in this room deals with anything as mundane as backups
Much less VSS ones
It's been a while since I used Visual Source Safe though
Too many people rely on 3rd party backups these days, so yeah lots of VSS... whether or not people know it, good point they probably don't.
I hear snapshots are instant and free
It's like magic really
trillions of terabytes in 3ns
no data movement
2:24 PM
🦄
Just gotta spend 5 billion on storage
Also, the licenses are by GB
does anyone need less than 1tb these days
I also want to state, for the record, GIT is horrible for any medium to large sized project. I don't see why people use it for that stuff.
@ErikReasonableRatesDarling 640k
i think a blank excel file is bigger than that
0k in size, it lives in the cloud!
2:27 PM
git is one of the modern things that everyone has to think is the bees knees regardless of all the evidence
didn't MS pay like $100B for it
PRobably
huh was oracle the only vendor to not implement mvcc like an idiot
They like to overpay for crappy stuff
Nokia, Yammer, Dragon Naturally Speaking, GIT, etc.
why postgres chose in-table versions and microsoft chose tempdb is pretty stupefying
pvs is basically undo segments
Patent avoidance perhaps
The one time I don't Czech the English spelling
https://cs.wikipedia.org/wiki/Noe
@ErikReasonableRatesDarling ???
what is your question
or do u have 3 questions
@Zikato Oh noes
that will be typed eventually
2:29 PM
What do you mean they are basically undo segments?
Hang on I need some snax
the pvs used by adr in the local database is closer to undo segment behavior (local to the database)
PVS is just a user database version store tho
I don't know enough about Oracle undo segments to say if they're a version or log store
What Paul said about PVS
ADR is a bit more advanced though due to the passage of time and the invention of in-row diffs
2:32 PM
that's what i said about pvs
when I think undo, I don't think version store
This is all fascinating, but if you're going to rag on PVS as just being an Oracle rollback segment, you'll have to say the same about the tempdb version store
Which may be a fair comment, idk
It's early yet
i like pvs being local better
i wish row versions had always been that way
2:34 PM
Well yes, you get more of them for a start
so people wouldn't hyperventilate about their poor downtrodden tempdb when discussing rcsi/si
But it was heaps of work. A single tempdb version store wasn't so bad at the time
you wouldn't know that from reading blog posts about isolation levels
Besides, tempdb is transient. It doesn't get to have hurt feelings for long
@ErikReasonableRatesDarling Right, but most of that is just parroting what Ozar said once offhand
2:37 PM
I rather suspect anyone having a crisis in tempdb due to RCSI/SI was rather close to the edge beforehand
from a sample size of one consulting engagement in 2013
yep yep
People asked for a tempdb per user database for years and years.
There really should have been more excitement about PVS and ADR from that POV.
i tried to gin some up
I liked ADR a lot when I first encountered it and I haven't changed my mind
think about the cheers that would have arisen if it had fixed spools too
2:39 PM
One could say recovery should always have worked that way, like RCSI should have been the default
It is encouraging to see some things still improve over time
Despite most of the rest of it turning to custard on a daily basis
Anyway, the Oracle stuff was cool. Time travel queries were neat
None of that bizarre temporal table business
"What would this query have returned 3pm last Tuesday"
i think the cutest client cross section at the moment are people who want to migrate to postgres and are also afraid to use rcsi in sql server
o r u in 4 it
SELECT ... FOR SHARE
SELECT ... FOR SHAME
2:43 PM
I wonder if they h8 heaps 2
Because guess wot
I suppose if you're the sort of person who enjoys fretting about fragmentation, you'll love vacuuming
Tangentially related, I was quite surprised they changed the rules for RCSI update locking with Optimized Locking
Well, Lock after Qualification really
Everyone's so optimistic these days
Anyway
@ErikReasonableRatesDarling Now instead of tempdb being out of space, people complain their user database is too big
@PaulWhite is that documented anywhere or did you find it messing with the feature?
@SeanGallardy temporarily
@ErikReasonableRatesDarling It's well documented on the Optimized Locking page
2:48 PM
OL should be in vNext IIRC
how can it not be
it's the only decent thing they've come up with since 2019
Assuming they ironed out the bugz
Azure workloads being what they are
low throughput
It's also spookily similar to how Postgres does locking, in a way
git pull
<wait 15 minutes>
found 1048238 objects
<wait 20 minutes>
resolving deltas ...
<wait 30 minutes>
complete!
2:50 PM
@PaulWhite ty
Aside from the good reasons to use OL in and of itself, it will encourage more people to turn ADR on
Hopefully the people that turn on ADR aren't doing many rollbacks and aren't doing many non-adr operations
If the cloud has enough throughput to break it....
Well, rollbacks have always been quite rare...until that one time
Not to mention startup recovery
> In Azure SQL Database, idle transactions (transactions that haven't written to the transaction log for six hours) are automatically terminated, to free up resources.
Intern wrote the usual KILL script
As you did fairly recently, I believe
2:53 PM
@PaulWhite If you only knew... you'd be even more disappointed.
Just inject a failure into the task, easy
Failure comes easy for some
Seems like 10% of my job is just killing the sql server executable
Hannah spends 50%
Gov't and all
something about efficiency
The good times will roll when the questions start coming in about weird blocking and deadlocking on TXN locks
2:57 PM
i'm gonna have to do a lot of work on my blocking and deadlocking analysis scripts huh
Looks like it
In about a decade, when usage becomes widespread
It's amazing that a company that produces Optimized Locking also came up with Ledger
Every point on the curve, I guess
3:12 PM
ledger adoption must really be popping off
it's all you ever hear about
ledger and linux
woo
Ah, that Nevis. It's interesting, there's so many random Nevi in North America. I've never heard of it before though. Thanks!
there's only one worth going to
Haha yea, the upstate one threw me off. I'll check it out. We like beach vibes. Anything in particular you favor there, food or attraction, or otherwise?
being where no one can find me
3:52 PM
Cabin in the Great Smokeys is good for that, off grid of course. I believe that national park has the most mysterious disappearances - aka people going missing in ordinary places with no signs and are never found.
I would say that Appalachian trail has more, but I'm pretty sure those people end up being found, years later, not alive.
i should have said "no one except room service"
:/
Catskills are near you, that's a real my side of the mountain opportunity
you know how i feel about the outdoors
4:09 PM
Fresh air is bad for your health, I believe it is known to the state of California to give you cancer.
that's why Eric smokes so many cigarettes
known health influencer that he is
 
1 hour later…
5:16 PM
Build succeeded.
    0 Warning(s)
    0 Error(s)
Finally, some good news today
Ship it
5:32 PM
What is the consensus on adding a dummy table with a columnstore index to coerce batch mode? Is it au-fait to do that, or will my future self hate me for doing it?
@PaulWhite I mean I do try
Serious people use a temporary table
something like this:
    DROP TABLE IF EXISTS [#dummy];

    CREATE TABLE [#dummy] ([x] int NULL);

    CREATE COLUMNSTORE INDEX cs ON [#dummy]([x]);
That or an empty nonclustered columnstore index are both valid
excuse the double-spacing
You can create the CS index inline, but yes
Has to be table-level though
5:36 PM
SQL Server complained when I tried to do it inline, but that was probably a mistake I made somewhere.
In the FROM clause, I added:
@PaulWhite Would using regular table be considered funny?
INNER JOIN [#dummy] [d] ON 1 = 1
CREATE TABLE [#dummy]
(
    [x] int NULL,
    INDEX cx CLUSTERED COLUMNSTORE
);
You also don't provide a column list with that type of index
ahhh that was probably my mistake
The comma is important there
@HannahVernon No, you tried to create a column index. It has to be table level
5:38 PM
oic
That statement will fail without the comma
the INNER JOIN I have is not a Bad Thing, though, right?
I mean obviously aside from the delimiters
:-)
Most people use an outer join on false
Otherwise, the dummy table appears in the plan
yeah I noticed it is in the plan. I kind of like it being in the plan for visibility.
That's...unusual
5:41 PM
I suppose performance optimization would say you want it not in the plan.
so you're saying LEFT JOIN [#dummy] [d] ON 1 = 0 would be more typically what you'd see.
Much better. The join you wrote is a cross join, which can only be implemented by nested loops
That's not very batch mode friendly
ahhh, I'm so glad I asked - thank you!
Also, unless you add exactly one row to the dummy table your results will be wrong
No rows, or some multiple of the rows from prior tables
Do you mean if I do the INNER JOIN it would be wrong? Or I should always add a single row to the dummy table?
Are you asking how a cross join works
5:45 PM
ouch no
Use the left join 🙂
it's curious though because there is no row in the dummy table and the results with or without the dummy table are the same.
@PaulWhite will do
@HannahVernon Were there zero rows before
Because joining to an empty table is rarely productive
I see the error of my ways now
Commas last then, good
5:47 PM
I'm not going to go that far.
Not yet, perhaps
I love that you left room for growth
Erik's optimism classes continue to pay dividends
You speak the truth, as always.
understand your explain. — mike 2 hours ago
5:52 PM
oh, I also added another temporary table to decrease the complexity of the original query, which combined with batch mode has dropped execution time down from ~2.5 seconds to ~350 ms
I can get zero rows even faster
so I think that's a win. Especially considering SolarWinds Database Performance Advisor will shut the hell up now.
@ErikReasonableRatesDarling Why are comments allowed again?
@PaulWhite it returns 3 rows precisely the same from each version of the proc, I'll have you know.
I am sorry I ever doubted u
5:53 PM
I mean, I can hardly blame you
I do use Service Broker for example
2.5 seconds powered by a watch battery
350ms consuming the entire generation capacity of a medium-sized country
hahah maybe Azure has a heart attack when I run the new version
Egads, you're in the cloud
to be fair, this schema is a terrible terrible thing
How many free vCore seconds do you have remaining
5:55 PM
@PaulWhite yeah, we just moved this year. Having said that, we're running SQL Server in a VM with Top Tier disks lol.
Oh, that's good
Needing batch mode for a 2.5 second query is interesting
Proper SQL Server just hosted off-site. Perfectly normal
@ErikReasonableRatesDarling Time is money
What if they'd cured cancer in those extra 2.15s
But someone please spare a thought for tempdb in this scenario
5:57 PM
@PaulWhite I wrote a query with a CTE yesterday that I had to cancel after 5 minutes. I rewrote it using a temp table and it finished in 1 second.
More pressure on tempdb
Yeah sorry.
I wrote some JavaScript code today. Am I web dev
you are if it returned NaN the first time you ran it
if it worked perfectly without any errors the first time you ran it, you're deserving of the god moniker
Well, I broke all the syntax highlighting on my website, does that count
6:00 PM
yes, I would say.
NaN it is then
@PaulWhite Congrats!
@JoshDarnell Thanks, man
@ErikReasonableRatesDarling when I first wrote the queries in this stored proc, I didn't care about performance optimization all that much because the results are being consumed by a robot. However, SolarWinds doesn't care, and is ringing the bell about it being the highest consumer of waits, so in the ever-present attempt at bettering everything, we have to fix stuff that is "slow".
user image
4
@JoshDarnell Have a copy of the new edition on me
6:03 PM
"Darneli" I love it.
@JoshDarnell don’t tell the data engineers of LinkedIn about this
@HannahVernon SolarWinds is really stupid about that stuff. I don’t know why anyone bothers with it.
that is something I completely concur with.
also, it pages me when a step fails in a job, even if the job is designed to succeed when that happens.
Be careful with pagers
and it thinks our databases are nearly out of space even though they have literally gigabytes of space between the used space and the maximum database size.
@PaulWhite yeah, that was a little bit of a surprise I imagine
I hear everything's blowing up now
Toasters and whatnot
6:08 PM
It’s almost like it’s a bad monitoring tool that should be disregarded
SQL Sentry would never do this to you
Aren't the alternatives all worse?
I tried very hard to not have it inspect the SQL Servers I manage, but TPTB had other designs.
I do believe we’re talking about DPA
Utter trash
You’re better off not knowing
6:09 PM
DPA?
Ok, nvm
a superb feature is how it rewrites all the SQL to an even stupider standard than I do
@ErikReasonableRatesDarling I'll leave that to the Team Leads.
@PaulWhite OMG 🤣
this is particularly helpful from DPA
> DPA supports traditional availability groups (in a single WSFC). However, this instance participates in a distributed availability group, so DPA's Availability Group feature is not available. All other DPA monitoring features will function as usual.
lol
yeah, like crap.
6:18 PM
@PaulWhite The bass guitar is a nice touch.
@JoshDarnell have you visited the official site yet
@ErikReasonableRatesDarling Haha yes, I looked at it when you posted the other day.
Clearly I didn't look close enough.
Did you make the site?
Made by AI, under Erik's tender guidance no doubt
I was tasked investigating, whether we could use Dynamic Data Masking to mask data on our dev instance, so that our devs can develop on real data, but not see anything sensitive. It turned out the DDM is not a very good solution for this.
However, I can't came up with scenario, for which it IS good for, since the masking is easily bypassed, and doesn't return anything meaningful either.
Have you ever seen it used productively?
@JoshDarnell Best bit
6:48 PM
@JoshDarnell yes, can't you tell by how terrible the design is?
6:59 PM
hai
@Yano_of_Queenscastle I came to a similar conclusion: mssqltips.com/sqlservertip/4002/…
@PaulWhite Do you have a handy list of optimizations that are skipped in tempdb? I know you've alluded to it a few times but, other than fk join elimination, I haven't found any other concrete examples. (Context: I have been working on a post about why to not do any real testing in tempdb.)
@ErikReasonableRatesDarling Neither. Just had some unexpected waitfor this week.
I think I have read that blog during my investigation :D (Thank you for it - it's one of the few I've read that actually addressed this.)

It's just that it seem like incredibly limited scenario - If you can control the user's access in application, then... you might as well control their access in that very application, no?
Well, I think part of the intention is to not force people to repeat that control in 14 different applications, along with SSMS, ADS, etc.
Similar to "don't use stored procedures, just put the query in the app, then it's easier to update the query in the app" unless you run the same query from 14 different apps and sometimes want to run it in SSMS - then a stored procedure makes more sense.
One of the comments on the post suggested that some of the holes have been fixed in or before SQL Server 2017. I only saw that comment today, so I haven't gone back to investigate. I've basically ignored the feature since I wrote the articles.
7:18 PM
@SeanGallardy I thought MS had scaling monorepos infoworld.com/article/2337202/…
7:30 PM
@AaronBertrand oh did you retire unexpectedly
@ErikReasonableRatesDarling this made me rethink things a bit. Thanks for that. It turns out I tried batch mode at first, then added a temporary table that was pretty obviously a good optimization without confirming that batch mode was actually useful for this. Turns out it wasn't needed at all. Results down from 2600 ms to 30 ms is more than good enough lol.
@ErikReasonableRatesDarling lol, I wish
 
2 hours later…
10:02 PM
@Zikato We do, you'd assume that everyone uses it though and you'd have to convert your repo for it IIRC. Also there's this, which is typical MS...
> Note: for new deployments, we strongly recommend you consider Scalar instead of VFS for Git.
10:30 PM
I’m happy to report I don’t know what that means
11:04 PM
Neither does anyone else, you're in questionable company

« first day (5006 days earlier)      last day (52 days later) »