Simular um deadlock no SQL Server

Oi pessoal, um dos problemas que os DBA’s de SQL Server passam frequentemente é os chamados DEADLOCKS, que são bloqueios de transações (locks) onde uma sessão fica aguardando a liberação da outra, semelhante a um estado de loop. Este tipo de situação é gerada para garantir o isolamento necessário das transações, sendo que o resultado de um DEADLOCK é o cancelamento (morte) do processo que utiliza menos recurso. Para entendermos melhor o caso, simule a seguinte situação no seu SQL Server:
 
1. No Query Analyzer, execute os seguintes comandos:
CREATE TABLE t1 (i int)
CREATE TABLE t2 (i int)
INSERT t1 SELECT 1
INSERT t2 SELECT 9
 
2. Abra outra janela do Query Analyzer e execute os seguintes comandos:
BEGIN TRAN
UPDATE t1 SET i = 11 WHERE i = 1
WAITFOR DELAY ’00:00:20′
UPDATE t2 SET i = 99 WHERE i = 9
COMMIT
3. Em outra janela do Query Analyzer, execute os seguintes comandos:
BEGIN TRAN
UPDATE t2 SET i = 99 WHERE i = 9
WAITFOR DELAY ’00:00:20′
UPDATE t1 SET i = 11 WHERE i = 1
COMMIT
4. Execute o passo 2. seguido do passo 3. (quase que simultaneamente). Após o delay de 20 segundos vc obtera a situação de DEADLOCK.
 
5. Para monitorar os DEADLOCKS do banco de dados, habilite os parâmetros -T1204 e -T3605 abrindo o Enterprise Manager, clicando nas propriedades do servidor, na guia General, clicando em Startup Parameters. Ele vai armazenar na pasta LOG um arquivo (ERRORLOG) contendo as informações relevantes sobre os DEADLOCK’s encontrados.
 
Espero que ajude vc’s a entender um pouquinho mais sobre DEADLOCK’s, um abraço.
Douglas Mello.
 
 
Anúncios
Esse post foi publicado em Uncategorized. Bookmark o link permanente.

5 respostas para Simular um deadlock no SQL Server

  1. Unknown disse:

    wow power level
    wow power level
    wow power level
    wow power level
    wow power level
    wow power level
    wow power level
    wow power level -242688055983784

  2. Unknown disse:

    To the global wow gold the cheapest wow power leveling under the cheapest single-site!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s