O error 1222 no SQL Server ocorre quando o período de tempo de uma requisição excede seu limite. O tempo de lock de uma requisição é configurado em milissegundos, uma query espera outra que está bloqueando algum recurso do SQL Server, então retornará o erro de query time out. O valor padrão do timeout de query é -1 (LOCK TIMEOUT -1).
Para resolver o problema existem alguns passos:
Encontrar qual transação no SQL Server está utilizando recursos que as outras transações estão querendo usar. Se possível use sys.dm_os_waiting_tasks e sys.dm_tran_locks. DMVs do SQL Server.
Se a transação continua bloqueando recursos, mate-a se for possível e apropriado.
Execute a query novamente.
Outras formas de resolver isso são:
Modificando as querys que usam hints (RECOMPILE, MAXDOP).
Execute querys grandes por partes menores.
Verifique a existência de COMMIT em casos de BEGIN TRANSACTION.
Saiba como a função UPPER() no SQL Server pode degradar a performance das suas consultas…
Saiba agora mesmo como você pode diminuir o RESOURCE_SEMAPHORE_QUERY_COMPILE no SQL Server. Recentemente eu trabalhei em…
Nós DBA' e desenvolvedores quase sempre temos que trabalhar com datas quando se trata de…
Quais são as diferentes maneiras de proteger o login Senha do Administrador (SA)? Todos estão…
Com os direitos que o login sa tem por padrão no SQL Server, é obrigatório…
Como um DBA, você tem a responsabilidade de garantir a segurança do aplicativo e dos…