O artigo KB da Microsoft sobre Trace Flag 4199 é um pouco confuso:
...qualquer hotfix que possa afetar o plano de execução de uma consulta deve ser controlado por um sinalizador de rastreamento. Exceto para correções de bugs que podem causar resultados incorretos ou corrupção, esses hotfixes são desativados por padrão e um sinalizador de rastreamento é necessário para habilitar a correção.
NOTA: Estou assumindo que um "hotfix" é uma atualização cumulativa (também conhecida como "CU"). Se eu estiver errado, por favor, deixe um comentário.
Então... suponhamos que eu esteja executando o Service Pack mais recente. Os SPs incluem todas as correções dos CUs anteriores. Os hotfixes estão ativados para SP's (ou mesmo RTM's )? Ou o Trace Flag 4199 ainda seria necessário?
Nesse contexto, você deve considerar "hotfix" como qualquer correção que acabou em um Service Pack, atualização cumulativa ou hotfix sob demanda e está sob a jurisdição deste sinalizador de rastreamento. Essas correções estão todas nas compilações mais recentes de cada versão principal com suporte, mas não são usadas, a menos que o sinalizador de rastreamento esteja ativado. Isso porque, em alguns casos, as "correções" podem realmente levar a regressões (e pior desempenho) - e as pessoas não devem esperar ter grandes variações na geração do plano apenas porque aplicaram uma atualização ou service pack.
Não tenho certeza se esta é uma lista exaustiva, mas este artigo lista muitos dos 41xx TFs que finalmente ficaram sob o guarda-chuva 4199. O PDF v4 disponibilizado nesta postagem do blog pode conter mais sinalizadores (não verifiquei), mas certamente contém mais informações sobre várias das correções individuais.
Em algum momento no futuro, suspeito que todos os aprimoramentos do TF4199 serão ativados por padrão em uma nova versão principal completa (mas não em um service pack ou CU). Talvez eles forneçam um sinalizador de rastreamento para desativá-los, assim como você pode desativar o novo estimador de cardinalidade.
Trabalho na equipe do SQL Server Tiger na Microsoft, responsável por gerar a maioria dos hotfixes mencionados acima. Um hotfix é qualquer coisa que altera o software após o RTM (lançamento para fabricação), incluindo CUs, Service Packs (que incluem todos os CUs lançados até algumas semanas antes do lançamento do Service Pack), GDRs (correções críticas de segurança) e ODs (On Exija hotfixes).
Qualquer correção que termine sob o guarda-chuva 4199 deve ser habilitada por padrão em uma versão futura do SQL Server, em um nível de compatibilidade futuro, pois espera-se que sejam melhorias na grande maioria dos casos. No entanto, como qualquer coisa onde existem milhões de usuários, pode haver mudanças de plano que beneficiam a maioria das pessoas, mas prejudicam uma minoria de usuários por um motivo ou outro. Portanto, pedimos aos usuários que ativem explicitamente qualquer alteração de código que possa alterar os planos usando o traceflag 4199, a menos que essa alteração afete a exatidão dos resultados, segurança ou corrupção.
Uma observação (que faltou na resposta de Aaron acima) é que, para cada novo lançamento, temos um novo nível de compatibilidade que, de certa forma, redefine o sinalizador 4199. Quaisquer correções lançadas no momento em que o SQL Server 2016 foi ajustado para RTM devem estar presentes por padrão no nível de compatibilidade 130 de 2016. Se 4199 não estiver habilitado, você pode voltar ao comportamento de 2014, bom ou ruim, alterando o nível de compatibilidade do banco de dados para 120. No entanto, uma vez que 4199 é ativado no servidor, você obtém todas as correções, seja qual for o nível de compatibilidade. Quaisquer correções após o lançamento do RTM serão novamente protegidas sob 4199.
TL;DR: Nenhuma correção de alteração de plano é habilitada após o RTM sem habilitar o sinalizador de rastreamento 4199, independentemente do service pack ou nível de CU. Na próxima versão RTM, todas as correções 4199 existentes serão habilitadas por padrão e o processo será reiniciado.