Compartilhar via


ALTER SERVER CONFIGURATION (Transact-SQL)

Modifica as definições da configuração global do servidor atual no SQL Server.

Aplica-se a: SQL Server (SQL Server 2008 R2 até a versão atual).

Ícone de vínculo de tópico Convenções da sintaxe Transact-SQL

Sintaxe

ALTER SERVER CONFIGURATION
SET <optionspec> 
[;]

<optionspec> ::=
{
     <process_affinity>
   | <diagnostic_log>
   | <failover_cluster_property>
   | <hadr_cluster_context>
   | <buffer_pool_extension>
}

<process_affinity> ::= 
   PROCESS AFFINITY 
   {
     CPU = { AUTO | <CPU_range_spec> } 
   | NUMANODE = <NUMA_node_range_spec> 
   }
   <CPU_range_spec> ::= 
      { CPU_ID | CPU_ID  TO CPU_ID } [ ,...n ] 

   <NUMA_node_range_spec> ::= 
      { NUMA_node_ID | NUMA_node_ID TO NUMA_node_ID } [ ,...n ]

<diagnostic_log> ::= 
   DIAGNOSTICS LOG 
   { 
     ON  
   | OFF  
   | PATH = { 'os_file_path' | DEFAULT }  
   | MAX_SIZE = { 'log_max_size' MB | DEFAULT }  
   | MAX_FILES = { 'max_file_count' | DEFAULT }  
   }

<failover_cluster_property> ::= 
   FAILOVER CLUSTER PROPERTY <resource_property>
   <resource_property> ::=
      {
        VerboseLogging = { 'logging_detail' | DEFAULT }  
      | SqlDumperDumpFlags = { 'dump_file_type' | DEFAULT }
      | SqlDumperDumpPath = { 'os_file_path'| DEFAULT }
      | SqlDumperDumpTimeOut = { 'dump_time-out' | DEFAULT }
      | FailureConditionLevel = { 'failure_condition_level' | DEFAULT }
      | HealthCheckTimeout = { 'health_check_time-out' | DEFAULT }
      }

<hadr_cluster_context> ::=
   HADR CLUSTER CONTEXT = { 'remote_windows_cluster' | LOCAL }

<buffer_pool_extension>::=
    BUFFER POOL EXTENSION 
    { ON ( FILENAME = 'os_file_path_and_name' , SIZE = <size_spec> ) 
    | OFF }

    <size_spec> ::=
        { size [ KB | MB | GB ] }

Argumentos

<process_affinity> ::=

  • PROCESS AFFINITY
    Permite que threads de hardware sejam associados a CPUs.

  • CPU = { AUTO | <CPU_range_spec> }
    Distribui threads de trabalho do SQL Server para cada CPU dentro do intervalo especificado. CPUs fora do intervalo especificado não terão threads atribuídos.

    • AUTO
      Especifica que nenhum thread está atribuído a uma CPU. O sistema operacional pode mover threads livremente entre CPUs com base na carga de trabalho do servidor. Essa é a configuração padrão e recomendada.

    • <CPU_range_spec> ::=
      Especifica a CPU ou o intervalo de CPUs ao qual atribuir threads.

    • { CPU_ID | CPU_ID TO CPU_ID } [ ,...n ]
      É a lista de uma ou mais CPUs. As IDs de CPUs começam com 0 e são valores integer.
  • NUMANODE = <NUMA_node_range_spec>
    Atribui threads a todas as CPUs que pertencem ao nó NUMA especificado ou ao intervalo de nós.

    • <NUMA_node_range_spec> ::=
      Especifica o nó NUMA ou o intervalo de nós NUMA.

    • { NUMA_node_ID | NUMA_node_ID TO NUMA_node_ID } [ ,...n ]
      É a lista de um ou mais nós NUMA. As IDs de nó NUMA começam com 0 e são valores integer.

<diagnostic_log> ::=

Aplica-se a: SQL Server 2012 a SQL Server 2014.

  • DIAGNOSTICS LOG
    Inicia ou interrompe o log de dados de diagnóstico capturados pelo procedimento sp_server_diagnostics e define os parâmetros de configuração do log SQLDIAG, como a contagem de substituições de arquivos, o tamanho do arquivo do log e o local do arquivo. Para obter mais informações, consulte Exibir e ler o log de diagnóstico da instância do cluster de failover.

  • ON
    Inicia o log de dados de diagnóstico do SQL Server no local especificado na opção de arquivo PATH. Este é o padrão.

  • OFF
    Interrompe o log de dados diagnóstico.

  • PATH = { 'os_file_path' | DEFAULT }
    Caminho que indica o local dos logs de diagnóstico. A localização padrão é <\MSSQL\Log> dentro da pasta de instalação da instância de cluster de failover do SQL Server.

  • MAX_SIZE = { 'log_max_size' MB | DEFAULT }
    Tamanho máximo em megabytes que o log de diagnóstico pode atingir. O padrão é 100 MB.

  • MAX_FILES = { 'max_file_count' | DEFAULT }
    Número máximo de arquivos de log de diagnóstico que podem ser armazenados no computador antes de serem reciclados para novos logs de diagnóstico.

<failover_cluster_property> ::=

Aplica-se a: SQL Server 2012 a SQL Server 2014.

  • FAILOVER CLUSTER PROPERTY
    Modifica as propriedades do cluster de failover privado de recursos do SQL Server.

  • VERBOSE LOGGING = { 'logging_detail' | DEFAULT }
    Define o nível do log do clustering de failover do SQL Server. Pode ser ativado para fornecer detalhes adicionais nos logs de erros para solução de problemas.

    • 0 – O log está desativado (padrão)

    • 1 – Apenas erros

    • 2 – Erros e avisos

  • SQLDUMPEREDUMPFLAGS
    Determina o tipo de arquivos de despejo gerados pelo utilitário SQLDumper do SQL Server. A configuração padrão é 0. Para obter mais informações, consulte o artigo da Base de Dados de Conhecimento do utilitário do SQL Server Dumper.

  • SQLDUMPERDUMPPATH = { 'os_file_path' | DEFAULT }
    O local onde o utilitário SQLDumper armazena os arquivos de despejo. Para obter mais informações, consulte o artigo da Base de Dados de Conhecimento do utilitário do SQL Server Dumper.

  • SQLDUMPERDUMPTIMEOUT = { 'dump_time-out' | DEFAULT }
    O valor do tempo limite em milissegundos para o utilitário SQLDumper gerar um despejo no caso de uma falha do SQL Server. O valor padrão é 0, o que indica que não há nenhum tempo limite para a conclusão do despejo. Para obter mais informações, consulte o artigo da Base de Dados de Conhecimento do utilitário do SQL Server Dumper.

  • FAILURECONDITIONLEVEL = { 'failure_condition_level' | DEFAULT }
    As condições sob as quais a instância do cluster de failover do SQL Server deve apresentar uma falha ou reiniciar. O valor padrão é 3, o que indica que o recurso do SQL Server apresentará failover ou reiniciará em erros críticos do servidor. Para obter mais informações sobre esse e outros níveis de condições de falha, consulte Definir as configurações da propriedade FailureConditionLevel.

  • HEALTHCHECKTIMEOUT = { 'health_check_time-out' | DEFAULT }
    O valor do tempo limite de quanto tempo a DLL de recursos do Mecanismo de Banco de Dados do SQL Server deve aguardar por informações de integridade do servidor antes de considerar a instância do SQL Server como sem resposta. O valor de tempo limite é expresso em milissegundos. O padrão é 60000 milissegundos (60 segundos).

<hadr_cluster_context> ::=

Aplica-se a: SQL Server 2012 a SQL Server 2014.

  • HADR CLUSTER CONTEXT = { 'remote_windows_cluster' | LOCAL }
    Alterna o contexto do cluster HADR da instância de servidor para o cluster especificado do Windows Server Failover Clustering (WSFC). O contexto do cluster HADR determina qual cluster WSFC (Windows Server Failover Clustering) gerencia os metadados das réplicas de disponibilidade hospedadas pela instância de servidor. Use a opção SET HADR CLUSTER CONTEXT somente durante uma migração entre clusters de Grupos de Disponibilidade AlwaysOn para uma instância do SQL Server 2012 SP1 ou versão posterior em um novo cluster WSFC.

    Só é possível alternar o contexto do cluster HADR do cluster WSFC local para um cluster remoto e, depois, do cluster remoto para o cluster local. O contexto do cluster HADR pode ser alternado para um cluster remoto somente quando a instância do SQL Server não está hospedando réplicas de disponibilidade.

    Um contexto do cluster HADR remoto pode ser alternado novamente para o cluster local a qualquer momento. Entretanto, o contexto não poderá ser alternado novamente enquanto a instância de servidor estiver hospedando réplicas de disponibilidade.

    Para identificar o cluster de destino, especifique um dos seguintes valores:

    • windows_cluster
      O CON (nome do objeto de cluster) de um cluster WSFC. Você pode especificar o nome curto ou o nome de domínio completo. Para localizar o endereço IP de destino de um nome curto, ALTER SERVER CONFIGURATION usa a resolução DNS. Em algumas situações, um nome curto pode causar confusão, e DNS pode retornar o endereço IP errado. Portanto, é recomendável especificar o nome de domínio completo.

    • LOCAL
      O cluster WSFC local.

    Para obter mais informações, consulte Alterar o contexto do cluster HADR da instância de servidor (SQL Server).

<buffer_pool_extension>::=

Aplica-se a: SQL Server 2014 a SQL Server 2014.

  • ON
    Habilita a opção de extensão do pool de buffers. Essa opção estende o tamanho do pool de buffers usando o armazenamento não volátil como unidades de estado sólido (SSD) para manter páginas de dados de limpeza no pool. Para obter mais informações sobre esse recurso, consulte Extensão do pool de buffers. A extensão do pool de buffers não está disponível em todas as edições do SQL Server. Para obter mais informações, consulte Recursos compatíveis com as edições do SQL Server 2014.

  • FILENAME = 'os_file_path_and_name'
    Define o caminho do diretório e o nome de arquivo do cache de extensão do pool de buffers. A extensão do arquivo deve ser especificada como .BPE. Desative BUFFER POOL EXTENSION antes que você possa alterar FILENAME.

  • SIZE = size [ KB | MB | GB ]
    Define o tamanho do cache. A especificação do tamanho padrão é KB. O tamanho mínimo é o tamanho da Memória Máxima do Servidor. O limite máximo é 32 vezes o tamanho de Memória Máxima do Servidor. Para obter mais informações sobre Memória Máxima do Servidor, consulte sp_configure (Transact-SQL).

    Desative BUFFER POOL EXTENSION antes que você possa alterar o tamanho do arquivo. Para especificar um tamanho que seja menor do que o tamanho atual, a instância do SQL Server deve ser reiniciada para recuperar a memória. Caso contrário, o tamanho especificado deve ser igual a ou maior que o tamanho atual.

  • OFF
    Desabilita a opção de extensão do pool de buffers. Você deve desabilitar a opção de extensão do pool de buffers antes de modificar quaisquer parâmetros associados, como o tamanho ou o nome do arquivo. Quando esta opção estiver desabilitada, todas as informações de configuração relacionadas serão removidas do Registro.

    Aviso

    A desabilitação da extensão do pool de buffers pode ter um impacto negativo no desempenho do servidor porque o tamanho do pool de buffers é significativamente reduzido.

Comentários gerais

Essa instrução não requer uma reinicialização do SQL Server. No caso de uma instância de cluster de failover do SQL Server, uma reinicialização do recurso de cluster do SQL Server não é necessária.

Limitações e restrições

Essa instrução não oferece suporte a gatilhos DDL.

Permissões

Requer as permissões ALTER SETTINGS para a opção de afinidade de processo. As permissões ALTER SETTINGS e VIEW SERVER STATE para o log diagnóstico e opções de propriedades do cluster de failover, além da permissão CONTROL SERVER para a opção de contexto do cluster HADR.

Requer a permissão ALTER SERVER STATE para a opção de extensão do pool de buffers.

A DLL de recurso do SQL Server Mecanismo de Banco de Dados é executada na conta Sistema Local. Portanto, a conta Sistema Local conta deve ter acesso de leitura e gravação para o caminho especificado na opção de Log de Diagnóstico.

Exemplos

Categoria

Elementos de sintaxe incluídos

Configurando a afinidade do processo

CPU • NUMANODE • AUTO

Configurando as opções do log de diagnóstico

ON • OFF • PATH • MAX_SIZE

Configurando as propriedades do cluster de failover

HealthCheckTimeout

Como alterar o contexto do cluster de uma réplica de disponibilidade

'windows_cluster'

Definindo a extensão do pool de buffers

BUFFER POOL EXTENSION

Configurando a afinidade do processo

Os exemplos desta seção mostram como definir a afinidade do processo para CPUs e nós NUMA. Os exemplos presumem que o servidor contém 256 CPUs que são organizadas em quatro grupos de 16 nós NUMA cada um. Não são atribuídos threads a nenhum nó NUMA ou CPU.

  • Grupo 0: nós NUMA 0 a 3, CPUs 0 a 63

  • Grupo 1: nós NUMA 4 a 7, CPUs 64 a 127

  • Grupo 2: nós NUMA 8 a 12, CPUs 128 a 191

  • Grupo 3: nós NUMA 13 a 16, CPUs 192 a 255

A.Configurando a afinidade para todas as CPUs nos grupos 0 e 2

O exemplo a seguir define afinidade para todas as CPUs nos grupos 0 e 2.

ALTER SERVER CONFIGURATION 
SET PROCESS AFFINITY CPU=0 TO 63, 128 TO 191;

B.Configurando a afinidade para todas as CPUs nos nós NUMA 0 e 7

O exemplo a seguir define a afinidade de CPU para nós 0 e 7.

ALTER SERVER CONFIGURATION 
SET PROCESS AFFINITY NUMANODE=0, 7;

C.Definindo a afinidade para as CPUs 60 a 200

O exemplo a seguir define a afinidade para as CPUs 60 a 200.

ALTER SERVER CONFIGURATION 
SET PROCESS AFFINITY CPU=60 TO 200;

D.Definindo a afinidade para a CPU 0 em um sistema que tem duas CPUs

O exemplo a seguir define a afinidade para CPU=0 em um computador que tem duas CPUs. Antes de a instrução seguinte ser executada, a máscara de bits de afinidade interna é 00.

ALTER SERVER CONFIGURATION SET PROCESS AFFINITY CPU=0;

E.Definindo a afinidade como AUTO

O exemplo a seguir define a afinidade como AUTO.

ALTER SERVER CONFIGURATION
SET PROCESS AFFINITY CPU=AUTO;

Configurando as opções do log de diagnóstico

Aplica-se a: SQL Server 2012 a SQL Server 2014.

Os exemplos desta seção mostram como definir os valores para a opção de log de diagnóstico.

A.Iniciando o log de diagnóstico

O exemplo a seguir inicia o log de dados de diagnóstico.

ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG ON;

B.Interrompendo o log de diagnóstico

O exemplo a seguir interrompe o log de dados de diagnóstico.

ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG OFF;

C.Especificando o local dos logs de diagnóstico.

O exemplo a seguir define o local dos logs de diagnósticos como o caminho do arquivo especificado.

ALTER SERVER CONFIGURATION
SET DIAGNOSTICS LOG PATH = 'C:\logs';

D.Especificando o tamanho máximo de cada log de diagnóstico

O exemplo a seguir define o tamanho máximo de cada log de diagnóstico como 10 megabytes.

ALTER SERVER CONFIGURATION 
SET DIAGNOSTICS LOG MAX_SIZE = 10 MB;

Configurando as propriedades do cluster de failover

Aplica-se a: SQL Server 2012 a SQL Server 2014.

O exemplo a seguir ilustra a configuração dos valores das propriedades do recurso de cluster de failover do SQL Server.

A.Especificando o valor da propriedade HealthCheckTimeout

O exemplo a seguir define a opção HealthCheckTimeout como 15.000 milissegundos (15 segundos).

ALTER SERVER CONFIGURATION 
SET FAILOVER CLUSTER PROPERTY HealthCheckTimeout = 15000;

B.Como alterar o contexto do cluster de uma réplica de disponibilidade

O exemplo a seguir altera o contexto do cluster HADR da instância do SQL Server. Para especificar o cluster WSFC de destino, clus01, o exemplo especifica o nome de objeto completo do cluster, clus01.xyz.com.

ALTER SERVER CONFIGURATION SET HADR CLUSTER CONTEXT = 'clus01.xyz.com';

Definindo opções de extensão do pool de buffers

A.Definindo a opção de extensão do pool de buffers

Aplica-se a: SQL Server 2014 a SQL Server 2014.

O exemplo a seguir habilita a opção de extensão do pool de buffers, e especifica um nome e um tamanho de arquivo.

ALTER SERVER CONFIGURATION 
SET BUFFER POOL EXTENSION ON
    (FILENAME = 'F:\SSDCACHE\Example.BPE', SIZE = 50 GB);

B.Modificando parâmetros da extensão do pool de buffers

O exemplo a seguir modifica o tamanho de um arquivo de extensão do pool de buffers. A opção de extensão do pool de buffers deve ser desabilitada antes que qualquer parâmetro seja modificado.

ALTER SERVER CONFIGURATION 
SET BUFFER POOL EXTENSION OFF;
GO
EXEC sp_configure 'max server memory (MB)', 12000;
GO
RECONFIGURE;
GO
ALTER SERVER CONFIGURATION
SET BUFFER POOL EXTENSION ON
    (FILENAME = 'F:\SSDCACHE\Example.BPE', SIZE = 60 GB);
GO

Consulte também

Tarefas

Configurar o SQL Server para usar o NUMA de software (SQL Server)

Referência

sys.dm_os_schedulers (Transact-SQL)

sys.dm_os_memory_nodes (Transact-SQL)

sys.dm_os_buffer_pool_extension_configuration (Transact-SQL)

Conceitos

Alterar o contexto do cluster HADR da instância de servidor (SQL Server)

Extensão do pool de buffers