Partilhar via


Configurar a opção de configuração de servidor cursor threshold

Este tópico descreve como configurar a opção de configuração de servidor cursor threshold no SQL Server 2012 usando o SQL Server Management Studio ou o Transact-SQL. A opção cursor threshold especifica o número de linhas no conjunto de cursores em que os conjuntos de chaves de cursor são gerados de forma assíncrona. Quando os cursores geram um conjunto de chaves para um conjunto de resultados, o otimizador de consulta calcula o número de linhas que serão retornadas para aquele conjunto de resultados. Se o otimizador de consulta calcular que o número de linhas retornadas é maior do que esse limite, o cursor será gerado de forma assíncrona, permitindo que o usuário busque linhas do cursor enquanto o cursor continua sendo populado. Caso contrário, o cursor é gerado de forma síncrona e a consulta aguarda até que todas as linhas sejam retornadas.

Neste tópico

  • Antes de começar:

    Limitações e restrições

    Recomendações

    Segurança

  • Para configurar a opção cursor threshold usando:

    SQL Server Management Studio

    Transact-SQL

  • Acompanhamento: depois de configurar a opção cursor threshold

Antes de começar

Limitações e restrições

  • O SQL Server não oferece suporte à geração de cursores Transact-SQL controlados por conjunto de chaves ou estáticos de forma assíncrona. Operações de cursor Transact-SQL, como OPEN ou FETCH, são em lote, de modo que não é preciso gerar cursores Transact-SQL assincronamente. O SQL Server continua a oferece suporte a cursores controlados por conjunto de chaves assíncronos ou cursores de servidor de API estáticos, nos quais OPEN de baixa latência é uma preocupação, devido a viagens de ida e volta de cliente para cada operação de cursor.

  • A exatidão do otimizador de consulta para determinar uma estimativa do número de linhas em um conjunto de chaves depende da moeda das estatísticas para cada tabela no cursor.

Recomendações

  • Esta é uma opção avançada e deve ser alterada somente por um administrador de banco de dados experiente ou técnico certificado do SQL Server.

  • Se você definir o cursor threshold como -1, todos os conjuntos de chaves serão gerados de forma síncrona, o que beneficiará pequenos conjuntos de cursores. Se você definir o cursor threshold como 0, todos os conjuntos de chaves serão gerados de forma assíncrona. Com outros valores, o otimizador de consulta irá comparar o número de linhas previstas no cursor definido e criará o conjunto de chaves de forma assíncrona se ele exceder o número definido em cursor threshold. Não defina cursor threshold com um valor muito baixo, pois conjuntos de resultados pequenos são criados melhor de forma síncrona.

Segurança

Permissões

Permissões de execução sem parâmetros ou com somente o primeiro parâmetro em sp_configure são concedidas a todos os usuários por padrão. Para executar sp_configure com ambos os parâmetros para alterar uma opção de configuração ou executar a instrução RECONFIGURE, o usuário deve ter a permissão ALTER SETTINGS em nível de servidor. A permissão de ALTER SETTINGS é implicitamente mantida pelas funções de servidor fixas sysadmin e serveradmin.

Ícone de seta usado com o link Voltar ao Início[Top]

Usando o SQL Server Management Studio

Para configurar a opção cursor threshold

  1. No Pesquisador de Objetos, clique com o botão direito do mouse em um servidor e selecione Propriedades.

  2. Clique no nó Avançado.

  3. Em Diversos, altere a opção Limite do Cursor para o valor desejado.

Ícone de seta usado com o link Voltar ao Início[Top]

Usando Transact-SQL

Para configurar a opção cursor threshold

  1. Conecte-se ao Mecanismo de Banco de Dados.

  2. Na barra Padrão, clique em Nova Consulta.

  3. Copie e cole o exemplo a seguir na janela de consulta e clique em Executar. Este exemplo mostra como usar sp_configure para definir a opção cursor threshold como 0 para que os conjuntos de chaves dos cursores sejam gerados de forma assíncrona.

USE AdventureWorks2012 ;
GO
EXEC sp_configure 'show advanced options', 1 ;
GO
RECONFIGURE
GO
EXEC sp_configure 'cursor threshold', 0 ;
GO
RECONFIGURE
GO

Para obter mais informações, consulte Opções de configuração de servidor.

Ícone de seta usado com o link Voltar ao Início[Top]

Acompanhamento: depois de configurar a opção cursor threshold

A configuração entra em vigor imediatamente sem reiniciar o servidor.

Ícone de seta usado com o link Voltar ao Início[Top]

Consulte também

Referência

@@CURSOR_ROWS (Transact-SQL)

RECONFIGURE (Transact-SQL)

sp_configure (Transact-SQL)

UPDATE STATISTICS (Transact-SQL)

Conceitos

Opções de configuração de servidor