GERANDO XML COM FOR XML – RAW, AUTO, PATH E EXPLICIT

Neste post vou demonstrar um pouco as opções de retorno de consulta no formato XML.

Comando: FOR XML

Parâmetros:

  • AUTO
  • RAW
  • PATH
  • EXPLICIT

Abaixo alguns exemplos:

  • FOR XML AUTO
    1
    Retorno:
    1
  • FOR XML AUTO, ELEMENTS
    1
    Retorno:
    1
  • FOR XML RAW
    1
    Retorno:
    1
  • FOR XML RAW, ELEMENTS
    1
    Retorno:
    1
  • FOR XML PATH
    1
    Retorno:
    1
  • FOR XML EXPLICIT
    1
    Retorno:
    1

Até mais!!!

EXTENDED EVENTS – CAPTURANDO DEADLOCK

Neste post demonstrarei como capturar deadlock utilizando Extend Events.

Este é um recurso novo contido no SQL Server 2012.

Vamos aos passos:

  1. Abra o SQL Server Management Studio;
  2. Conecte em uma instância SQL Server 2012;
  3. Vá até Management >> Extended Events;
    1
  4. Expanda Extended Events, clique com botão direito sobre Sessions  e selecione New Session Wizard;
    2
  5. Clicar em Next;
    3
  6. Informe Session Name e clique em Next;
    4
  7. Existe a opção de utilizar os modelos já pontos conforme mostrado abaixo,  mas nós não utilizaremos estes modelos.É só a título de informação.
    5
  8. Selecione Do not use a template  e clique em Next;
    6
  9. Digite “Deadlock” em Event library;
    7
  10. Selecione os itens retornados;
    8
  11. Mova os itens para Selected Events e clique em Next;
    9
  12. Selecione os campos que deseja retornar e clicar em Next;
    Neste caso estou selecionado:
    – database_id
    – database_name
    – session_id
    – sql_text
    – user_nameMas fique a vontade para sua seleção de colunas.10
  13. Neste caso não selecionaremos filtro. Clicar em Next;
    11
  14. Não armazenaremos a coleta das informações. Clicar em Next;
    12
  15. Clicar em Finish;
    13
  16. Clique em Close;
    14
  17. Verificando a sessão criada;
    Podemos observar que a sessão esta criada, porem não iniciada.
    15
  18. Selecione a sessão criada, clique com botão direito sobre a sessão e seleciona Start Session;
    16
  19. Podemos observar que após o Start da sessão a mesma passou para cor verde;
    17
  20. Próxima etapa vai ser criar duas tabelas e inserir dois registros para testarmos a captura das informações;
    18
  21. Clique com botão direito sobre a sessão criada anteriormente e selecione Watch Live Data;
    19
  22. Abrirá uma sessão vazia conforme abaixo;
    20
  23. Execute simultaneamente os scripts abaixo;
    21
  24. Após a execução podemos observar que ocorreu deadlock  na sessão 2;
    22
  25. Abaixo podemos ver as informações capturadas referente ao deadlock ocorrido;
    23
  26. Clique sobre xml_deadlock_report;
    24
  27. E de um duplo clique sobre xml_report para analisar as informações.
    2425

Após ter as informações é só analisar as causas.

Até mais!!!