Método mais rápido e leve de executar e exibir resultados da consulta SQL [closed]

0

Muitos, se não a maioria dos aplicativos, podem exibir os resultados de consultas SQL em algum formato legível por humanos. No entanto, eles geralmente devem ser abertos com uma janela ativa (SSMS ou Excel, por exemplo, sendo que ambos usam recursos significativos do sistema na máquina local) ou envolvem geração extra de relatórios geradores de sobrecarga (o SSRS é um bom exemplo). Minha plataforma é o servidor Microsoft SQL. Com o SSMS, há também o problema de encontrar a consulta correta, abrir uma janela e clicar em executar.

Qual método você usaria para simplesmente executar consultas somente leitura com conteúdo arbitrário (podem ser procedimentos armazenados, consultas dinâmicas, CTEs etc.) o mais instantaneamente possível? O formato de exibição pode ser mínimo (tabela simples com quase nenhuma alteração de formatação), com dados agregados que não excedam um conjunto de registros muito pequeno (certamente com menos de 1.000 registros, em média).

Estou pensando que algo como o autohotkey poderia fazer isso em tempo real. Se eu pudesse mapear um combo de teclas para as consultas, eu teria os resultados super rápidos.

Um bom exemplo do que estou tentando evitar é o seguinte:

Eu gosto de verificar frequentemente o número de usuários logados em um sistema, consultando uma tabela que envia de volta não mais de 10 registros. Isso deve levar menos de um segundo para ver esses resultados. No entanto, como tenho armazenado em um relatório do SSRS, preciso navegar até o site e passar por um processo de geração de relatório que provavelmente demora de 15 a 40 segundos. Gostaria de fornecer aos usuários um método de ver os dados instantaneamente. Como você conseguiria isso?

    
por Michael 02.10.2012 / 03:48

1 resposta

0

Eu criaria um usuário do banco de dados com permissões apenas para ler a tabela de interesse e, em seguida, gravaria um arquivo em lote contendo uma chamada sqlcmd com as credenciais desse usuário e a consulta necessária. Dependendo da necessidade, eu poderia fazer uma análise de luz da saída para produzir um arquivo HTML com uma meta tag de atualização automática ou simplesmente despejar os resultados diretamente em um arquivo de texto.

Então eu usaria um script AutoHotkey para ligar um pressionamento de tecla para executar o arquivo em lotes e abrir o resultado, ou para um pouco mais de velocidade (mas menos imediatismo de resultados) eu poderia executar o arquivo em lote periodicamente como uma tarefa agendada e usar a sequência de teclas para abrir o arquivo resultante.

(Não tenho certeza de como executar um relatório do SSRS a partir da linha de comando, mas tenho certeza de que existe uma maneira e, se for algo que os usuários acessarão aleatoriamente, provavelmente executaria um cronograma para mantê-lo o carregamento para baixo, dependendo de quantos usuários ele precisava suportar.)

    
por 02.10.2012 / 03:58