Partilhar via


sys.dm_os_sys_info (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada SQL do Azure do Azure Synapse AnalyticsAnalytics Platform System (PDW)

Retorna um conjunto diverso 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 Analytics Platform System (PDW), use o nome sys.dm_pdw_nodes_os_sys_info. Essa sintaxe não é suportada pelo pool 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 da CPU atual. Os ticks da CPU são obtidos do contador RDTSC do processador. É um número monotonicamente crescente. Não anulável.
ms_ticks bigint Especifica o número de milissegundos desde que o computador foi iniciado. Não anulável.
cpu_count int Especifica o número de CPUs lógicas no sistema. Não anulável.

No Banco de Dados SQL do Azure, essa coluna pode retornar o número de CPUs lógicas na máquina 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 proporção do número de núcleos lógicos ou físicos expostos por um pacote de processador físico. Não anulável.
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 na máquina. Não anulável.
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 na máquina. Não anulável.

No Banco de Dados SQL do Azure, essa coluna retorna a quantidade total de memória física na máquina que hospeda o banco de dados ou 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 para o processo no 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 total de espaço de endereço virtual disponível para o processo no modo de usuário. Não anulável.
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 kilobytes (KB) no gerenciador de memória. Não inclui memória reservada no gerenciador de memória. Não anulável.
committed_kb bigint Aplica-se a: SQL Server 2012 (11.x) e versões posteriores.

Representa a memória confirmada em kilobytes (KB) no gerenciador de memória. Não inclui memória reservada no gerenciador de memória. Não anulável.
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 kilobytes (KB), 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 kilobytes (KB), 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 a 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_kbo , o gerenciador de memória tenta obter mais memória. Se committed_target_kb for menor que committed_kb, o gerenciador de memória tenta reduzir a quantidade de memória comprometida. O committed_target_kb sempre inclui memória roubada e reservada. Não anulável.
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 são diretamente acessíveis no espaço de endereçamento virtual do processo. Quando não estiver usando as extensões de janela de endereço (AWE), quando o pool de buffers obtém seu destino de memória (bpool_committed = bpool_commit_target), o valor de é igual ao valor de bpool_visiblebpool_committed. Ao usar o AWE em uma versão de 32 bits do SQL Server, bpool_visible representa o tamanho da janela de mapeamento do 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çamento do processo e, portanto, a quantidade visível é menor do que a quantidade comprometida. Esse valor pode ser ainda mais reduzido por componentes internos que consomem memória, para fins diferentes das páginas do banco de dados. Se o valor de for muito baixo, você pode receber erros de falta de bpool_visible memória.
visible_target_kb bigint Aplica-se a: SQL Server 2012 (11.x) e versões posteriores.

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

32 = Normal. O log de erros diz que o SQL Server está começando 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 impulso de prioridade (opção de configuração do servidor).
max_workers_count int Representa o número máximo de trabalhadores que podem ser criados. Não anulável.
scheduler_count int Representa o número de agendadores de usuário configurados no processo do SQL Server. Não anulável.
scheduler_total_count int Representa o número total de agendadores no SQL Server. Não anulável.
deadlock_monitor_serial_number int Especifica a ID da sequência atual do monitor de deadlock. Não anulável.
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 anulável.
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 anulável.

As informações em muitos outros 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 de processo da CPU do servidor atualmente em uso. Não anulável. 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 anulável.

MANUAL = afinidade foi definida para pelo menos uma CPU.
AUTO = O 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 do que um único clock de processador porque inclui o tempo para todos os processadores no servidor. Não anulável.
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 do que um único clock de processador porque inclui o tempo para todos os processadores no servidor. Não anulável.
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 anulável.

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 anulável.

QUERY_PERFORMANCE_COUNTER = a API QueryPerformanceCounter recupera o tempo 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 anulável.

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 anulável.

NONE = O SQL Server não está sendo executado dentro de uma máquina virtual.
HYPERVISOR = O 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 = O 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 anulável.

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 = Soft-NUMA recurso está desativado
ON = O SQL Server determina automaticamente os tamanhos dos nós NUMA para Soft-NUMA
MANUAL = Soft-NUMA configurado manualmente
process_physical_affinity Nvarchar(3072) Aplica-se a: Começando com o SQL Server 2017 (14.x).

Identificado apenas para fins informativos. Não suportado. A compatibilidade futura não é 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 anulável.

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 anulável.

CONVENTIONAL = O 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 = O SQL Server está usando Bloquear Páginas na Memória para alocar memória. Este é 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 = O 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, Sistema de Plataforma de Análise (PDW)

O identificador do nó em que esta distribuição se encontra.
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 suaves.
container_type int Aplica-se a: SQL Server 2017 (14.x) e versões posteriores.

Especifica o tipo de contêiner no qual o SQL Server está sendo executado. Não anulável.

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 anulável.

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

Permissions

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

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

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