Compartilhar via


Como registrar consultas de execução demorada (ODBC)

Está disponível um exemplo completo que mostra a criação de um arquivo de log de consulta de execução demorada. O exemplo de código completo está localizado no arquivo LogLongRunningQuery.cpp, que pode ser baixado na página de Downloads do SQL Server no MSDN. Esse exemplo foi desenvolvido com o Microsoft Visual C++ 2005 para o ODBC versão 3.0 ou posterior.

Observação sobre segurançaObservação sobre segurança

Quando possível, use a Autenticação do Windows. Se a Autenticação do Windows não estiver disponível, solicite aos usuários que digitem suas credenciais em tempo de execução. Evite armazenar as credenciais em um arquivo. Se for necessário manter as credenciais, criptografe-as com a API de criptografia Win32.

Para registrar consultas de execução demorada que usam o Administrador ODBC

  1. Em Painel de Controle, clique duas vezes em Ferramentas Administrativas e clique duas vezes em Fontes de Dados (ODBC). (Como alternativa, você pode executar odbcad32.exe no prompt de comando.)

  2. Clique na guia DSN do Usuário, DSN de Sistema ou DSN de Arquivo.

  3. Clique na fonte de dados para a qual serão registradas as consultas de execução demorada.

  4. Clique em Configurar.

  5. No Assistente de Configuração do DSN do Microsoft SQL Server, navegue até a página com Salvar consultas demoradas no arquivo de log.

  6. Selecione Salvar consultas demoradas no arquivo de log. Na caixa, coloque o nome do arquivo em que as consultas de execução demorada devem ser registradas. Outra opção é clicar em Procurar para procurar o sistema de arquivos para o log de consulta.

  7. Defina um intervalo de tempo limite de consulta, em milissegundos, na caixa Tempo da consulta demorada (milissegundos).

Para registrar dados de consultas de execução demorada via programação

  1. Chame SQLSetConnectAttr com SQL_COPT_SS_PERF_QUERY_LOG e o caminho completo e nome do arquivo de log de consulta de execução demorada. Por exemplo:

    C:\\Odbcqry.log
    
  2. Chame SQLSetConnectAttr com SQL_COPT_SS_PERF_QUERY_INTERVAL e defina como o intervalo de tempo limite, em milissegundos.

  3. Chame SQLSetConnectAttr com SQL_COPT_SS_PERF_QUERY e SQL_PERF_START para iniciar o log de consultas de execução demorada.

  4. Chame SQLSetConnectAttr com SQL_COPT_SS_PERF_QUERY e SQL_PERF_STOP parar interromper o log de consultas de execução demorada.