Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Você pode criar um guia de plano no SQL Server 2014 usando o SQL Server Management Studio ou o Transact-SQL. Os guias de plano influenciam a otimização de consulta anexando dicas de consulta ou um plano de consulta fixo a eles. No guia de plano, você especifica a instrução Transact-SQL que você deseja otimizar e uma cláusula OPTION contendo as dicas de consulta que você quer usar ou um plano de consulta específico que você deseja usar para otimizar a consulta. Quando a consulta é executada, o otimizador de consulta associa a instrução Transact-SQL ao guia do plano e ou anexa a cláusula OPTION à consulta em tempo de execução, ou então utiliza o plano de consulta especificado.
Nesse Tópico
Antes de começar:
Para criar um guia de plano usando:
Antes de começar
Limitações e restrições
Os argumentos para sp_create_plan_guide devem ser fornecidos na ordem mostrada. Quando você fornece valores para os parâmetros de
sp_create_plan_guide, todos os nomes de parâmetro devem ser especificados explicitamente ou nenhum. Por exemplo, se@name =for especificado, então@stmt =,@type =e assim por diante, também deve ser especificado. Da mesma forma, se@name =for omitido e somente o valor do parâmetro for fornecido, os nomes de parâmetro restantes também deverão ser omitidos e apenas os valores fornecidos. Os nomes de argumentos são apenas para fins descritivos, para ajudar a entender a sintaxe. O SQL Server não verifica se o nome do parâmetro especificado corresponde ao nome do parâmetro na posição em que o nome é usado.Você pode criar mais de um guia de plano OBJECT ou SQL para a mesma consulta e lote ou módulo. No entanto, apenas um guia de plano pode ser ativado a qualquer momento.
Guias de plano do tipo OBJECT não podem ser criados para um valor @module_or_batch que faça referência a um procedimento armazenado, uma função ou um gatilho DML que especifique a cláusula WITH ENCRYPTION ou que seja temporário.
Tentar remover ou modificar uma função, um procedimento armazenado ou um gatilho DML referenciado por um guia de plano, habilitado ou desabilitado, causa um erro. Tentar remover uma tabela que tem um gatilho definido nela que é referenciado por um guia de plano também causa um erro.
Segurança
Permissões
Para criar um guia de plano do tipo OBJECT, requer a permissão ALTER no objeto referenciado. Para criar um guia de plano do tipo SQL ou TEMPLATE, requer a permissão ALTER no banco de dados atual.
Como usar o SQL Server Management Studio.
Para criar um guia de plano
Clique no sinal de mais para expandir o banco de dados no qual você deseja criar um guia de plano e clique novamente no sinal de mais para expandir a pasta Programação.
Clique com o botão direito do mouse na pasta Guias de Plano e selecione Novo Guia de Plano....
Na caixa de diálogo Novo Guia do Plano , na caixa Nome , insira o nome do guia de plano.
Na caixa Declaração, insira a declaração Transact-SQL contra a qual o guia do plano deve ser aplicado.
Na lista tipo de escopo, selecione o tipo de entidade em que a instrução Transact-SQL é exibida. Isso especifica o contexto para associar a instrução Transact-SQL ao guia do plano. Os valores possíveis são OBJECT, SQL e TEMPLATE.
Na caixa de Scope batch, insira o texto do lote no qual a instrução Transact-SQL aparece. O texto em lote não pode incluir uma instrução USEdatabase. A caixa lote de escopo só está disponível quando SQL é selecionado como um tipo de escopo. Se nada for inserido na caixa de lote de escopo quando SQL for o tipo de escopo, o valor do texto do lote será definido como o mesmo valor que está na caixa Instrução .
Na lista de nomes do esquema Scope , insira o nome do esquema no qual o objeto está contido. A caixa Nome do Esquema de Escopo só está disponível quando Objeto é selecionado como um tipo de escopo.
Na caixa de nome do objeto Scope , insira o nome do procedimento armazenado Transact-SQL, a função escalar definida pelo usuário, a função com valor de tabela de vários estados ou o gatilho DML no qual a instrução Transact-SQL é exibida. A caixa Nome do objeto Scope só está disponível quando Objeto é selecionado como um tipo de escopo.
Na caixa Parâmetros, insira o nome do parâmetro e o tipo de dados de todos os parâmetros inseridos na instrução Transact-SQL.
Os parâmetros se aplicam somente quando qualquer um dos seguintes parâmetros for verdadeiro:
O tipo de escopo é SQL ou TEMPLATE. Se TEMPLATE, os parâmetros não devem ser NULL.
A instrução Transact-SQL é enviada usando sp_executesql e um valor para o parâmetro é especificado ou o SQL Server envia internamente uma instrução após parametrizá-la.
Na caixa de Dicas, insira as dicas de consulta ou o plano de consulta a ser aplicado à instrução Transact-SQL. Para especificar uma ou mais dicas de consulta, insira uma cláusula OPTION válida.
Clique em OK.
Usando Transact-SQL
Para criar um guia para planejamento
No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados.
Na barra Padrão, clique em Nova Consulta.
Copie e cole o exemplo a seguir na janela de consulta e clique em Executar.
-- creates a plan guide named Guide1 based on a SQL statement EXEC sp_create_plan_guide @name = N'Guide1', @stmt = N'SELECT TOP 1 * FROM Sales.SalesOrderHeader ORDER BY OrderDate DESC', @type = N'SQL', @module_or_batch = NULL, @params = NULL, @hints = N'OPTION (MAXDOP 1)';
Para obter mais informações, consulte sp_create_plan_guide (Transact-SQL).