« first day (2562 days earlier)      last day (2309 days later) » 

12:03 AM
Kill the Winter, you have my blessing.
 
check out this eco terrorist
probably likes global warming
 
12:50 AM
NonParallelPlanReason="NoParallelPlansInDesktopOrExpressEdition"
oh my
 
 
7 hours later…
7:37 AM
Good morning, evening and day. Enjoy your lunch, breakfast or dinner.
@sp_BlitzErik hope you have a fantastic presentation
 
Is SQL Server relevant in this context? Or put differently: How does the implementation of stored procedures (we call them sprocs) in SQL Server affect the future implementation of "stored procedures" in PostgreSQL? — hot2use 35 mins ago
@hot2use do you really call them "sprocs" when you talk about them?
 
@ypercubeᵀᴹ in SQL Server? Yes. :-)
 
I have a mild throw-up reaction whenever I read that word.
 
How come?
 
I just prefer the whole term.
 
7:40 AM
:-)
A moderator might have to modify my comment then to "I" instead of "we".
 
I've seen the use in dba.se posts often enough to know that it is used.
What I don't know is how common the use is in oral.
 
Sorry for that. I thought it was commonly used by the majority of people.
 
No need to apologize, really. My knowledge of English was mainly from books, Internet and movies, until recently. And the recent years working in English speaking environment was not related to SQL Server at all.
 
Ok
Is this one worth a rollback and re-write?
No capital letters at the beginning of sentences. Sizes formatted as code. Product names formatted as code.
 
7:57 AM
Yes, the edit was rubbish.
 
8:08 AM
Hope it's better now.
0
Q: Conditional MS SQL replication

Xtro-WorldI have an issue that I want to do conditional replication to one of my enterprise level client databases. This database is very large: approximately 300 GB MDF file and a 160 GB LDF file because of archiving and accountability. My primary DB has lots of accountability data and I want to transfe...

 
@ypercubeᵀᴹ Me too, if I'm editing a post and I see sprocI usually change it to stored procedures
 
8:36 AM
Morning
 
morning
 
9:08 AM
morning
 
9:25 AM
Hello. and good morning. I might be asking something which is more a infrastructure decision as opposed to sql server. currently in our company , when we upload a new version ( C# + SQL) - we brings many workers to check the production.
But I said to them why not duplicate/clone IIS + SQL server a month before version upload so QA can test a "cloned-going-to-be-production" environemnt ?
with C# there is no problem. I can just copy the code to the server. But the problem is that throughout this month - the real production's db got new data becuase of the actual company's work. So my questio
 
@RoyiNamir You can just test on the month old copy and then move only the code to production?
 
@TomV Thanks for reply. while this month , there were many garbage records
and dont forget that schema has changed
becuase the new-going-to-be-production being tested ( let's call him child to be adult) has changes as ooposed to the adult
a new features was added to the child ( which is going to be adult next month)
(sp added ,triggers etc)
 
10:00 AM
@RoyiNamir How do you manage schema changes? you just apply them to prod just like you did when you created your test environment,
 
@RoyiNamir Well, yes, you need to make scripts to upgrade your database. Code is stateless, but anything that has state needs to be altered to conform to the new state the code expects.
 
10:23 AM
There's no problem with schema scripts. what about the data ?
1) data for the whole month should be deleted ( becuase it's testings)
2) Delta of data from adult should be moved to child ( including right identity values etc)
@TomV there are many basic assumptions which makes it vulnerable at first.
A secured site should not allow any javascript to be able to read cookie
it can be done via the "httponly" flag
also today there are CSP ( content security policy) that can restrict running scripts which are not in your server
Not to mention that cookie is subject to CSRF attack ( which can be fixed by a hidden field). If you want I can explain it in more details
 
Why are you doing it this way around? Why does QA need a month to test?
And you should never promote a test version to be production.
I always run the same scripts on production, or on a fresh copy and promote that.
 
10:40 AM
yes exactly
1) restore database from prod to test
2) run upgrade scripts on test
3) test
4) promote code to prod and run upgrade scripts on the database
 
11:33 AM
@RoyiNamir forgot to ping you ^^
 
 
1 hour later…
12:38 PM
@RoyNamir It is also possible to use logical replication techniques and tools to keep a copy in sync with a master.
But it's pretty dangerous to have test data which you need to delete before going live.
Unless you have rock-solid multi-tenancy already working.
SAP can do that for example.
 
@hot2use thanks!
 
1:03 PM
@Colin'tHart Do you have experience with that?
Dynamics AX could theoretically do that too with multi-tenancy but I don't think it's very safe
I assume they create a new "tennant" then for testing and remove it again?
 
@TomV I have no experience, with that, no. I was always working in an Oracle team. The SAP team(s) had their own DBAs and they could do it. Yes, they had testing "tenants". No need to remove them, they can just continue to exist.
Most/all of their code promotions were within the SAP environment too.
 
They probably test new parametrization that way (ie. Changing a parameter) but I would be surprised if they used that for code/application changes
 
1:21 PM
I'm pretty sure they can deploy code that way too. At least the customisations written in the SAP procedural language(s).
 
@Colin'tHart That's neat
 
I forgot the term they use for promotion / deployment.
 
@Colin'tHart multi-target application?
 
@TomV Transport.
You make a "transport request" to move a version of code between environments.
 
@TomV SAP has a built-in transport mechanism
 
1:27 PM
Looks neat
 
Changes are first introduced in a Test instance (T) then transported over to a Quality Assurance instance (Q) and then when everything has fully been tested they (SAP DBAs & SAP Technology Experts) will transport everything over to Production (P).
 
But that isn't a testing "tenant" that is a testing environment
 
In the old company I worked for you would therefore have a P10, Q10, D10 and T10 environment for example. Multiple application / database tiers for each environment.
True.
 
Then it works the same for us except it's powershell scripts instead of a gui
 
Sometimes they would add a S(andbox) instance for security incidents.
Pretty expensive at times.
 
1:36 PM
Yes, 4 or 5 environments isn't exceptional
We typically have DEV > TEST > UAT > BUILD > PROD, and sometimes a SANDBOX which is an exact copy of prod for debugging things we can't repro otherwise
For customers with a TB+ database that's quite a lot
 
2:31 PM
Meh my phone could run those instances
5
 
gbn
2:47 PM
@PaulWhite My new Honor has 6GB RAM which was quite good 15 years ago in a DB server
 
@sp_BlitzErik if the MSFT van gets me you can have all of my unicorn points
 
@JoeObbish don't worry, i hear they're quite humane
most of their techniques are undocumented
 
@sp_BlitzErik I'll only let Joe Sack take me in
 
You know Joe "the Sack" got that name from his interrogation techniques eh
 
(in bed)
 
3:02 PM
not family friendly
 
Well that's not at all what I had in mind @sp_BlitzErik
 
deal with it
 
sunglasses
 
@sp_BlitzErik I WILL
1 message moved to Trash
 
Oh hang on that was oranges in a sock I think. Perhaps sack is a typo.
 
3:07 PM
@PaulWhite well you could throw someone into a sack before throwing them into a van
or put a sack over their head
I thought that's where you were going with it
 
1 message moved from Trash
@JoeObbish That works too
 
@PaulWhite Maybe his sack looks like oranges in a sock
 
@TomV eeek
 
I figured that would stop anybody from taking it any further
 
That should do it yeah
 
3:10 PM
tiltling head to the left and hitting palm of right hand on right side of head
Nope, doesn't work.
 
where's joe the prude now?
 
@sp_BlitzErik you act like you live in a city with no community standards
 
He's hit the sack
 
i don't follow
 
@TomV Meh. 14. Uphill both ways etc.
You can never have too many environments.
 
3:20 PM
@JoeObbish i'm doing the links this week and including your trace flags post
 
@sp_BlitzErik Brent on vacation?
 
downside: you're gonna have to actually figure out what they do
brent is busy
too busy for links
 
can I just ask Paul?
 
ideally
 
Some of those I've already explained elsewhere
Not going through them line by line
 
3:22 PM
were any of them new?
 
couple or three, but none where you've said what they do
oh that's not true - the optimizer statistics element one was new
 
"i have discovered a number"
2
 
I got one!
well if you give me the numbers I can try to figure those out first
 
12345
 
@sp_BlitzErik that's not even a valid trace flag
 
3:28 PM
2368, 2418, 8678
all three I had listed with ??? as the note against them
I have lots of those :)
 
":)"
 
what does the rest of your list look like?
 
subtle
 
is there a trace flag that disables trivial plans?
 
9341, 9384, 9390 were new
@sp_BlitzErik 8757 (sqllang!COptContext::FTryTrivialPlan)
 
3:33 PM
@sp_BlitzErik yeah
 
globally?
 
@sp_BlitzErik Sure, if you set it globally
 
sweet
i hate those things
always monkeying my day
 
trivial plans also make it difficult to find trace flags
 
I like trivial plans (old columnstore issues aside)
 
3:35 PM
@PaulWhite I kind of regret not doing a better job with documentation, but if they're out there then maybe others can look into them and discover something of value
 
Yes that's one of the better lists
Some of the ones you have listed as unknown are quite easy to figure out.
 
i hate the way it's organized but yeah
 
Doesn't Konstantin have the best list?
@PaulWhite I imagine so...
 
dunno if it's the best
maybe you should make the best list
 
3:39 PM
You could start with 7356, 8750, 9164, 9165
 
@sp_BlitzErik it seems to have the most and he still updates it
it'll be up to 585 soon
@PaulWhite I appreciate the hint
@sp_BlitzErik I wonder if Paul named someone in his will to get his trace flag list
 
@JoeObbish Link please
 
@JoeObbish Thanks I didn't recognise the name
 
I should have said it was the one published last year on SQL Server Central
 
3:51 PM
ooh i contributed to that one
 
@sp_BlitzErik naturally
 
4:05 PM
I'm surprised 8750 is missing from that list
 
go on
 
looks like that's missing from all the lists
 
I'm sure I've mentioned that one several times. It skips stage 0 (transaction processing) of query optimization.
 
if you've mentioned it, google isn't aware of it
 
not mentioned in chat either
 
4:16 PM
 
maybe we should start translating TF numbers to hex so MSFT can't find us
 
just write them backwards
 
@sp_BlitzErik your quotes in the wrong place aren't they?
2
 
never
 
that downloads a zip file which I'm not brave enough to open
 
4:22 PM
you must have used bing
 
you jest
 
ah, duckpile
 
@JackDouglas Well done, sir.
The zip contains demos from that session where 8750 is used.
 
a+ would unzip again
 
looks like we got a new preferred trace flag search engine
 
4:30 PM
seriously
 
Not the most exciting flag in the world, but there it is
 
i'm thinking about changing the way blitzcache flags trivial plans to only flip the public bit when there's an index scan
trivial plan with a seek is whatever
it's already only collecting them when there's a parameter list
 
why does it alert for a trivial plan?
(not a trick question)
 
@PaulWhite because we've run into a plan being trivialized when it shouldn't have been
like EF app running select (every single column) from table where (non pk/cx) = @p0
trivial plan but huge missing index when opt is full
queries like that run thousands of times a day
and no missing index req since it's tricial
etc
 
5:17 PM
> be me
 
So as of this morning, Oracle is ON THE SURVEY. There was an error on our part and we apologize. It was absolutely not purposeful or malicious, especially since Oracle is a client of ours. I am going to be handling the analysis of this question carefully (looking at the responses from the 1st day separately from the rest) to be as accurate as possible. — Julia Silge 1 min ago
 
> get 27 seconds of PAGELATCH_UP waits per second
> efw
 
5:29 PM
@sp_BlitzErik Oh I see so it's mostly for the missing index recommendations?
 
@bluefeet yippee, thanks :)
how about SQLite now ;)
 
6:15 PM
@PaulWhite the non-pauls of the world need these things
four non-pauls
 
it's weird to see system processes above session id 50
 
jesus christ this survey is long
I need a beer
the ethics questions and ai questions are boring af.
that survey should be somewhat opt-in on segments, those are complex topics they're not easily reduced to questions and those questions were super poorly worded.
 
7:10 PM
@SeanGallardy-Microsoft @sp_BlitzErik I don't know if you guys remember, but I got that detailed information on PATCHLATCH_UP waits finally
was there something that you wanted to see in particular?
the symptom is that we see around 25 seconds of PAGELATCH_UP wait type per second when running our workload
 
what info did you collect?
 
@JackDouglas I wonder if she's relate to Lou Ferrigno (The original Hulk)
 
@sp_BlitzErik got the pages that the latch wait were on
 
i'm excited!
what were they?
 
@JoeObbish how so?
 
7:20 PM
total_wait_duration_ms Page Type
645052 Stage PFS
128863 Stage PFS
110998 Stage PFS
102138 Stage GAM
75818 Stage PFS
56747 Stage PFS
53829 Stage GAM
51253 Stage PFS
48395 Stage PFS
48302 Tempdb GAM
for the top ten
that's sampled data of course
@hot2use normally all system processes have a session id <= 50 in sql server
 
@JoeObbish Yes, I know, but no guarantee. That's why the sys.dm_exec_sessions has a column is_user_process (1=user; 0=system) nowadays.
 
@hot2use well it's my first time seeing it, in any case
do you see it often?
 
I meant more: How did you achieve that?
Me? No.
 
oh I see
the server has 96 schedulers. I assume that is related?
 
Hmmm. Yes, could be a good reason.
 
7:29 PM
How did you get page types? An XE?
 
@Forrest DBCC PAGE :(
 
Heh, so a lot of legwork then. How did you get the specific pages that latches were on?
 
well I parsed out the page and generated the sql, so it wasn't too bad
sys.dm_os_waiting_tasks
what's the extended event for this? latch_acquire_time?
 
Haven't run the latch for this myself, so I don't know
 
7:33 PM
I just can't believe that we had over ten minutes of wait for a single PFS page
also typing out "PFS" instead of "FPS" is incredibly challenging for me
 
looollll
you see the asm code the kernel patch generates?
It's hilariously cute too. Without the ability to disable branch prediction, they overwhelm it with a series of short jumps
 
is slack messed up for anyone else?
 
yup, it's down
 
@bluefeet oh, tank jeebus, I thought they had blocked it at my job
 
7:44 PM
If you're having issues connecting to Slack: we're working on getting things back to normal with top priority. Thanks kindly for your patience. 🙏
 
thanks twitter man
 
NP.
I'm reading this book, Database Internals 7th E.
I think 95% of the terms used are unique to this book
 
never heard of it
sounds goofy
 
@sp_BlitzErik So are you impressed?
We have an extreme workload (TM)
 
yo
 
7:58 PM
@JoeObbish i'm always impressed by how bad your demo queries are :)
 
ahahhaha
 
uh huh
you should tell me about how increasing the number of files isn't necessary for user databases
 
did adding more fix the problem?
 
Hmm. A PFS only covers about 64MB, right? So why would specific PFS pages have so much contention for DW loading?
 
columnstore
?
 
8:02 PM
@sp_BlitzErik not sure, now we have 96 cores
no CCIs on the staging database
 
all heaps?
 
yes
 
cool, lemme know if adding files helps
 
right, cause it's so easy to add files
 
that's jr dba talk
 
8:03 PM
I don't get why you're so philosophically opposed to this
 
i'm not
 
just need hard evidence?
 
i'd be fine with soft serve
 
it helped when we were on 24 cores
we increased files from 4 to 24
PAGELATCH_UP waits went down
 
linearly, or was there a diminished roi?
 
8:05 PM
did it all in one go
 
we have TBs of data in the database
 
How many drive letters do you have?
 
@Zane using mount points (I think that's the term), but my understanding is drive letters matter for IO
 
I'm late here but curious. In my experience I have found little benefit from splitting up a data file unless I'm spreading it across drives. Whether on SAN or not.
 
8:10 PM
right now the theory is this:
"Common causes of PAGELATCH_XX contention are:

Allocation bitmap contention in tempdb (PAGELATCH_UP for multiple threads trying to change the same bitmap), and under extreme loads, in user databases"
 
with terabytes of data you should have oodles of pfs pages
interesting
 
@sp_BlitzErik it's based on total database size, right?
 
yeah
if your database starts empty, you may way to consider pre-sizing it
with ifi on that should be fairly painless
 
autogrowth is off
 
that doesn't sound very professional
 
8:22 PM
@sp_BlitzErik didn't you just say to presize it?
 
@JoeObbish I assumed it was about the initial size?
 
i didn't say to box it like a veal
 
database doesn't start empty
what's the disadvantage in growing it to full size?
maybe I should make one filegroup per numa node
that doesn't sound annoying at all
 
never is
 
then I can force queries to go to certain numa nodes
and to write to only their filegroup
then the PFS pages stay in local memory
 
8:29 PM
a fair plan
 
8:46 PM
It's really nice having a SQL Sentry Licence that I can't use because our windows team blocked all permissions for monitoring tools.
 
i bet they use solarwinds to monitor that
you should kill them
 
don't solarwinds fry electronics?
I don't really get the name
 
@sp_BlitzErik I believe we have an internal team called Frustration Werks and they tend to implement most of these decisions.
 
8:54 PM
@JoeObbish Aww man, I should have given you the magic formula.. pfs pages are every 8088 pages and gam intervals are every 511232 pages
 
joe won't run who is active
too much overhead
he uses dmvs
 
@sp_BlitzErik it takes like 30 seconds to run
 
Kids these days
 
@JoeObbish sounds like a vm issue
 
@SeanGallardy-Microsoft thanks. I knew there was a formula, just didn't look for it
I suppose that would have been easier
 
8:57 PM
... but don't tell @EvanCarroll!
Why does he call himself even that when his name is Peter?
 
I'm actually trying row compression like a crazy person
 
@SeanGallardy-Microsoft do you speak spanish better than @billinkc?
 
Nothing wrong with that, I approve!
@Lamak No
there was my answer, in Spanish.
 
Sentry = WMI is blocked blocked. Perfmon = forbidden. Server Log on = Emergency only. Powershell = remotely blocked. Any suggestions for how to monitor a box when all of these have been blocked? lol
 
@SeanGallardy-Microsoft so, it was really a yes
 
8:59 PM
unless you want to talk in sentences about the little girl that's running....
or the women that are reading
or the men that are cooking
 
@JoeObbish whaaaaaaaaaaat?!
 
eXtreme workload
 
@Zane If no one can monitor it... how do you know it's running ;)
 
maybe you need xtremio
 
I suggest SQL Injection
 
9:00 PM
@JoeObbish like Doritos extreme or?
 
@sp_BlitzErik it's PAGELATCH_UP, not PAGEIOLATCH_UP
 
@SeanGallardy-Microsoft ah, that's what you guys mean with a quantum database?
 
but it was great
 
@SeanGallardy-Microsoft just wait for users to throw a fit I suppose.
 
after reading Paul Randal tell me it that it wasn't an IO problem many times
I caught myself asking someone if we could monitor the SAN
shameful
 
9:02 PM
you should never trust a Paul
 
@SeanGallardy-Microsoft keep it up, I'm going to send everything I got to Wikileaks!
 
@EvanCarroll NNNNNNNNNNOOOOOOOOOOOOOOOOOOOOO!
 
@JoeObbish wasn't your big plan to use buffer pool extensions?
 
@Zane Sounds like the normal reactive process that companies use.
 
@sp_BlitzErik yes
 
9:04 PM
The Microsoft Files: How to Install PostgreSQL on Windows using SQL Server.
 
there you go.
 
sp_EvanBlitz
 
they won't give me access to the server USB ports though
 
@EvanCarroll Queue scary music
 
@SeanGallardy-Microsoft Yeah the company is a certain massive bank that got caught stealing from customers and is currently reacting by cracking down on IT people instead of executives.
 
9:07 PM
@JoeObbish it sounds like they don't trust you for some reason
 
@sp_BlitzErik Mr. sql_handle just had an idea to delete from the heaps without tablock
 
if the locks escalate to table locks anyway it won't matter
you'd have to batch delete in tiny chunks
 
9:26 PM
@JackDouglas should be there as well
 
@Zane So.... par for the course?
@EvanCarroll If you write it up... I'll post it ;)
 
Sounds like a plan. So I distribute a cab, and a dll and create an extended stored proc that self-extracts it and runs it. SELECT * FROM pg_system_upgrade();
 
9:44 PM
@sp_BlitzErik these are staging tables that typically get truncated daily
the idea is that you'd do deletes instead so that you don't need to allocate the pages for the next day
 
if you just do delete from dbo.myheap there's a good chance you'll get a table level lock anyway and pages will get deallocated
you'd have to delete in batches that stay at page or row locks
 
10:16 PM
oh
that would be pretty much the worst thing
 
:D
that's my fetish
 

« first day (2562 days earlier)      last day (2309 days later) »