Based on this link, I see that trace flag 6534 is relevant for SQL Server 2012 through 2016, but no mention of SQL Server 2017 or 2019. Is it still relevant for those editions or has it been folded into the database engine or compatibility level settings? I can't find anything that answers that question.
For this specific trace flag (6534)
Honestly, it's unclear from the trace flag documentation or the content of KB #3107399 whether that fix is just in newer versions or if the language was written before SQL Server 2017 and nobody has gotten around to updating it yet.
Sean Gallardy - who would certainly have more inside information than most of us - has indicated that this trace flag is still observed in newer versions, and I've asked for the following clarification in the docs (before his comment):
Trace flag 6534 should be updated to clarify whether the new behavior is native to the engine in 2017+ or if the trace flag is still required, like it was done for 6532 and 6533.
(I think clarification in the docs is still useful in this case, because two very closely-related trace flags, 6532 and 6533, have been retired, making explicit clarity for 6534 much more valuable.)
If you are currently on an older version and are benefitting from a trace flag, are not sure whether the trace flag is still required for the fix it provides, and are planning to upgrade, there's no harm in just leaving the trace flag enabled:
- if the documentation is out of date, you'll still benefit
- if the behavior is in the engine, the trace flag is a no-op
If you are concerned about leaving a (possibly) no-op trace flag in place (for manageability or consistency or internal documentation), and you know you are benefitting from the fix, then you should be able to test that benefit with and without the trace flag enabled on the new version. Failing that, it's likely you'd need to get an official answer from Microsoft support, not your peers.