Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada SQL do Azure
O relatório de Análise de Desempenho de Transações no SQL Server Management Studio ajuda-o a avaliar se In-Memory OLTP irá melhorar o desempenho da sua aplicação de base de dados. O relatório também indica quanto trabalho deve fazer para ativar In-Memory OLTP na sua aplicação. Depois de identificar uma tabela baseada em disco para portar para In-Memory OLTP, pode usar o Memory Optimization Advisor para ajudar a migrar a tabela. De forma semelhante, o Native Compilation Advisor ajuda-o a portar um procedimento armazenado para um procedimento armazenado compilado nativamente. Para informações sobre metodologias de migração, consulte In-Memory OLTP - Padrões Comuns de Carga de Trabalho e Considerações de Migração.
O relatório de Análise de Desempenho de Transações é executado diretamente na base de dados de produção, ou numa base de dados de teste com uma carga de trabalho ativa semelhante à carga de produção.
Os consultores de relatórios e migração ajudam-no a realizar as seguintes tarefas:
Analise a sua carga de trabalho para identificar pontos críticos onde In-Memory OLTP pode potencialmente ajudar a melhorar o desempenho. O relatório de Análise de Desempenho de Transações recomenda tabelas e procedimentos armazenados que mais beneficiariam da conversão para In-Memory OLTP.
Ajudá-lo a planear e executar a sua migração para In-Memory OLTP. O caminho de migração de uma tabela baseada em disco para uma tabela otimizada para memória pode ser demorado. O Memory-Optimization Advisor ajuda-o a identificar as incompatibilidades na sua tabela que deve remover antes de a mover para In-Memory OLTP. O Memory-Optimization Advisor também o ajuda a compreender o impacto que a migração de uma tabela para uma tabela otimizada para memória terá na sua aplicação.
Podes ver se a tua aplicação beneficiaria de In-Memory OLTP, quando quiseres planear a migração para In-Memory OLTP, e sempre que trabalhares para migrar algumas das tuas tabelas e procedimentos armazenados para In-Memory OLTP.
Importante
O desempenho de um sistema de base de dados depende de vários fatores, nem todos os quais o coletor de desempenho de transações pode observar e medir. Portanto, o relatório de análise de desempenho das transações não garante que os ganhos reais de desempenho correspondam às suas previsões, caso existam previsões.
O relatório de Análise de Desempenho de Transações e os consultores de migração são instalados como parte do SQL Server Management Studio (SSMS) quando seleciona Ferramentas de Gestão-Básico ou Ferramentas de Gestão-Avançadas ao instalar o SQL Server, ou quando instala o SQL Server Management Studio.
Relatórios de Análise de Desempenho de Transações
Pode gerar relatórios de análise de desempenho de transações no Explorador de Objetos clicando com o botão direito na base de dados, selecionando Relatórios, depois Relatórios Padrão e, por fim, Visão Geral de Análise de Desempenho das Transações. A base de dados precisa de ter uma carga de trabalho ativa, ou uma execução recente de uma carga de trabalho, para gerar um relatório de análise significativo.
Tables
O relatório detalhado para uma tabela consiste em três secções:
Secção de Estatísticas de Varredura
Esta secção inclui uma única tabela que mostra as estatísticas recolhidas sobre os scans da tabela de base de dados. As colunas são:
Percentagem do total de acessos. A percentagem de varrimentos e pesquisas nesta tabela em relação à atividade da base de dados inteira. Quanto maior for esta percentagem, mais utilizada é a tabela em comparação com outras tabelas da base de dados.
Estatísticas de Pesquisa/Estatísticas de Análise de Intervalo Esta coluna regista o número de consultas por pontos e varrimentos de intervalo (varrimentos de índice e varrimentos de tabela) realizados na tabela durante o perfil. A média por transação é uma estimativa.
Secção de Estatísticas de Contenda
Esta secção inclui uma tabela que mostra a concorrência na tabela de base de dados. Para mais informações sobre fechos e fechaduras de bases de dados, consulte Arquitetura de Bloqueios. As colunas são as seguintes:
Percentagem do total de esperas. A percentagem de esperas de latch e lock nesta tabela de base de dados em comparação com a atividade da base de dados. Quanto maior for esta percentagem, mais utilizada é a tabela em comparação com outras tabelas da base de dados.
Estatísticas de Latch. Estas colunas registam o número de latch waits para consultas que envolvem esta tabela. Para informações sobre fechos, veja Latching. Quanto maior este número, maior é a disputa de latch na tabela.
Estatísticas de bloqueios. Este grupo de colunas regista o número de aquisições de bloqueios de página e aguarda consultas para esta tabela. Para mais informações sobre fechaduras, veja Compreender o Bloqueio no SQL Server. Quanto mais esperas, mais ocorre contenção de bloqueio na tabela.
Secção de Dificuldades de Migração
Esta secção inclui uma tabela que mostra a dificuldade de converter esta tabela de base de dados para uma tabela otimizada para memória. Uma classificação de dificuldade mais alta indica mais dificuldade para converter a tabela. Para ver detalhes para converter esta tabela de base de dados, por favor utilize o Memory Optimization Advisor.
As estatísticas de varrimento e contenção no relatório de detalhes da tabela são recolhidas e agregadas a partir do sys.dm_db_index_operational_stats (Transact-SQL).
Procedimentos armazenados
Um procedimento armazenado com uma elevada razão entre o tempo de CPU e o tempo decorrido é candidato à migração. O relatório mostra todas as referências de tabelas, porque os procedimentos armazenados compilados nativamente só podem referenciar tabelas otimizadas para memória, o que pode aumentar o custo de migração.
O relatório de detalhes para um procedimento armazenado consiste em duas secções:
Secção de Estatísticas de Execução
Esta secção inclui uma tabela que mostra as estatísticas recolhidas sobre as execuções do procedimento armazenado. As colunas são as seguintes:
Tempo em cache. O tempo em que este plano de execução é armazenado em cache. Se o procedimento armazenado sair do cache do plano e voltar a entrar, haverá tempos para cada cache.
Tempo total de CPU. O tempo total de CPU que o procedimento armazenado consumiu durante a análise de desempenho. Quanto maior este número, mais CPU era o procedimento armazenado utilizado.
Tempo Total de Execução. A quantidade total de tempo de execução que o procedimento armazenado usou durante a análise de desempenho. Quanto maior for a diferença entre este número e o tempo de CPU, menos eficiente será o procedimento armazenado a usar a CPU.
Cache total perdido. O número de cache misses (leituras a partir do armazenamento físico) causadas pelas execuções do procedimento armazenado durante a geração de perfil.
Contagem de execuções. O número de vezes que este procedimento armazenado foi executado durante a perfilagem.
Secção de Referências de Tabelas
Esta secção inclui uma tabela que mostra as tabelas a que este procedimento armazenado se refere. Antes de converter o procedimento armazenado num procedimento armazenado compilado nativamente, todas estas tabelas devem ser convertidas em tabelas otimizadas para memória, e devem permanecer no mesmo servidor e base de dados.
As estatísticas de execução no relatório de detalhes do procedimento armazenado são recolhidas e agregadas a partir de sys.dm_exec_procedure_stats (Transact-SQL). As referências são obtidas a partir de sys.sql_expression_dependencies (Transact-SQL).
Para ver detalhes sobre como converter um procedimento armazenado num procedimento armazenado compilado nativamente, por favor utilize o Native Compilation Advisor.
Geração de Listas de Verificação de Migração OLTP na Memória
As listas de verificação de migração identificam quaisquer funcionalidades de tabelas ou procedimentos armazenados que não sejam suportadas por tabelas otimizadas para memória ou procedimentos armazenados compilados nativamente. Os consultores de otimização de memória e compilação nativa podem gerar uma lista de verificação para uma única tabela baseada em disco ou um procedimento T-SQL armazenado interpretado. Também é possível gerar listas de verificação de migração para múltiplas tabelas e procedimentos armazenados numa base de dados.
Pode gerar uma lista de verificação de migração no SQL Server Management Studio usando o comando Generate In-Memory OLTP Migration Checklists ou utilizando o PowerShell.
Para gerar uma lista de verificação de migração usando o comando UI
No Explorador de Objetos, clique com o botão direito numa base de dados diferente da base de dados do sistema, clique em Tarefas e depois clique em Gerar In-Memory Listas de Verificação de Migração OLTP.
Na caixa de diálogo Gerar Listas de Verificação de Migração In-Memory OLTP, clique em Seguinte para navegar para a página Configurar Opções de Geração de Lista de Verificação. Nesta página faça o seguinte.
Introduza um caminho de pasta na caixa Guardar lista de verificação em.
Verifique se está selecionada a Geração de listas de verificação para tabelas e procedimentos armazenados específicos .
Expanda os nós Table e Stored Procedure na caixa de secções.
Selecione alguns objetos na caixa de seleção.
Clique em Seguinte e confirme se a lista de tarefas corresponde às suas definições na página Configurar Opções de Geração de Checklist .
Clique em Terminar e depois confirme que os relatórios da lista de verificação de migração foram gerados apenas para os objetos que selecionou.
Pode verificar a precisão dos relatórios comparando-os com relatórios gerados pela ferramenta Memory Optimization Advisor e pela ferramenta Native Compilation Advisor. Para mais informações, consulte Memory Optimization Advisor e Native Compilation Advisor.
Para gerar uma lista de verificação de migração usando SQL Server PowerShell
No Explorador de Objetos, clique numa base de dados e depois clique em Iniciar PowerShell. Verifique se a seguinte mensagem de aviso aparece.
PS SQLSERVER: \SQL\{Instance Name}\DEFAULT\Databases\{two-part DB Name}>Digite o seguinte comando.
Save-SqlMigrationReport -FolderPath "<folder_path>"Verifique o seguinte.
O caminho da pasta é criado, caso ainda não exista.
O relatório da lista de verificação de migração é gerado para todas as tabelas e procedimentos armazenados na base de dados, e o relatório encontra-se na localização especificada por folder_path.
Para gerar uma lista de verificação de migração usando o Windows PowerShell
Inicie uma sessão PowerShell elevada do Windows.
Insira os seguintes comandos. O objeto pode ser uma tabela ou um procedimento armazenado.
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO')Save-SqlMigrationReport -Server "<instance_name>" -Database "<db_name>" -FolderPath "<folder_path1>"Save-SqlMigrationReport -Server "<instance_name>" -Database "<db_name>" -Object <object_name> -FolderPath "<folder_path2>"Verifique o seguinte.
É gerado um relatório de lista de verificação de migração para todas as tabelas e procedimentos armazenados na base de dados, e o relatório encontra-se na localização especificada por folder_path.
Um relatório de verificação de migração para <object_name> é o único relatório na localização especificada por folder_path2.