Configurar a opção locks de configuração de servidor
Este tópico descreve como configurar a opção de configuração de servidor locks no SQL Server 2012 usando o SQL Server Management Studio ou o Transact-SQL. A opção locks define o número máximo de bloqueios disponíveis, limitando a quantidade de memória que o Mecanismo de Banco de Dados do SQL Server usa para eles. A configuração padrão é 0, a qual permite que o Mecanismo de Banco de Dados aloque e desaloque as estruturas de bloqueio de forma dinâmica, baseado nas alterações de requisitos de sistema.
Importante |
---|
Esse recurso será removido em uma versão futura do Microsoft SQL Server. Não utilize esse recurso em desenvolvimentos novos e modifique, assim que possível, os aplicativos que atualmente o utilizam. |
Neste tópico
Antes de começar:
Recomendações
Segurança
Para configurar a opção locks, usando:
SQL Server Management Studio
Transact-SQL
Acompanhamento: depois de configurar a opção locks
Antes de começar
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.
Quando o servidor é iniciado com bloqueios definido como 0, o gerenciador de bloqueio adquire memória suficiente do Mecanismo de Banco de Dados para um pool inicial de 2.500 estruturas de bloqueio. Conforme o pool de bloqueio é esgotado, memória adicional é adquirida para o pool.
Geralmente, se for necessária mais memória para o pool de bloqueio do que a que está disponível no pool de memória do Mecanismo de Banco de Dados, e se mais memória do computador estiver disponível (o limite de memória máxima do servidor não foi atingido), o Mecanismo de Banco de Dados alocará memória dinamicamente para satisfazer a solicitação de bloqueios. No entanto, se a alocação dessa memória provocar paginação no nível do sistema operacional (por exemplo, se outro aplicativo estiver executando no mesmo computador como uma instância do SQL Server e usando essa memória), mais espaço de bloqueio não será alocado. O pool de bloqueios dinâmico não adquire mais que 60 por cento da memória alocada para o Mecanismo de Banco de Dados. Depois que o pool de bloqueios atingiu 60 por cento da memória adquirida por uma instância do Mecanismo de Banco de Dados ou quando não houver mais memória disponível no computador as solicitações de bloqueios adicionais gerarão um erro.
Recomenda-se permitir que o SQL Server use bloqueios dinamicamente. No entanto, você pode definir bloqueios e substituir a capacidade do SQL Server de alocar recursos de bloqueio dinamicamente. Quando a opção bloqueios está definida com um valor diferente de 0, o Mecanismo de Banco de Dados não pode alocar mais bloqueios do que o valor especificado em bloqueios. Aumente esse valor se o SQL Server exibir uma mensagem de que você excedeu o número de bloqueios disponíveis. Como cada bloqueio consome memória (96 bytes por bloqueio), aumentar esse valor pode exigir o aumento da quantidade de memória dedicada para o servidor.
A opção bloqueios também é afetada quando ocorre escalonamento de bloqueio. Quando a opção bloqueios está definida como 0, o escalonamento de bloqueio ocorre quando a memória usada pelas estruturas de bloqueio atuais atingir 40 por cento do pool de memória do Mecanismo de Banco de Dados. Quando a opção bloqueios não está definida como 0, o escalonamento de bloqueio ocorre quando o número de bloqueios atinge 40 por cento do valor especificado para bloqueios.
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.
[Início]
Usando o SQL Server Management Studio
Para configurar a opção locks
No Pesquisador de Objetos, clique com o botão direito do mouse em um servidor e selecione Propriedades.
Clique no nó Avançado.
No item Paralelismo, digite o valor desejado para a opção locks.
Use a opção locks para definir o número máximo de bloqueios disponíveis, limitando a quantidade de memória que o SQL Server usa para eles.
[Início]
Usando Transact-SQL
Para configurar a opção locks
Conecte-se ao 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. Este exemplo mostra como usar sp_configure para definir o valor da opção locks para definir o número de bloqueios disponíveis para todos os usuários como 20000.
Use AdventureWorks2012 ;
GO
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'locks', 20000;
GO
RECONFIGURE;
GO
Para obter mais informações, consulte Opções de configuração de servidor.
[Início]
Acompanhamento: depois de configurar a opção locks
O servidor deve ser reiniciado para que a configuração entre em vigor.
[Início]