Atualizado em 15 de agosto de 2019 para 0.9.6.
No ano passado, reuni-me com uma das minhas equipes de desenvolvimento aqui – eles se chamam SQL Injectors – para falar sobre a possibilidade de replicar a funcionalidade do SentryOne Plan Explorer dentro do Azure Data Studio. Após alguma discussão, trouxemos o conceito para a equipe de liderança e colocamos um plano em ação.
Houve algumas complicações, como você pode imaginar; O Plan Explorer é escrito usando tecnologias de desktop e o ADS é um mundo totalmente novo. Tivemos que converter todo o nosso código .NET Framework para .NET Core, alterar nosso código de interface do usuário para Node e React e refazer toda a implementação do diagrama de plano. Vou guardar toda a história de fundo para outro post, porque muitas coisas divertidas aconteceram ao longo do caminho, e recebemos muita ajuda de alguns ótimos da Microsoft – Karl Burtram, Alan Yu, Alan Ren, Charles Gagnon e Vicky Harp, para nomear alguns. Por enquanto, quero me concentrar em como você coloca as mãos na visualização, o que está nela até agora (incluindo algumas capturas de tela) e os problemas conhecidos.
Como você consegue
Para acessar a extensão do Plan Explorer, você precisa criar uma conta gratuita do SentryOne Cloud e concordar com nosso EULA. A conta dá acesso ao nosso fórum de suporte e podemos mantê-lo atualizado sobre os próximos lançamentos e novos recursos. Depois de criar sua conta, vá para extensions.sentryone.com, onde você verá o seguinte link para baixar a extensão:
Isso fornecerá um arquivo VSIX que você precisará "carregar lateralmente" no Azure Data Studio (a Microsoft não oferece suporte à hospedagem completa para extensões de terceiros no ADS Marketplace, como fazem com o VS Code).
Primeiro, verifique se você atende aos nossos requisitos:
- Azure Data Studio 1.9.0 ou mais recente (postagem de anúncio de julho)
- .NET Core Runtime 2.1 ou mais recente (Windows | macOS | Linux)
- Conectando-se ao SQL Server 2012 ou superior, ou ao Banco de Dados SQL do Azure
E configuração de sistema recomendada:
- Dois ou mais núcleos
- 8 GB ou mais de memória
- Sistemas operacionais:
- Windows (8.1 / Server 2012 R2 ou superior)
- macOS (10.13 ou superior)
- RedHat (7.6 ou superior)
- SuSE (12.0 ou superior)
- Ubuntu (18.04 ou superior)
Em seguida, para instalar a extensão:
- Abra o Azure Data Studio.
- Selecione Arquivo> Instalar extensão do pacote VSIX . Você não pode clicar duas vezes no arquivo VSIX.
- Localize o arquivo VSIX do SentryOne Plan Explorer que você baixou e clique em Instalar .
- A menos que você a tenha descartado antes, você terá que responder sim a uma solicitação sobre como confiar em extensões de terceiros:
Se você não tiver uma versão nova o suficiente do Azure Data Studio (ou estiver usando uma compilação do Insiders com alterações que ainda não testamos), algumas funcionalidades podem não funcionar conforme o esperado.
Se você não tiver uma versão nova o suficiente do .NET Core Runtime (ou não estiver em execução), receberá esta mensagem de erro após a instalação ser bem-sucedida:
O que há nele
Assim como o aplicativo de desktop, a extensão do Plan Explorer foi projetada para fornecer planos de execução gráfica mais avançados para suas consultas em tempo real no SQL Server. Ele é baseado em um subconjunto modesto de funcionalidade; começamos com apenas o diagrama do plano, uma grade de instruções básicas, dicas de ferramentas e acesso ao XML (para que você possa abrir o plano em outras ferramentas). Adicionaremos mais recursos à extensão ao longo do tempo para tentar chegar o mais próximo possível da paridade total com o cliente de desktop.
Para ativar ou desativar a extensão
- Clique no Explorador de planos SentryOne elemento na barra de status:
- Ou pressione Shift+Ctrl /⌘+P e encontre Alternar Explorador de Planos SentryOne :
- Ou pressione Shift+Ctrl /⌘+F5 .
Para coletar um plano de execução
- Verifique se a extensão está ativada.
- Em uma nova janela de consulta, estabeleça uma conexão com um servidor e escreva ou cole uma consulta.
- Para uma Estimativa plano, use o Explicar botão na barra de ferramentas.
- Para um Real plano, use Ctrl /⌘+M .
- Um novo documento de nível superior será aberto (intitulado Plan Explorer ) incluindo uma grade de instruções, uma linha para cada instrução geradora de plano:
- Para visualizar o XML do plano subjacente, clique em Visualizar XML .
- Para visualizar o diagrama de plano de qualquer declaração, clique em Visualizar plano .
- Para ver a dica de ferramenta condensada de um operador, passe o mouse sobre o operador. Para a versão expandida, que inclui mais informações e "gruda" no lado direito do painel, clique no operador:
- Para alterar qualquer uma das propriedades do diagrama, como nível de zoom, alternar entre planos reais e estimados, mostrar custos apenas por E/S ou CPU ou alterar larguras de linha a serem renderizadas por número de linhas ou tamanho dos dados, clique com o botão direito clique em qualquer lugar no diagrama:
Grade de instruções
Diagrama de plano com tema de luz padrão
Diagrama de plano com tema Solarized Dark
Dicas de ferramentas condensadas e expandidas
Menu de contexto de opções de diagrama - Quando uma recomendação de índice ausente estiver presente, um aviso aparecerá na dica de ferramenta para o operador do nó raiz e uma opção de menu de contexto do botão direito do mouse estará disponível em qualquer lugar do diagrama (que abrirá o script de índice(s) ausente(s) em uma nova janela de consulta de nível superior desconectada):
Aviso de dica de ferramenta de índice ausente e opção de menu de contexto
Script de índice ausente
Novo na versão 0.9.6 – 15 de agosto de 2019
- Adicionada opção de menu de contexto para alternar as larguras de linha entre o número de linhas e o tamanho dos dados
- Adicionada opção de menu de contexto para mostrar recomendações de índice ausentes em uma nova janela de consulta
- Mudou a porta padrão da API de 5000 para 5042 para reduzir a chance de conflito
- Adicionada uma configuração para personalizar o número da porta local em caso de conflito:
- Ativação/desativação da extensão movida para a barra de status (obrigado pela sugestão, Drew Skwiers-Koballa!)
- Diagnósticos adicionais no painel Saída para auxiliar na solução de problemas:
- Atualizou vários ícones de operador (antigos à esquerda, novos à direita):Assert
ClusteredIndexDelete
ClusteredIndexMerge
ClusteredIndexUpdate
ColumnstoreIndexDelete
Excluir
Varredura excluída
BuscarConsulta
ForeignKeyRefCheck
ÍndiceExcluir
IndexUpdate
Digitalização inserida
KeyLookup
Consulta de população
Exclusão Remota
Consulta Remota
RID Lookup
Seqüência
Trocar
WindowAggregate
Observe que as alterações do ícone de pesquisa de chave e RID já ocorreram no Plan Explorer 19.0.1 (explicação aqui); o restante dessas alterações aparecerá no Plan Explorer em breve.
Problemas conhecidos
- Quando a extensão do Plan Explorer estiver habilitada, você também experimentará o
Explain
nativo funcionalidade fornecida pelo Azure Data Studio (Dave Bland explica essa funcionalidade aqui). - Para planos reais, as únicas métricas de tempo de execução disponíveis em grades são Duração e CPU (dada uma versão moderna o suficiente do SQL Server). Outros dados aparecerão em versões futuras, começando com Leituras e Custo %.
- Atualmente, o Azure Data Studio trunca a saída XML do plano em 2 MB (consulte a edição nº 6299). Portanto, para planos maiores e/ou lotes maiores, talvez não possamos mostrar todos os planos. É mais provável que isso aconteça ao usar o Explain para gerar planos estimados (portanto, apenas diga não aos planos estimados
). - Não temos acesso ao menu Arquivo, portanto, não podemos abrir ou salvar planos, e só podemos abrir uma única janela de documento chamada Explorador de planos – o que significa que, pelo menos por enquanto, você só pode mostrar um diagrama de planta por vez.
Índices ausentes,opções de largura de linha, e a funcionalidade de recolhimento de subárvore não estão disponíveis na visualização. Também não há opções de layout, mas você pode ampliar com a roda do mouse ou pinçar o trackpad, e pode deslocar com o deslizamento de dois dedos no trackpad.- Quando o Azure Data Studio é aberto com documentos recuperados de uma sessão anterior, a habilitação da extensão do Plan Explorer pode não se aplicar a essas janelas devido a um problema ao enumerar documentos nesse estado. Até que a Microsoft lance uma correção, desativar o Plan Explorer e ligá-lo novamente deve resolver o problema.
- O suporte a temas é experimental neste momento:
- Nem todas as cores de fundo serão renderizadas lindamente, e todos os links são azuis, não importa o que aconteça.
- Ícones alternativos projetados para temas escuros estão em andamento.
- Se você alterar o tema de cores após renderizar um plano, não poderemos capturar o evento no momento. Interaja com o diagrama (por exemplo, clique com o botão direito do mouse) para forçá-lo a "alcançar".
Obter mais informações; fornecer feedback
- Página do produto
- Documentação oficial do produto
- SentryOne Plan Explorer/fórum de ajuste de consulta
- Anúncio de lançamento de julho da equipe do Azure Data Studio
- Fico sempre feliz em responder perguntas ou receber feedback em [email protected]