Partilhar via


Como criar cargas de trabalho

A carga de trabalho é um conjunto de instruções Transact-SQL que são executadas em um ou mais bancos de dados a serem ajustados. A interface gráfica do usuário (GUI) do Orientador de Otimização do Mecanismo de Banco de Dados e o utilitário de linha de comando dta utiliza arquivos de rastreamento, tabelas de rastreamento ou scripts Transact-SQL como entrada de carga de trabalho ao ajustar bancos de dados. As cargas de trabalho também podem ser incorporadas em um arquivo de entrada XML, no qual você também pode especificar um peso para cada evento. Para obter mais informações sobre como especificar cargas de trabalho embutidas, consulte Usando um arquivo de entrada XML para ajuste.

Você pode usar o Editor de Consultas no Microsoft SQL Server Management Studio ou seu editor de textos favorito para criar de cargas de trabalho de script Transact-SQL. Para criar cargas de trabalho de arquivos ou tabelas de rastreamento, use o SQL Server Profiler. O Orientador de Otimização do Mecanismo de Banco de Dados analisa essas cargas de trabalho para recomendar índices ou estratégias de particionamento que melhorarão o desempenho de consulta de seu servidor.

ObservaçãoObservação

Quando uma tabela de rastreamento é usada como uma carga de trabalho, ela deve existir no mesmo servidor em que o Orientador de Otimização do Mecanismo de Banco de Dados está ajustando. Se você criou a tabela de rastreamento em um servidor diferente, mova-a para o servidor em que o Orientador de Otimização do Mecanismo de Banco de Dados está ajustando.

Para criar cargas de trabalho de script Transact-SQL usando o Editor de Consultas do SQL Server Management Studio

  1. Inicie o Editor de Consultas no SQL Server Management Studio. Para obter informações sobre como executar este passo, consulte Editando scripts e arquivos no SQL Server Management Studio.

  2. Digite seu script Transact-SQL no Editor de Consultas. Este script deve conter um conjunto de instruções Transact-SQL que são executadas no banco ou bancos de dados que você quer ajustar. Salve o arquivo com uma extensão .sql. A Interface gráfica do usuário do Orientador de Otimização do Mecanismo de Banco de Dados e o utilitário de linha de comando podem usar este script Transact-SQL como uma carga de trabalho.

Para criar cargas de trabalho de um arquivo ou tabela de rastreamento usando o SQL Server Profiler

  1. Inicie o SQL Server Profiler usando um dos seguintes métodos:

    • No menu Iniciar, aponte para Todos os Programas, Microsoft SQL Server, Ferramentas de Desempenho e clique em SQL Server Profiler.

    • No SQL Server Management Studio, clique no menu Ferramentas e em SQL Server Profiler.

  2. Crie um arquivo ou tabela de rastreamento, seguindo os procedimentos abaixo, que use o modelo de Ajuste do SQL Server Profiler:

Recomendamos que você use o modelo de Ajuste do SQL Server Profiler para capturar cargas de trabalho para o Orientador de Otimização do Mecanismo de Banco de Dados.

Para usar seu próprio modelo, certifique-se de que os seguintes eventos de rastreamento sejam capturados para a versão do SQL Server que você está usando.

SQL Server 2005 e posterior:

  • RPC:Completed

  • SQL:BatchCompleted

  • SP:StmtCompleted

SQL Server 2000:

  • RPC:Completed

  • SQL:BatchCompleted

Você também pode usar as versões Iniciais desses eventos de rastreamento. Por exemplo, SQL:BatchStarting. Contudo, as versões Concluído desses eventos de rastreamento incluem a coluna Duração, que permite que o Orientador de Otimização do Mecanismo de Banco de Dados ajuste a carga de trabalho de maneira mais eficaz. O Orientador de Otimização do Mecanismo de Banco de Dados não ajusta outros tipos de eventos de rastreamento. Para obter mais informações sobre esses eventos de rastreamento, consulte Categoria de evento dos procedimentos armazenados e Categoria de evento TSQL. Para obter informações sobre como usar os procedimentos armazenados do SQL Trace para criar uma carga de trabalho de arquivo de rastreamento, consulte Como criar um rastreamento (Transact-SQL).

Cargas de trabalho de arquivo ou tabela de rastreamento que contêm a coluna de dados LoginName

O Orientador de Otimização do Mecanismo de Banco de Dados submete solicitações ao Plano de execução como parte do processo de ajuste. Quando uma tabela ou arquivo de rastreamento que contém a coluna de dados LoginName é consumida como carga de trabalho, o Orientador de Otimização do Mecanismo de Banco de Dados representa o usuário especificado no LoginName. Se esse usuário não recebeu a permissão SHOWPLAN, que permite que o usuário execute e crie Planos de execução para as instruções contidas no rastreamento, o Orientador de Otimização do Mecanismo de Banco de Dados não ajustará essas instruções. Para obter mais informações sobre a coluna de dados LoginName, consulte Descrevendo eventos usando colunas de dados. Para obter mais informações sobre permissões SHOWPLAN, consulte Segurança de plano de execução.

Para evitar conceder a permissão SHOWPLAN a cada usuário especificado na coluna LoginName do rastreamento

  1. Ajuste a carga de trabalho do arquivo ou tabela de rastreamento. Para obter mais informações, consulte Como ajustar um banco de dados.

  2. Verifique o log de ajuste de instruções que não foram ajustadas devido a permissões inadequadas. Para obter mais informações, consulte Sobre o log de ajuste e Como exibir saída de ajuste.

  3. Crie uma nova carga de trabalho excluindo a coluna LoginName dos eventos que não foram ajustados e salve somente os eventos não ajustados em um novo arquivo ou tabela de rastreamento. Para obter mais informações sobre como excluir colunas de dados de um rastreamento, consulte Como especificar eventos para um arquivo de rastreamento (SQL Server Profiler) ou Como modificar um rastreamento existente (Transact-SQL).

  4. Submeta novamente a nova carga de trabalho sem a coluna LoginName ao Orientador de Otimização do Mecanismo de Banco de Dados.

O Orientador de Otimização do Mecanismo de Banco de Dados ajustará a nova carga de trabalho, pois as informações de logon não foram especificadas no rastreamento. Se não houver LoginName para uma instrução, o Orientador de Otimização do Mecanismo de Banco de Dados ajustará essa instrução representando o usuário que iniciou a sessão de ajuste (um membro da função de servidor fixa sysadmin ou de função de banco de dados fixa db_owner).