Aplica-se A
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard

Sintomas

Considere o seguinte cenário:

  • Tem uma base de dados do Microsoft SQL Server 2012 que tem as opções de ALLOW_SNAPSHOT_ISOLATION e READ_COMMITTED_SNAPSHOT ativadas.

  • Tem pelo menos três consultas simultâneas que vão contra a mesma mesa.

  • As consultas utilizam a sugestão de consulta (TABLOCK, UPDLOCK).

  • Cada consulta é embrulhada numa declaração explícita do BEGIN TRAN, mas a declaração do COMMIT TRAN não é executada.

Quando a primeira consulta for cometida neste cenário, uma das outras consultas irá travar. Quando READ_COMMITTED_SNAPSHOT estiver ativado juntamente com as sugestões de consulta TABLOCK e UPDLOCK, as sessões têm bloqueios IX na mesa. O impasse ocorre quando as duas sessões simultâneas tentam converter as fechaduras IX em fechaduras X ao mesmo tempo. Se READ_COMMITTED_SNAPSHOT estiver desativado, as sessões obterão seis bloqueios que não irão travar quando forem convertidos em fechaduras X. O hotfix aborda este comportamento concedendo LCK_M_SCH_S fechaduras em vez de fechaduras IX quando READ_COMMITTED_SNAPSHOT é usado com indicações TABLOCK e UPDLOCK. NotaEste problema também ocorre no Microsoft SQL Server 2008 R2. Em breve será lançado um hotfix para SQL Server 2008 R2.

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. Confira as últimas atualizações cumulativas do SQL Server:

Estado

A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.