Partilhar via


sys.dm_os_sys_info (Transact-SQL)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)

Retorna um conjunto variado de informações úteis sobre o computador e sobre os recursos disponíveis e consumidos pelo SQL Server.

Observação

Para chamar isso do Azure Synapse Analytics ou do PDW (Analytics Platform System), use o nome sys.dm_pdw_nodes_os_sys_info. Não há suporte a essa sintaxe para o pool de SQL sem servidor no Azure Synapse Analytics.

Nome da coluna Tipo de dados Descrição e notas específicas da versão
cpu_ticks bigint Especifica a contagem de verificação de CPU atual. Os tiques da CPU são obtidos do contador RDTSC do processador. É um número monotonicamente crescente. Não permite valor nulo.
ms_ticks bigint Especifica o número de milissegundos desde que o computador foi iniciado. Não permite valor nulo.
cpu_count int Especifica o número de CPUs lógicas no sistema. Não permite valor nulo.

No Banco de Dados SQL do Azure, essa coluna pode retornar o número de CPUs lógicas no computador que hospeda o banco de dados ou o pool elástico. Para determinar o número de CPUs lógicas disponíveis para o banco de dados ou pool elástico, use a cpu_limit coluna em sys.dm_user_db_resource_governance.
hyperthread_ratio int Especifica a taxa do número de cores lógicas ou físicas que são expostas por um pacote de processador físico. Não permite valor nulo.
physical_memory_in_bytes bigint Aplica-se a: SQL Server 2008 (10.0.x) e SQL Server 2008 R2 (10.50.x).

Especifica a quantidade total de memória física no computador. Não permite valor nulo.
physical_memory_kb bigint Aplica-se a: SQL Server 2012 (11.x) e versões posteriores.

Especifica a quantidade total de memória física no computador. Não permite valor nulo.

No Banco de Dados SQL do Azure, essa coluna retorna a quantidade total de memória física no computador que hospeda o banco de dados ou o pool elástico. Para determinar a quantidade de memória física disponível para o banco de dados ou pool elástico, use a process_memory_limit_mb coluna em sys.dm_os_job_object.
virtual_memory_in_bytes bigint Aplica-se a: SQL Server 2008 (10.0.x) e SQL Server 2008 R2 (10.50.x).

Quantidade de memória virtual disponível ao processo em modo de usuário. Esse valor pode ser usado para determinar se o SQL Server foi iniciado usando uma opção de 3 GB.
virtual_memory_kb bigint Aplica-se a: SQL Server 2012 (11.x) e versões posteriores.

Especifica a quantidade de espaço de endereço virtual disponível ao processo em modo de usuário. Não permite valor nulo.
bpool_committed int Aplica-se a: SQL Server 2008 (10.0.x) e SQL Server 2008 R2 (10.50.x).

Representa a memória confirmada em KB (quilobytes) no gerenciador de memória. Não inclui memória reservada no gerenciador de memória. Não permite valor nulo.
committed_kb bigint Aplica-se a: SQL Server 2012 (11.x) e versões posteriores.

Representa a memória confirmada em KB (quilobytes) no gerenciador de memória. Não inclui memória reservada no gerenciador de memória. Não permite valor nulo.
bpool_commit_target int Aplica-se a: SQL Server 2008 (10.0.x) e SQL Server 2008 R2 (10.50.x).

Representa a quantidade de memória, em KB (quilobytes), que pode ser consumida pelo gerenciador de memória do SQL Server.
committed_target_kb bigint Aplica-se a: SQL Server 2012 (11.x) e versões posteriores.

Representa a quantidade de memória, em KB (quilobytes), que pode ser consumida pelo gerenciador de memória do SQL Server. O valor alvo é calculado usando várias entradas, como:

- o estado atual do sistema, incluindo sua carga
- a memória solicitada pelos processos atuais
- a quantidade de memória instalada no computador
- Parâmetros de configuração

Se committed_target_kb for maior que committed_kb, o gerenciador de memória tentará obter mais memória. Se committed_target_kb for menor que committed_kb, o gerenciador de memória tentará reduzir a quantidade de memória confirmada. O committed_target_kb sempre inclui memória roubada e reservada. Não permite valor nulo.
bpool_visible int Aplica-se a: SQL Server 2008 (10.0.x) e SQL Server 2008 R2 (10.50.x).

Número de buffers de 8 KB no pool de buffers que é diretamente acessível no espaço do endereço virtual do processo. Quando não estiver usando as Extensões de Janela de Endereço (AWE), quando o buffer pool obtém seu destino de memória (bpool_committed = bpool_commit_target), o valor de bpool_visible é igual ao valor de bpool_committed. Ao usar o AWE em uma versão de 32 bits do SQL Server, bpool_visible representa o tamanho da janela de mapeamento AWE usada para acessar a memória física alocada pelo pool de buffers. O tamanho dessa janela de mapeamento é limitado pelo espaço de endereço do processo e, portanto, a quantidade visível é menor que a quantidade confirmada. Esse valor pode ser reduzido ainda mais por componentes internos que consomem memória, para outros fins que não sejam páginas de banco de dados. Se o valor de bpool_visible for muito baixo, você poderá receber erros de memória insuficiente.
visible_target_kb bigint Aplica-se a: SQL Server 2012 (11.x) e versões posteriores.

É o mesmo que committed_target_kb. Não permite valor nulo.
stack_size_in_bytes int Especifica o tamanho da pilha de chamadas para cada thread criado pelo SQL Server. Não permite valor nulo.
os_quantum bigint Representa o Quantum para uma tarefa não preemptiva, medido em milissegundos. Quantum (em segundos) = os_quantum / velocidade do clock da CPU. Não permite valor nulo.
os_error_mode int Especifica o modo de erro para o processo do SQL Server. Não permite valor nulo.
os_priority_class int Especifica a classe de prioridade para o processo do SQL Server. Anulável.

32 = Normal. O log de erros diz que o SQL Server está iniciando na base de prioridade normal (7).
128 = Alto. O log de erros diz que o SQL Server está sendo executado na base de alta prioridade (13).

Para obter mais informações, consulte Configurar o aumento de prioridade (opção de configuração do servidor).
max_workers_count int Representa o número máximo de operadores que podem ser criados. Não permite valor nulo.
scheduler_count int Representa o número de agendadores de usuário configurados no processo do SQL Server. Não permite valor nulo.
scheduler_total_count int Representa o número total de agendadores no SQL Server. Não permite valor nulo.
deadlock_monitor_serial_number int Especifica a ID da sequência do monitor de deadlock atual. Não permite valor nulo.
sqlserver_start_time_ms_ticks bigint Representa o número quando o ms_tick SQL Server foi iniciado pela última vez. Compare com a coluna atual ms_ticks . Não permite valor nulo.
sqlserver_start_time datetime Especifica a data e a hora do sistema local em que o SQL Server foi iniciado pela última vez. Não permite valor nulo.

As informações em muitas outras DMVs do SQL Server incluem apenas a atividade desde a última inicialização do mecanismo de banco de dados. Use esta coluna para localizar a última hora de inicialização do Mecanismo de Banco de Dados do SQL Server.
affinity_type int Aplica-se a: SQL Server 2008 R2 (10.50.x) e versões posteriores.

Especifica o tipo de afinidade do processo da CPU do servidor em uso atualmente. Não permite valor nulo. Para obter mais informações, consulte ALTER SERVER CONFIGURATION (Transact-SQL).

1 = MANUAL
2 = AUTO
affinity_type_desc nvarchar(60) Aplica-se a: SQL Server 2008 R2 (10.50.x) e versões posteriores.

Descreve a affinity_type coluna. Não permite valor nulo.

MANUAL = affinity foi definido para pelo menos uma CPU.
AUTO = SQL Server pode mover threads livremente entre CPUs.
process_kernel_time_ms bigint Aplica-se a: SQL Server 2008 R2 (10.50.x) e versões posteriores.

Tempo total em milissegundos gasto por todos os threads do SQL Server no modo kernel. Esse valor pode ser maior que um único relógio de processador porque inclui o tempo de todos os processadores no servidor. Não permite valor nulo.
process_user_time_ms bigint Aplica-se a: SQL Server 2008 R2 (10.50.x) e versões posteriores.

Tempo total em milissegundos gasto por todos os threads do SQL Server no modo de usuário. Esse valor pode ser maior que um único relógio de processador porque inclui o tempo de todos os processadores no servidor. Não permite valor nulo.
time_source int Aplica-se a: SQL Server 2008 R2 (10.50.x) e versões posteriores.

Indica a API que o SQL Server está usando para recuperar a hora do relógio de parede. Não permite valor nulo.

0 = QUERY_PERFORMANCE_COUNTER
1 = MULTIMEDIA_TIMER
time_source_desc nvarchar(60) Aplica-se a: SQL Server 2008 R2 (10.50.x) e versões posteriores.

Descreve a time_source coluna. Não permite valor nulo.

QUERY_PERFORMANCE_COUNTER= a API QueryPerformanceCounter recupera a hora do relógio de parede.
MULTIMEDIA_TIMER = A API do temporizador multimídia que recupera a hora do relógio de parede.
virtual_machine_type int Aplica-se a: SQL Server 2008 R2 (10.50.x) e versões posteriores.

Indica se o SQL Server está sendo executado em um ambiente virtualizado. Não permite valor nulo.

0 = NONE
1 = HYPERVISOR
2 = OTHER
virtual_machine_type_desc nvarchar(60) Aplica-se a: SQL Server 2008 R2 (10.50.x) e versões posteriores.

Descreve a virtual_machine_type coluna. Não permite valor nulo.

NONE = SQL Server não está em execução dentro de uma máquina virtual.
HYPERVISOR = SQL Server está sendo executado dentro de uma máquina virtual hospedada por um sistema operacional que executa o hipervisor (um sistema operacional host que emprega virtualização assistida por hardware).
OTHER = SQL Server está sendo executado dentro de uma máquina virtual hospedada por um sistema operacional que não emprega assistente de hardware, como o Microsoft Virtual PC.
softnuma_configuration int Aplica-se a: SQL Server 2016 (13.x) e versões posteriores.

Especifica a maneira como os nós NUMA são configurados. Não permite valor nulo.

0 = OFF indica padrão de hardware
1 = Soft-NUMA automatizado
2 = Manual soft-NUMA via registro
softnuma_configuration_desc nvarchar(60) Aplica-se a: SQL Server 2016 (13.x) e versões posteriores.

OFF = O recurso Soft-NUMA está desativado
ON = SQL Server determina automaticamente os tamanhos de nó NUMA para Soft-NUMA
MANUAL = Software NUMA configurado manualmente
process_physical_affinity Nvarchar(3072) Aplica-se a: a partir do SQL Server 2017 (14.x).

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.
sql_memory_model int Aplica-se a: SQL Server 2012 (11.x) SP4, SQL Server 2016 (13.x) SP1 e versões posteriores.

Especifica o modelo de memória usado pelo SQL Server para alocar memória. Não permite valor nulo.

1 = Modelo de memória convencional
2 = Bloquear páginas na memória
3 = Páginas grandes na memória
sql_memory_model_desc nvarchar(60) Aplica-se a: SQL Server 2012 (11.x) SP4, SQL Server 2016 (13.x) SP1 e versões posteriores.

Especifica o modelo de memória usado pelo SQL Server para alocar memória. Não permite valor nulo.

CONVENTIONAL = SQL Server está usando o modelo de memória convencional para alocar memória. Esse é o modelo de memória padrão do Mecanismo de Banco de Dados quando a conta de serviço do SQL Server não tem privilégios de Bloquear Páginas na Memória durante a inicialização.
LOCK_PAGES = SQL Server está usando Bloquear Páginas na Memória para alocar memória. Esse é o gerenciador de memória padrão do Mecanismo de Banco de Dados quando a conta de serviço do SQL Server tem o privilégio "Bloquear páginas na memória" durante a inicialização do SQL Server.
LARGE_PAGES = SQL Server está usando Páginas Grandes na Memória para alocar memória. O SQL Server usa o alocador de Páginas Grandes para alocar memória somente com a edição Enterprise quando a conta de serviço do SQL Server tem o privilégio "Bloquear páginas na memória" durante a inicialização do servidor e quando o sinalizador de rastreamento 834 está ativado.
pdw_node_id int Aplica-se a: Azure Synapse Analytics, Analytics Platform System (PDW)

O identificador do nó em que essa distribuição está ativada.
socket_count int Aplica-se a: SQL Server 2016 (13.x) SP2 e versões posteriores.

Especifica o número de soquetes de processador disponíveis no sistema.
cores_per_socket int Aplica-se a: SQL Server 2016 (13.x) SP2 e versões posteriores.

Especifica o número de processadores por soquete disponíveis no sistema.
numa_node_count int Aplica-se a: SQL Server 2016 (13.x) SP2 e versões posteriores.

Especifica o número de nós NUMA disponíveis no sistema. Esta coluna inclui nós NUMA físicos e nós NUMA flexíveis.
container_type int Aplica-se a: SQL Server 2017 (14.x) e versões posteriores.

Especifica o tipo de contêiner em que o SQL Server está sendo executado. Não permite valor nulo.

0 (padrão) = NONE
1 = LINUX CONTAINER
2 = WINDOWS SERVER CONTAINER
3 = HYPER-V CONTAINER
container_type_desc nvarchar(60) Aplica-se a: SQL Server 2017 (14.x) e versões posteriores.

Descreve a container_type coluna. Não permite valor nulo.

NONE = SQL Server não está em execução em um contêiner.
LINUX CONTAINER = SQL Server está em execução em um contêiner do Linux.
WINDOWS SERVER CONTAINER = SQL Server está em execução em um contêiner do Windows Server.
HYPER-V CONTAINER = SQL Server está em execução em um contêiner Hyper-V.

Permissões

No SQL Server 2019 (15.x) e versões anteriores e na Instância Gerenciada de SQL, você precisa de VIEW SERVER STATE permissão.

No SQL Server 2022 (16.x) e versões posteriores, você precisa de permissão VIEW SERVER PERFORMANCE STATE no servidor.

Nos objetivos de serviço Básico, S0 e S1 do Banco de Dados SQL do Azure e para bancos de dados em pools elásticos, a conta de administrador do servidor, a conta de administrador do Microsoft Entra ou a associação na função de ##MS_ServerStateReader## servidor é necessária. Em todos os outros objetivos de serviço do Banco de Dados SQL, a permissão VIEW DATABASE STATE no banco de dados ou a associação à função de servidor ##MS_ServerStateReader## são necessárias.