Tempo aproximado para leitura: 00:02:25 min
Ocorrência
Travamento na execução da rotina e no log do Dataserv apresenta a mensagem: Cursor de bloco convertido para lookahead devido a contenção de recursos na tabela "dbo"."tabela" (328) (10488)
Ambiente
Framework - Framework (Linha Datasul) - SQL Server - Versão 12
Causa
Dependendo de suas características, algumas consultas são convertidas automaticamente para utilizar cursores lookahead ao invés do tradicional block cursor, o que causa situações de lentidão e travamento devido ao seu tamanho.
Solução
Para a solução da ocorrência inclua o parâmetro -Dsrv QT_NO_LOOKHEAD na conexão dos bancos conforme abaixo:
1 - No arquivo .pf para o banco emsfnd logo após o parâmetro -dt MSS, exemplo:
-db C:\TOTVS\datasul\dts-0\ERP\database-8080\shemsfnd -RO
-ld shemsfnd
-db emsfnd
-ld emsfnd
-N tcp
-dt MSS
-Dsrv QT_NO_LOOKAHEAD
-Dsrv QT_CACHE_SIZE,100000
-Dsrv PRGRS_NATIVE_LOCKWAIT,10000
-Dsrv qt_debug,extended
-Dsrv PRGRS_CO,Driver=~{SQL&^Server&^Native&^Client&^11.0~};Server=SERVIDOR;Database=emsfnd;Uid=sa;Pwd=SENHA
2 - Para os demais bancos acesse acrescente o parâmetro -Dsrv QT_NO_LOOKHEAD no programa Cadastro de Bancos por Empresa - BTB962AA, para cada linha de conexão de banco, conforme exemplo abaixo:
Após a atualização para a versão 12.1.2411 o programa BTB962AA mudou para a tela Empresas do Foundation (HTML). O passo a passo de como acessar e gerenciar a tela em Empresas do Foundation (HTML)
Saiba mais
Informações adicionais sobre o parâmetro QT_NO_LOOKHEAD consulte os kbases a seguir:
Errors (2624) (328) (10488) using the MS SQL dataserver and the native sequence generator
Considering when to use block cursors and firehose block cursors
Query tuning
DataServer startup, -Dsrv, parameters list by products
Can Query-Tuning NO-LOOKAHEAD option be enabled for an entire session?
0 Comentários