CORRECÇÃO: São registadas mensagens de erro quando executa uma consulta parametrizada automática não colocável em cache no SQL Server 2012 ou 2014

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: 3068703
Sintomas
Quando o SQL Server está a executar uma consulta parametrizada automática não colocável em cache, a consulta pode produzir uma violação de acesso em raras circunstâncias. A violação de acesso é registada no registo de erro do SQL Server, bem como uma pilha de chamadas que contém o fragmento de exemplo seguinte:

***Stack Dump being sent to C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\LOG\SQLDump0010.txtSqlDumpExceptionHandler: Process #### generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.* ********************************************************************************* BEGIN STACK DUMP:*  date time spid #*** Exception Address = 000007FA0B512E2F Module(sqllang+0000000000E72E2F)* Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION* Access Violation occurred reading address 0000000000000018** Input Buffer ### bytes -* select identifier, registration_date, model, digit, place, failure, address,  * remote_control, phone_number, state, location, updated, mta, * home_id, vod_address, observations  * from equipment with(nolock) * where branch_group = 1 and equipment_type = 2 * and series = 'SERIES_AAA'*  * ******************************************************************************** -------------------------------------------------------------------------------* Short Stack Dump000007FA0B512E2F Module(sqllang+0000000000E72E2F)000007FA0B57D7D2 Module(sqllang+0000000000EDD7D2)000007FA0A74788B Module(sqllang+00000000000A788B)000007FA0A746B5C Module(sqllang+00000000000A6B5C)000007FA0A747034 Module(sqllang+00000000000A7034)000007FA0A746F8C Module(sqllang+00000000000A6F8C)000007FA0A6C9851 Module(sqllang+0000000000029851)000007FA0AB5CF5C Module(sqllang+00000000004BCF5C)000007FA0AB54397 Module(sqllang+00000000004B4397)000007FA09990430 Module(sqldk+0000000000010430)000007FA09990214 Module(sqldk+0000000000010214)000007FA0998FEF7 Module(sqldk+000000000000FEF7)000007FA099AF15F Module(sqldk+000000000002F15F)000007FA099AF1E0 Module(sqldk+000000000002F1E0)000007FA099AE70E Module(sqldk+000000000002E70E)000007FA099AEFB9 Module(sqldk+000000000002EFB9)000007FA17411832 Module(KERNEL32+0000000000001832)000007FA19B1D609 Module(ntdll+000000000005D609)

Neste exemplo, symptomsare, da seguinte forma:
  • Uma consulta simples que tenha um ou mais constantes na sua cláusula WHERE. SQL Server pode automaticamente-parametrizar estas constantes.
  • O "violação de acesso ao ler a cadeia de endereço 0000000000000018". (Esta cadeia termina no "18" em sistemas de 64 bits, "0C" em sistemas de 32 bits).
  • O conteúdo da informação de curto pilha de terão a profundidade iguais ou semelhante e a posição relativa de frames de pilha (não necessariamente uma correspondência exacta).

    NotaEste exemplo é retirado de uma instância de 64 bits do SQL Server. Será diferente, mas ainda reconhecível um exemplo de uma instância de R32 bits.

Informações sobre a actualização cumulativa

Este problema foi corrigido pela primeira vez na actualização cumulativa do SQL Server.
Recomendação: Instale a actualização cumulativa mais recente para o SQL Server

Cada nova actualização cumulativa para o SQL Server contém todas as correcções e todas as correcções de segurança que foram incluídas na anterior actualização cumulativa. Verifique as actualizações cumulativas mais recentes para o SQL Server:
Ponto Da Situação
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".
Referências
Obter informações sobre o terminologia que a Microsoft utiliza para descrever atualizações de software.

Propriedades

ID do Artigo: 3068703 - Última Revisão: 09/04/2015 07:26:00 - Revisão: 2.0

Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2014 Service Pack 1, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Web

  • kbqfe kbsurveynew kbfix kbexpertiseinter kbmt KB3068703 KbMtpt
Comentários
ERROR: at System.Diagnostics.Process.Kill() at Microsoft.Support.SEOInfrastructureService.PhantomJS.PhantomJSRunner.WaitForExit(Process process, Int32 waitTime, StringBuilder dataBuilder, Boolean isTotalProcessTimeout)