Dela via


sys.dm_os_sys_info (Transact-SQL)

gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Returnerar en diverse uppsättning användbar information om datorn och om de resurser som är tillgängliga för och förbrukas av SQL Server.

Anmärkning

Om du vill anropa detta från Azure Synapse Analytics eller Analytics Platform System (PDW) använder du namnet sys.dm_pdw_nodes_os_sys_info. Den här syntaxen stöds inte av en serverlös SQL-pool i Azure Synapse Analytics.

Kolumnnamn Datatyp Beskrivning och versionsspecifika anteckningar
cpu_ticks bigint Anger det aktuella antalet CPU-kontroller. CPU-fästingar hämtas från processorns RDTSC-räknare. Det är ett monotont ökande antal. Inte nullbar.
ms_ticks bigint Anger antalet millisekunder sedan datorn startades. Inte nullbar.
cpu_count int Anger antalet logiska processorer i systemet. Inte nullbar.

I Azure SQL Database kan den här kolumnen returnera antalet logiska processorer på datorn som är värd för databasen eller den elastiska poolen. Om du vill fastställa antalet logiska processorer som är tillgängliga för databasen eller den elastiska poolen använder du cpu_limit kolumnen i sys.dm_user_db_resource_governance.
hyperthread_ratio int Anger förhållandet mellan antalet logiska eller fysiska kärnor som exponeras av ett fysiskt processorpaket. Inte nullbar.
physical_memory_in_bytes bigint Gäller för: SQL Server 2008 (10.0.x) och SQL Server 2008 R2 (10.50.x).

Anger den totala mängden fysiskt minne på datorn. Inte nullbar.
physical_memory_kb bigint Gäller för: SQL Server 2012 (11.x) och senare versioner.

Anger den totala mängden fysiskt minne på datorn. Inte nullbar.

I Azure SQL Database returnerar den här kolumnen den totala mängden fysiskt minne på datorn som är värd för databasen eller den elastiska poolen. Om du vill fastställa hur mycket fysiskt minne som är tillgängligt för databasen eller den elastiska poolen använder du process_memory_limit_mb kolumnen i sys.dm_os_job_object.
virtual_memory_in_bytes bigint Gäller för: SQL Server 2008 (10.0.x) och SQL Server 2008 R2 (10.50.x).

Mängden virtuellt minne som är tillgängligt för processen i användarläge. Det här värdet kan användas för att avgöra om SQL Server startades med en 3 GB-växel.
virtual_memory_kb bigint Gäller för: SQL Server 2012 (11.x) och senare versioner.

Anger den totala mängden virtuellt adressutrymme som är tillgängligt för processen i användarläge. Inte nullbar.
bpool_committed int Gäller för: SQL Server 2008 (10.0.x) och SQL Server 2008 R2 (10.50.x).

Representerar det incheckade minnet i kilobyte (KB) i minneshanteraren. Inkluderar inte reserverat minne i minneshanteraren. Inte nullbar.
committed_kb bigint Gäller för: SQL Server 2012 (11.x) och senare versioner.

Representerar det incheckade minnet i kilobyte (KB) i minneshanteraren. Inkluderar inte reserverat minne i minneshanteraren. Inte nullbar.
bpool_commit_target int Gäller för: SQL Server 2008 (10.0.x) och SQL Server 2008 R2 (10.50.x).

Representerar mängden minne i kilobyte (KB) som kan förbrukas av SQL Server-minneshanteraren.
committed_target_kb bigint Gäller för: SQL Server 2012 (11.x) och senare versioner.

Representerar mängden minne i kilobyte (KB) som kan förbrukas av SQL Server-minneshanteraren. Målbeloppet beräknas med hjälp av flera indata som:

– systemets aktuella tillstånd, inklusive dess belastning
– det minne som begärs av aktuella processer
– mängden minne som installerats på datorn
-Konfigurationsparametrar

Om committed_target_kb är större än committed_kbförsöker minneshanteraren hämta mer minne. Om committed_target_kb är mindre än committed_kbförsöker minneshanteraren minska mängden minne som har checkats in. Den committed_target_kb innehåller alltid stulet och reserverat minne. Inte nullbar.
bpool_visible int Gäller för: SQL Server 2008 (10.0.x) och SQL Server 2008 R2 (10.50.x).

Antal buffertar på 8 KB i buffertpoolen som är direkt åtkomliga i processens virtuella adressutrymme. När du inte använder AWE (Address Windowing Extensions) när buffertpoolen hämtar sitt minnesmål (bpool_committed = bpool_commit_target) är värdet bpool_visible för lika med värdet bpool_committedför . När du använder AWE på en 32-bitarsversion av SQL Server representerar bpool_visible storleken på det AWE-mappningsfönster som används för att komma åt fysiskt minne som allokeras av buffertpoolen. Storleken på det här mappningsfönstret är bundet av processadressutrymmet, så den synliga mängden är mindre än det incheckade beloppet. Det här värdet kan minskas ytterligare av interna komponenter som förbrukar minne, i andra syften än databassidor. Om värdet bpool_visible för är för lågt kan du få minnesfel.
visible_target_kb bigint Gäller för: SQL Server 2012 (11.x) och senare versioner.

Är samma som committed_target_kb. Inte nullbar.
stack_size_in_bytes int Anger storleken på anropsstacken för varje tråd som skapats av SQL Server. Inte nullbar.
os_quantum bigint Representerar Quantum för en icke-förebyggande uppgift, mätt i millisekunder. Kvant (i sekunder) = os_quantum /CPU-klockhastighet. Inte nullbar.
os_error_mode int Anger felläget för SQL Server-processen. Inte nullbar.
os_priority_class int Anger prioritetsklassen för SQL Server-processen. Nullable.

32 = Normal. Felloggen säger att SQL Server startar vid normal prioritetsbas (7).
128 = Hög. Felloggen säger att SQL Server körs på högprioriterasbas (13).

Mer information finns i Konfigurera prioritetsökning (alternativ för serverkonfiguration).
max_workers_count int Representerar det maximala antalet arbetare som kan skapas. Inte nullbar.
scheduler_count int Representerar antalet användarschemaläggare som konfigurerats i SQL Server-processen. Inte nullbar.
scheduler_total_count int Representerar det totala antalet schemaläggare i SQL Server. Inte nullbar.
deadlock_monitor_serial_number int Anger ID för den aktuella ordningsföljden för dödlägesövervakaren. Inte nullbar.
sqlserver_start_time_ms_ticks bigint Representerar talet ms_tick när SQL Server senast startade. Jämför med den aktuella ms_ticks kolumnen. Inte nullbar.
sqlserver_start_time datetime Anger det lokala systemets datum och tid som SQL Server senast startade. Inte nullbar.

Information i många andra SQL Server DMV:er innehåller bara aktivitet sedan den senaste starten av databasmotorn. Använd den här kolumnen för att hitta den senaste starttiden för SQL Server Database Engine.
affinity_type int Gäller för: SQL Server 2008 R2 (10.50.x) och senare versioner.

Anger vilken typ av server cpu-processtillhörighet som för närvarande används. Inte nullbar. Mer information finns i ALTER SERVER CONFIGURATION (Transact-SQL).

1 = MANUAL
2 = AUTO
affinity_type_desc nvarchar(60) Gäller för: SQL Server 2008 R2 (10.50.x) och senare versioner.

Beskriver affinity_type kolumnen. Inte nullbar.

MANUAL = tillhörigheten har angetts för minst en PROCESSOR.
AUTO = SQL Server kan fritt flytta trådar mellan processorer.
process_kernel_time_ms bigint Gäller för: SQL Server 2008 R2 (10.50.x) och senare versioner.

Total tid i millisekunder som används av alla SQL Server-trådar i kernelläge. Det här värdet kan vara större än en enda processorklocka eftersom det inkluderar tiden för alla processorer på servern. Inte nullbar.
process_user_time_ms bigint Gäller för: SQL Server 2008 R2 (10.50.x) och senare versioner.

Total tid i millisekunder som används av alla SQL Server-trådar i användarläge. Det här värdet kan vara större än en enda processorklocka eftersom det inkluderar tiden för alla processorer på servern. Inte nullbar.
time_source int Gäller för: SQL Server 2008 R2 (10.50.x) och senare versioner.

Anger det API som SQL Server använder för att hämta klocktid på väggen. Inte nullbar.

0 = QUERY_PERFORMANCE_COUNTER
1 = MULTIMEDIA_TIMER
time_source_desc nvarchar(60) Gäller för: SQL Server 2008 R2 (10.50.x) och senare versioner.

Beskriver time_source kolumnen. Inte nullbar.

QUERY_PERFORMANCE_COUNTER = API:et QueryPerformanceCounter hämtar klocktiden på väggen.
MULTIMEDIA_TIMER = Multimedietimer-API:et som hämtar klocktiden på väggen.
virtual_machine_type int Gäller för: SQL Server 2008 R2 (10.50.x) och senare versioner.

Anger om SQL Server körs i en virtualiserad miljö. Inte nullbar.

0 = NONE
1 = HYPERVISOR
2 = OTHER
virtual_machine_type_desc nvarchar(60) Gäller för: SQL Server 2008 R2 (10.50.x) och senare versioner.

Beskriver virtual_machine_type kolumnen. Inte nullbar.

NONE = SQL Server körs inte på en virtuell dator.
HYPERVISOR = SQL Server körs i en virtuell dator som hanteras av ett operativsystem som kör hypervisor (ett värdoperativsystem som använder maskinvaruassisterad virtualisering).
OTHER = SQL Server körs i en virtuell dator som hanteras av ett operativsystem som inte använder maskinvaruassistenten, till exempel Microsoft Virtual PC.
softnuma_configuration int gäller för: SQL Server 2016 (13.x) och senare versioner.

Anger hur NUMA-noder konfigureras. Inte nullbar.

0 = OFF anger maskinvarustandard
1 = Automatiserad soft-NUMA
2 = Manuell soft-NUMA via registret
softnuma_configuration_desc nvarchar(60) gäller för: SQL Server 2016 (13.x) och senare versioner.

OFF = Soft-NUMA funktionen är inaktiverad
ON = SQL Server avgör automatiskt NUMA-nodstorlekarna för Soft-NUMA
MANUAL = Manuellt konfigurerad soft-NUMA
process_physical_affinity nvarchar(3072) Gäller för: Börjar med SQL Server 2017 (14.x).

Identifieras endast i informationssyfte. Stöds inte. Framtida kompatibilitet garanteras inte.
sql_memory_model int Gäller för: SQL Server 2012 (11.x) SP4, SQL Server 2016 (13.x) SP1 och senare versioner.

Anger den minnesmodell som används av SQL Server för att allokera minne. Inte nullbar.

1 = Konventionell minnesmodell
2 = Lås sidor i minnet
3 = Stora sidor i minnet
sql_memory_model_desc nvarchar(60) Gäller för: SQL Server 2012 (11.x) SP4, SQL Server 2016 (13.x) SP1 och senare versioner.

Anger den minnesmodell som används av SQL Server för att allokera minne. Inte nullbar.

CONVENTIONAL = SQL Server använder modellen för konventionellt minne för att allokera minne. Det här är standarddatabasmotorns minnesmodell när SQL Server-tjänstkontot inte har behörigheten Lås sidor i minnet under starten.
LOCK_PAGES = SQL Server använder Lås sidor i minnet för att allokera minne. Detta är standardhanteraren för databasmotorns minne när SQL Server-tjänstkontot har behörigheten "Lås sidor i minnet" under SQL Server-start.
LARGE_PAGES = SQL Server använder stora sidor i minnet för att allokera minne. SQL Server använder allokeraren Stora sidor för att endast allokera minne med Enterprise Edition när SQL Server-tjänstkontot har behörigheten "Lås sidor i minnet" under serverstarten och när spårningsflagga 834 är aktiverad.
pdw_node_id int Gäller för: Azure Synapse Analytics, Analytics Platform System (PDW)

Identifieraren för noden som den här fördelningen är på.
socket_count int Gäller för: SQL Server 2016 (13.x) SP2 och senare versioner.

Anger antalet tillgängliga processor sockets i systemet.
cores_per_socket int Gäller för: SQL Server 2016 (13.x) SP2 och senare versioner.

Anger antalet processorer per socket som är tillgängligt i systemet.
numa_node_count int Gäller för: SQL Server 2016 (13.x) SP2 och senare versioner.

Anger antalet NUMA-noder som är tillgängliga i systemet. Den här kolumnen innehåller fysiska NUMA-noder och mjuka NUMA-noder.
container_type int Gäller för: SQL Server 2017 (14.x) och senare versioner.

Anger vilken typ av container SQL Server körs inuti. Inte nullbar.

0 (standard) = NONE
1 = LINUX CONTAINER
2 = WINDOWS SERVER CONTAINER
3 = HYPER-V CONTAINER
container_type_desc nvarchar(60) Gäller för: SQL Server 2017 (14.x) och senare versioner.

Beskriver container_type kolumnen. Inte nullbar.

NONE = SQL Server körs inte i en container.
LINUX CONTAINER = SQL Server körs i en Linux-container.
WINDOWS SERVER CONTAINER = SQL Server körs i en Windows Server-container.
HYPER-V CONTAINER = SQL Server körs i en Hyper-V container.

Permissions

På SQL Server 2019 (15.x) och tidigare versioner och SQL Managed Instance behöver VIEW SERVER STATE du behörighet.

På SQL Server 2022 (16.x) och senare versioner behöver VIEW SERVER PERFORMANCE STATE du behörighet på servern.

I tjänstmålen för Azure SQL Database Basic, S0 och S1 och för databaser i elastiska pooler krävs serveradministratörskontot, Microsoft Entra-administratörskontot eller medlemskap i ##MS_ServerStateReader##. För alla andra SQL Database-tjänstmål krävs antingen VIEW DATABASE STATE behörighet för databasen eller medlemskap i ##MS_ServerStateReader## serverrollen.