Sintomas
Quando tenta criar um índice remissivo (através da utilização de CREATE INDEX ou ALTER INDEX) num tipo de dados geográficos de uma tabela grande, 2012 do Microsoft SQL Server ou SQL Server 2014 poderá funcionar lentamente. Pode encontrar várias de spinlock de contentions, SOS_CACHESTORE e SOS_SELIST_SIZED_SLOCK.
Resolução
O problema foi corrigido pela primeira vez na actualização cumulativa do SQL Server.
Actualização cumulativa 1 para o SQL Server 2014/en-us/help/2931693
Actualização cumulativa 7 para o SQL Server 2012 SP1/en-us/help/2894115
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:
Informação de pacote de actualização de correcçãoExiste uma correção suportada pela Microsoft. No entanto, esta correção destina-se apenas a corrigir o problema descrito neste artigo. Aplique esta correcção apenas em sistemas que tenham este problema específico.
Se a correção está disponível para transferência, existe uma secção de "Transferência de Correção Disponível" na parte superior deste artigo da Base de Dados de Conhecimento. Se esta secção não for apresentado, submeta um pedido de suporte e serviço de cliente Microsoft para obter a correcção.
Nota Caso ocorram problemas adicionais ou se for necessária a resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos de normais do suporte serão aplicados a questões de suporte adicional e problemas incluídos nesta correção específica. Para uma lista completa dos números de telefone de suporte e serviço de cliente da Microsoft ou para criar um pedido de assistência separado, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=supportNota O formulário "Transferência de correcção disponível" apresenta os idiomas nos quais a correcção está disponível. Se não visualizar o seu idioma, é porque uma correcção não está disponível para esse idioma.
Mais informações
Spinlocks proteger as entradas de cache do procedimento de runtime (CLR) de linguagem comum. O plano de consulta de um índice criado ou alterado envolve, normalmente, um operador de Aplicar ou um operador de Ciclo aninhado . Do lado exterior da operação JOIN é devolver linhas da tabela espacial e a função espacial de condução. Sempre que é invocada a função, pode ser utilizado um spinlock. Quando a consulta é executada com elevado graus de paralelismo, o spinlocks pode tornar-se um congestionamento. O diagrama seguinte é um exemplo de tal plano espacial.
Estado
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".
Referências
Para mais informações sobre outro problema de desempenho quando cria um índice num tipo de dados geográficos de uma grande tabela no SQL Server 2012, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
CORRIGIR 2887888 : diminuir o desempenho do SQL Server quando criar um índice remissivo num tipo de dados geográficos de uma tabela grande numa instância do SQL Server 2012