Sintomas
Quando tenta executar várias consultas grandes ao mesmo tempo no Microsoft SQL Server 2014, algumas consultas podem esperar por RESOURCE_SEMAPHORE_QUERY_COMPILE. Apenas uma consulta que requer mais memória do que o grande limiar de gateway (como fornecido pela saída do comando DBCC MEMORYSTATUS) para compilar pode prosseguir, mesmo que o servidor tenha memória suficiente disponível.NotaEste é um comportamento esperado. No entanto, em grandes sistemas de lote, como um armazém de dados, isso poderia reduzir o desempenho na execução simultânea de muitas consultas.
Resolução
Informação de atualização cumulativa
O problema foi corrigido pela primeira vez na seguinte atualização cumulativa do SQL Server.
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Recomendamos que descarregue e instale as últimas atualizações cumulativas para o SQL Server:
Este hotfix introduz uma nova bandeira de traço -T 6498. Esta bandeira de traço permite que mais de uma grande compilação de consultas obtenha acesso ao grande gateway quando há memória suficiente disponível. Baseia-se na percentagem de 80% de SQL Server Target Memory, e permite uma grande compilação de consultas por 25 gigabytes (GB) de memória. Por exemplo, isto permite duas compilações de consultas grandes num computador de memória alvo de 64 GB. Depois de aplicar este hotfix, tem de ativar o traço da bandeira -T 6498 para permitir o novo comportamento. NotaSe ativar a bandeira de traços utilizando o comando DBCC TRACEON, não terá de reiniciar o servidor para que a bandeira de vestígios faça efeito. Mas pode levar 10 segundos para a nova configuração do grande portal se aplicar. Um hotfix suportado está disponível na Microsoft. No entanto, este hotfix destina-se a corrigir apenas o problema descrito neste artigo. Aplique este hotfix apenas em sistemas que estão a passar por este problema específico. Se o hotfix estiver disponível para download, existe uma secção "Hotfix Download Available" no topo deste artigo da Base de Conhecimento. Se esta secção não aparecer, envie um pedido ao Serviço e Suporte ao Cliente da Microsoft para obter o hotfix. Nota Se ocorrerem problemas adicionais ou se for necessária uma resolução de problemas, poderá ter de criar um pedido de serviço separado. Os custos habituais de apoio aplicar-se-ão a questões adicionais de apoio e questões que não se qualificam para este hotfix específico. Para obter uma lista completa dos números de telefone do Serviço de Apoio ao Cliente e do Microsoft ou para criar um pedido de serviço separado, visite o seguinte website da Microsoft:
http://support.microsoft.com/contactus/?ws=support Nota O formulário "Hotfix Download Available" exibe os idiomas para os quais o hotfix está disponível. Se não vê a sua língua, é porque um hotfix não está disponível para esse idioma.
Mais Informações
CausaO SQL Server utiliza os gateways de compilação para compilações de aceleração. A arquitetura gateway é uma forma de o SQL Server manter o uso da memória para a compilação de consultas de entrada sob controlo. Há três portas: pequenas, médias e grandes. Para obter mais informações sobre como utilizar o comando DBCC MEMORYSTATUS para monitorizar a utilização da memória, consulte KB 907877: Como utilizar o comando DBCC MEMORYSTATUS para monitorizar a utilização da memória no SQL Server 2005.
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".