SQL Server query optimizer correcção rastreio sinalizador 4199 modelo de assistência

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 974006
INTRODUÇÃO
Versões do Microsoft SQL Server mais tarde do que o SQL Server 2000 Service Pack 3 (SP3) entregue a maioria das correcções para o Optimizador de consultas num estado desactivado por predefinição para impedir que os clientes de produção existentes vejam esperado alterações ao plano que poderiam fazer com que as regressões de desempenho. Primeiro, cada correcção tiver sido entregues no âmbito de um sinalizador de rastreio separado. Mais tarde, esta prática foi alterada para que a maior parte dos sinalizadores foram combinadas sob um sinalizador de rastreio único (4199). Este novo exercício foi iniciado em múltiplas versões, começando com as seguintes actualizações:
  • SQL Server 2005 Service Pack 3 (SP3), actualização cumulativa 6
  • Pacote de actualização cumulativa 7 do SQL Server 2008 Service Pack 1 (SP1)
  • SQL Server 2008 R2 (RTM)
Sinalizador de rastreio 4199 foi utilizado para recolher as correcções que foram destinadas a tornar-se por predefinição em versões futuras, que foram utilizados outros sinalizadores de rastreio para situações em que uma correcção não foi destinadas a tornar-se por predefinição no formulário actual. A partir do SQL Server de 2016 RTM, a definição de COMPATIBILITY_LEVEL da base de dados serão utilizados Activar rastreio sinalizador hotfixes relacionados com 4199 por predefinição. Este artigo descreve a política e mecânica de correcções como que afectam o plano será entregue para 2016 do SQL Server e versões posteriores.
Mais Informação
No SQL Server de 2016, rastreio sinalizador 4199 correcções efectuadas às versões anteriores do SQL Server serão fique activa em base de dados COMPATIBILITY_LEVEL 130 sem sinalizador de rastreio 4199 activado. Sinalizador de rastreio 4199 será utilizado para libertar quaisquer futuras correcções de 2016 do SQL Server para bases de dados utilizando o nível de compatibilidade 130. Uma vez que o sinalizador de rastreio 4199 é recomendado apenas para clientes que estão a ver problemas de desempenho específicos, os clientes são aconselhados a remover o sinalizador de rastreio 4199 depois de estes migram respectivas bases de dados para o nível de compatibilidade mais recente porque o sinalizador de rastreio 4199 irá ser reutilizado para futuras correcções que não podem incidir sobre a aplicação e poderiam fazer com que as alterações de desempenho do plano inesperado num sistema de produção. Isto significa que o rastreio diferentes sinalizador 4199 correcções estão activadas para cada nível de compatibilidade que é suportado uma edição de determinado produto.

Nota Por predefinição, as bases de dados que são criados no SQL Server 2016 utilizam o nível de compatibilidade 130 e tem nova lógica de optimizer já activada.

A principal vantagem deste modelo é o que reduz o risco para os sistemas de produção durante o processo de actualização. Esta abordagem separa a instalação de uma nova versão principal do SQL Server da activação automática de todas as novas alterações de processador de consulta. Porque as actualizações de versão principal alteram o formato de ficheiro e não são reversíveis, é uma boa ideia utilizar a definição de COMPATIBILITY_LEVEL, porque isto permite que um cliente desactualizar rapidamente se for encontrado um problema de desempenho do plano inesperado durante uma actualização. Se um cliente localiza um plano inesperado alterar que bloqueia uma actualização de aplicação, o cliente pode facilitar a situação aplicando uma sugestão de plano adequado utilizando o arquivo de consulta para forçar o plano prévio ou pode facilitar a situação, contactando o suporte técnico da Microsoft para o ajudar com o problema para fornecer uma solução ou correcção. Quando todos os problemas são sensivel, pode continuar a actualização. Os clientes devem integrar a sua actualização planeamento para o SQL Server 2016 esta capacidade.

A tabela seguinte explica o modelo para o sinalizador de rastreio 4199 funcionamento a partir do SQL Server 2016.

Definição Nível de compatibilidade SQL4199 de sinalizador de rastreio Optimizador correcções antes de SQL Server de 2016 RTMCorrecções Optimizer depois de SQL Server de 2016 RTM
1. 120DesactivarDesactivadoDesactivado
2. 120NoActivadoDesactivado
3. 130DesactivarActivado por nível de compatibilidadeDesactivado
4.130NoActivado por nível de compatibilidadeActivado por nível de compatibilidade
Nota É recomendado definir n. º 3 para os clientes que recentemente estiverem a actualizar para SQL Server 2016.

Para obter versões principais depois de 2016 do SQL Server, a Microsoft tenciona continuar a utilizar este modelo de assistência para optimizer correcções. Por predefinição, ou cada versão, quaisquer correcções de 4199 de sinalizador de rastreio a partir da versão anterior serão activadas no próximo nível de compatibilidade. Isto significa que o estado recomendado para clientes depois de os migrarem para o nível de compatibilidade mais recente serão para que o sinalizador de rastreio 4199 desactivado. Correcções mais recentes utilizaria o sinalizador de rastreio 4199 para activar correcções para os clientes que têm para activar as correcções específicas numa aplicação. Os clientes são aconselhados a desactivar o sinalizador de rastreio 4199 depois de uma aplicação é actualizada para o nível de compatibilidade mais recente para evitar alterações inesperado optimizer futuras activadas uma aplicação inesperadamente.

Nota Enquanto muitos optimizer correcções estão activadas na 4199 de sinalizador de rastreio, alguns utilizam outros sinalizadores de rastreio. 4199 sinalizadores de rastreio historicamente abrangidos que são amplamente aplicáveis e que possam tornar-se activada por predefinição numa edição futura do sinalizador de rastreio. Sinalizadores de rastreio alternativos são utilizados em correcções se as condições são muito específicas apenas alguns clientes, em caso da correcção pode fazer com que as regressões de desempenho em outros tipos de aplicações ou a funcionalidade interna pode ver as alterações antes de ele estar pronto para tornar-se activado para todos os utilizadores. A Microsoft continuará a utilizar outros sinalizadores de rastreio, conforme necessário, para o produto de serviço.

Nota Este artigo foca-se o modelo para a libertação de sinalizador de rastreamento 4199 correcções sobre o nível de compatibilidade mais recente do produto mais recente. (No momento da publicação, este é 2016 do SQL Server.) Optimizador correcções podem ser disponibilizadas em versões mais antigas de no mercado do SQL Server ou no compatibilidade níveis inferiores (120 ou anteriores) de 2016 do SQL Server. A Microsoft irá avaliar cada caso e determinar se deve utilizar o sinalizador de rastreio 4199 ou um sinalizador de rastreio diferente. Uma vez que não correcção alterações também são activadas quando é efectuada uma acção de mover para um nível de compatibilidade posterior, não existe nenhum promise específico que não existem alterações ao plano ocorrerá durante uma actualização (com ou sem o sinalizador de rastreio 4199). Os clientes, devem testar sempre as alterações para o nível de compatibilidade cuidadosamente para aplicações de produção e devem utilizar tecnologias de mitigação, por exemplo, o arquivo de consulta, se existir um problema de desempenho relacionados plano-escolha.

Para referência, a tabela seguinte lista de sinalizadores de rastreio que foram utilizados para correcções do processador de consulta antes da introdução do sinalizador de rastreio 4199.
Artigo da Base de dados de conhecimento da MicrosoftSinalizador de rastreio
3185304101
9401284102
9199054103
9203464104
9203474105
9224384106
9238494107
9260244108
9267734109
9337244110
9340654111
9467934115
9508804116
9484454117
9426594119
9539484120
9424444121
9460204122
9482484124
9498544125
9590134126
9535694127
955694
957872
4128
9585474129
9566864131
9580064133
9607704135 *

SQL Server 2005

A correcção deste problema primeiro foi disponibilizada em 6 de actualização cumulativa para o SQL Server 2005 Service Pack 3. Para mais informações sobre este pacote de actualização cumulativa, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
974648 Pacote de actualização cumulativa 6 para o SQL Server 2005 Service Pack 3
Nota Uma vez que as compilações são cumulativas, cada edição contém todas as correcções e correcção de todas as correcções de segurança que foram incluídas com o SQL Server 2005 anterior. Recomendamos que pense em aplicar a edição de correcção mais recente que contenha esta correcção. Para mais informações, clique no número de artigo seguinte para visualizar o artigo na Base de Dados de Conhecimento Microsoft
960598 O SQL Server 2005 cria disponibilizadas após o lançamento do SQL Server 2005 Service Pack 3
Correcções Microsoft SQL Server 2005 são criadas para os service packs específicos do SQL Server. Tem de aplicar uma correcção do SQL Server 2005 Service Pack 3 para uma instalação do SQL Server 2005 Service Pack 3. Por predefinição, qualquer correcção fornecida num service pack do SQL Server está incluída no próximo service pack do SQL Server.

SQL Server 2008

A correcção deste problema publicada pela primeira vez na actualização cumulativa 7. Para mais informações sobre como obter este pacote de actualização cumulativa para o SQL Server 2008, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
973601 Pacote de actualização cumulativa 7 para SQL Server 2008
Nota Uma vez que as compilações são cumulativas, cada edição contém todas as correcções e correcção de todas as correcções de segurança que foram incluídas com o SQL Server 2008 anterior. Recomendamos que pense em aplicar a edição de correcção mais recente que contenha esta correcção. Para mais informações, clique no número de artigo seguinte para visualizar o artigo na Base de Dados de Conhecimento Microsoft
956909 O SQL Server 2008 cria disponibilizadas após o lançamento do SQL Server 2008

SQL Server 2008 SP1

A correcção deste problema publicada pela primeira vez na actualização cumulativa 7 para SQL Server 2008 Service Pack 1. Para mais informações sobre este pacote de actualização cumulativa, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
979065 Pacote de actualização cumulativa 7 para SQL Server 2008 Service Pack 1
Nota Uma vez que as compilações são cumulativas, cada edição contém todas as correcções e correcção de todas as correcções de segurança que foram incluídas com o SQL Server 2008 anterior. Recomendamos que pense em aplicar a edição de correcção mais recente que contenha esta correcção. Para mais informações, clique no número de artigo seguinte para visualizar o artigo na Base de Dados de Conhecimento Microsoft
970365 O SQL Server 2008 cria disponibilizadas após o lançamento do SQL Server 2008 Service Pack 1
Correcções do Microsoft SQL Server 2008 são criadas para os service packs específicos do SQL Server. Tem de aplicar uma correcção do SQL Server 2008 Service Pack 1 para uma instalação do SQL Server 2008 Service Pack 1. Por predefinição, qualquer correcção fornecida num service pack do SQL Server está incluída no próximo service pack do SQL Server.

SQL Server 2008 R2

Na versão original do SQL Server 2008 R2, o sinalizador de rastreio 4135 inadvertidamente foi omitido da lista de sinalizadores de rastreio que podem ser controladas pela - T4199. No entanto, este erro foi corrigido no cumulativo de actualizações 1 para o SQL Server 2008 R2. Assim, para esta compilação e para o SQL Server 2005 e edições suportadas do SQL Server 2008, - T4199 será suficiente para permitir que este e outros sinalizadores de rastreio que estão listados neste artigo.

2012 do SQL Server e versões posteriores

Sinalizador de rastreio 4199 está incluído nas versões de lançamento do SQL Server 2012 e versões posteriores.

Como activar o sinalizador de rastreio 4199

Pode activar o sinalizador de rastreio 4199 no arranque ou numa sessão de utilizador. Este sinalizador de rastreio tem efeito quer a nível global, como a nível da sessão. Para activar o sinalizador de rastreio 4199, utilize a DBCC TRACEON comando ou utilização – T 4199 como um parâmetro de arranque.

Se for utilizado DBCC TRACEON\TRACEOFF um novo plano em cache para procedimentos armazenados não gerar novamente. Planos possível na cache que foram criados sem o sinalizador de rastreio.

Para obter informações detalhadas sobre como activar ou desactivar sinalizadores de rastreio e explicações dos sinalizadores globais e a nível da sessão de rastreio, consulte os seguintes tópicos no SQL Server Books Online:
Referências
Para mais informações sobre o esquema de atribuição para actualizações do SQL Server, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
822499 Novo esquema de atribuição de nomes para pacotes de actualização de software do Microsoft SQL Server
Para mais informações sobre a terminologia de atualização de software, clique no seguinte número de artigo para visualizar o artigo na Base de Dados de Conhecimento Microsoft:
824684 Descrição da terminologia padrão utilizada para descrever atualizações de software da Microsoft

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 974006 - Última Revisão: 07/10/2015 03:01:00 - Revisão: 8.0

Microsoft SQL Server 2005 Standard Edition, Microsoft SQL 2005 Server Enterprise, Microsoft SQL Server 2005 Standard X64 Edition, Microsoft SQL Server 2005 Enterprise X64 Edition, Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems, Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL 2005 Server Workgroup, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Workgroup, Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Workgroup, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2016 Developer, Microsoft SQL Server 2016 Enterprise, Microsoft SQL Server 2016 Standard

  • kbsurveynew kbexpertiseadvanced kbqfe kbfix kbmt KB974006 KbMtpt
Comentários