Análise da workload do banco de dados em uma instância de banco de dados do Amazon RDS para SQL Server com o Orientador de Otimização do Mecanismo de Banco de Dados
O Orientador de Otimização do Mecanismo de Banco de Dados é uma aplicação de cliente fornecida pela Microsoft que analisa a workload do banco de dados e recomenda um conjunto ideal de índices aos bancos de dados do Microsoft SQL Server, com base nos tipos de consultas que você executa. Assim como no SQL Server Management Studio, você executa o Orientador de Otimização em um computador cliente conectado à instância de banco de dados do Amazon RDS que está executando o SQL Server. O computador cliente pode ser um computador local que você executa nas instalações dentro de sua própria rede, ou pode ser uma instância do Amazon EC2 para Windows que está sendo executada na mesma região que a sua instância de banco de dados do Amazon RDS.
Esta seção mostra como capturar uma workload para análise do Orientador de Otimização. Este é o processo ideal para capturar uma workload, pois o Amazon RDS restringe o acesso do host à instância do SQL Server. Para obter mais informações, consulte Database Engine Tuning Advisor
Para usar Orientador de Otimização, é necessário fornecer uma workload ao aplicativo. Uma workload é um conjunto de instruções Transact-SQL executadas em um banco de dados ou nos bancos de dados que você deseja ajustar. Orientador de Otimização do Mecanismo de Banco de Dados usa arquivos de rastreamento, tabelas de rastreamento, scripts Transact-SQL ou arquivos XML como entrada de workload ao ajustar bancos de dados. Ao trabalhar com o Amazon RDS, uma workload pode ser um arquivo em um computador cliente ou uma tabela de banco de dados em um banco de dados do Amazon RDS para SQL Server que pode ser acessada pelo computador cliente. O arquivo ou a tabela deve conter consultas feitas nos bancos de dados que você deseja ajustar e em um formato adequado para repetição.
Para que o Orientador de Otimização seja mais eficiente, uma workload deve ser o mais realista possível. É possível gerar um arquivo ou uma tabela de workload executando rastreamento na instância de banco de dados. Durante a execução do rastreamento, é possível simular uma carga na instância de banco de dados ou executar os aplicativos com uma carga normal.
Há dois tipos de rastreamento: no lado do cliente e no lado do servidor. A configuração de um rastreamento no lado do cliente é mais fácil e permite acompanhar a captura dos eventos de rastreamento em tempo real no SQL Server Profiler. A configuração de um rastreamento no lado do servidor é mais complexa e requer o uso de scripts Transact-SQL. Além disso, como o rastreamento é gravado em um arquivo na instância de banco de dados do Amazon RDS, o espaço de armazenamento é consumido pelo rastreamento. É importante controlar o espaço de armazenamento usado pelo rastreamento em execução no lado do servidor, pois a instância de banco de dados não ficará mais disponível se não houver espaço de armazenamento.
No caso de um rastreamento no lado do cliente, quando uma quantidade suficiente de dados de rastreamento é capturada no SQL Server Profiler, é possível gerar o arquivo de workload. Para isso, basta salvar o rastreamento em um arquivo no computador local ou em uma tabela de banco de dados em uma instância de banco de dados disponível para o seu computador cliente. A principal desvantagem de usar um rastreamento no lado do cliente é que talvez nem todas as consultas sejam capturadas quando sob cargas pesadas. Isso pode diminuir a eficácia da análise realizada pelo Orientador de Otimização do Mecanismo de Banco de Dados. Se você precisar executar um rastreamento sob cargas pesadas e desejar garantir que sejam capturadas todas as consultas durante uma sessão de rastreamento, será necessário usar um rastreamento no lado do servidor.
Para realizar um rastreamento do lado do servidor, é necessário que os arquivos de rastreamento na instância de banco de dados estejam em um arquivo de workload adequado. Também é possível salvar o rastreamento em uma tabela na instância de banco de dados após a conclusão do rastreamento. Você pode usar SQL Server Profiler para salvar o rastreamento em um arquivo no computador local ou usar Orientador de Otimização, de modo que ele faça a leitura na tabela de rastreamento na instância de banco de dados.