sys.dm_os_sys_info (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Gibt eine Reihe nützlicher Informationen über den Computer und über die ressourcen zurück, die von SQL Server zur Verfügung stehen und genutzt werden.

Hinweis

Um dies von Azure Synapse Analytics oder Analytics Platform System (PDW) aufzurufen, verwenden Sie den Namen sys.dm_pdw_nodes_os_sys_info. Diese Syntax wird vom serverlosen SQL-Pool in Azure Synapse Analytics nicht unterstützt.

Spaltenname Datentyp Beschreibung und versionsspezifische Hinweise
cpu_ticks bigint Gibt die aktuelle CPU-Taktanzahl an. Die CPU-Takte stammen vom RDTSC-Leistungsindikator des Prozessors. Es handelt sich um eine monoton steigende Zahl. Lässt keine NULL-Werte zu.
ms_ticks bigint Gibt die Anzahl der Millisekunden seit dem Starten des Computers an. Lässt keine NULL-Werte zu.
cpu_count int Gibt die Anzahl der logischen CPUs im System an. Lässt keine NULL-Werte zu.

In Azure SQL-Datenbank kann die Anzahl der logischen CPUs auf dem Computer zurückgegeben werden, auf dem die Datenbank oder der elastische Pool gehostet wird. Um die Anzahl der logischen CPUs zu ermitteln, die für die Datenbank oder den elastischen Pool verfügbar sind, verwenden Sie die cpu_limit Spalte in sys.dm_user_db_resource_governance.
hyperthread_ratio int Gibt das Verhältnis der Anzahl von logischen oder physischen Kernen an, die von einem physischen Prozessorpaket verfügbar gemacht werden. Lässt keine NULL-Werte zu.
physical_memory_in_bytes bigint Gilt für: SQL Server 2008 (10.0.x) bis SQL Server 2008 R2 (10.50.x).

Gibt die Gesamtmenge des physischem Speichers auf dem Computer an. Lässt keine NULL-Werte zu.
physical_memory_kb bigint Gilt für: SQL Server 2012 (11.x) und höher.

Gibt die Gesamtmenge des physischem Speichers auf dem Computer an. Lässt keine NULL-Werte zu.

Gibt in Azure SQL-Datenbank die Gesamtmenge des physischen Speichers auf dem Computer zurück, auf dem die Datenbank oder der elastische Pool gehostet wird. Verwenden Sie die process_memory_limit_mb Spalte in sys.dm_os_job_object, um den für die Datenbank oder den elastischen Pool verfügbaren physischen Arbeitsspeicher zu ermitteln.
virtual_memory_in_bytes bigint Gilt für: SQL Server 2008 (10.0.x) bis SQL Server 2008 R2 (10.50.x).

Umfang des virtuellen Arbeitsspeichers, der dem Prozess im Benutzermodus zur Verfügung steht. Damit kann bestimmt werden, ob SQL Server mithilfe eines 3-GB-Schalters gestartet wurde.
virtual_memory_kb bigint Gilt für: SQL Server 2012 (11.x) und höher.

Gibt die Gesamtmenge des virtuellem Adressraums für den Prozess im Benutzermodus an. Lässt keine NULL-Werte zu.
bpool_committed int Gilt für: SQL Server 2008 (10.0.x) bis SQL Server 2008 R2 (10.50.x).

Stellt den Arbeitsspeicher im Speicher-Manager in Kilobyte (KB) dar, für den ein Commit ausgeführt wurde. Reservierter Arbeitsspeicher im Speicher-Manager ist nicht eingeschlossen. Lässt keine NULL-Werte zu.
committed_kb int Gilt für: SQL Server 2012 (11.x) und höher.

Stellt den Arbeitsspeicher im Speicher-Manager in Kilobyte (KB) dar, für den ein Commit ausgeführt wurde. Reservierter Arbeitsspeicher im Speicher-Manager ist nicht eingeschlossen. Lässt keine NULL-Werte zu.
bpool_commit_target int Gilt für: SQL Server 2008 (10.0.x) bis SQL Server 2008 R2 (10.50.x).

Stellt den Arbeitsspeicher in Kilobytes (KB) dar, der von SQL Server-Speicher-Manager genutzt werden kann.
committed_target_kb int Gilt für: SQL Server 2012 (11.x) und höher.

Stellt den Arbeitsspeicher in Kilobytes (KB) dar, der von SQL Server-Speicher-Manager genutzt werden kann. Die Zielmenge wird anhand einer Vielzahl von Eingaben berechnet, darunter die folgenden:

- der aktuelle Zustand des Systems einschließlich seiner Last

- der von aktuellen Prozessen angeforderte Speicher

– die Auf dem Computer installierte Arbeitsspeichermenge

- Konfigurationsparameter

Wenn committed_target_kb größer als committed_kb, versucht der Speicher-Manager, zusätzlichen Arbeitsspeicher zu erhalten. Wenn committed_target_kb sie kleiner als committed_kbist, versucht der Speicher-Manager, die Menge des zugesicherten Speichers zu verkleinern. Das committed_target_kb immer enthält gestohlenen und reservierten Speicher. Lässt keine NULL-Werte zu.
bpool_visible int Gilt für: SQL Server 2008 (10.0.x) bis SQL Server 2008 R2 (10.50.x).

Anzahl von 8-KB-Puffern im Pufferpool, die im virtuellen Prozessadressraum direkt adressierbar sind. Wenn AWE (Address Windowing Extensions) nicht verwendet wird und wenn der Pufferpool sein Arbeitsspeicherziel erreicht hat (bpool_committed = bpool_commit_target), entspricht der Wert von bpool_visible dem Wert von bpool_committed. Wenn AWE in einer 32-Bit-Version von SQL Server verwendet wird, stellt bpool_visible die Größe des AWE-Zuordnungsfensters dar, das verwendet wird, um auf den vom Pufferpool zugewiesenen physischen Speicher zuzugreifen. Da die Größe des Zuordnungsfensters durch den Prozessadressraum gebunden ist, ist der sichtbare Umfang geringer als der zugesicherte Umfang, und er kann durch interne Komponenten weiter reduziert werden, die zu anderen Zwecken als für Datenbankseiten Arbeitsspeicher belegen. Ist der Wert von bpool_visible zu niedrig, treten möglicherweise Fehler aufgrund von nicht genügend Arbeitsspeicher auf.
visible_target_kb int Gilt für: SQL Server 2012 (11.x) und höher.

Ist identisch mit committed_target_kb. Lässt keine NULL-Werte zu.
stack_size_in_bytes int Gibt die Größe des Aufrufstapels für jeden thread an, der von SQL Server erstellt wurde. Lässt keine NULL-Werte zu.
os_quantum bigint Stellt das Quantum für einen nicht präemptiven Task dar, gemessen in Millisekunden. Quantum (in Sekunden) = os_quantum / CPU-Taktgeschwindigkeit. Lässt keine NULL-Werte zu.
os_error_mode int Gibt den Fehlermodus für den SQL Server-Prozess an. Lässt keine NULL-Werte zu.
os_priority_class int Gibt die Prioritätsklasse für den SQL Server-Prozess an. NULL-Werte sind zulässig.

32 = Normal (Fehlerprotokoll sagt, SQL Server beginnt mit normaler Prioritätsbasis (=7).)

128 = Hoch (Fehlerprotokoll sagt, SQL Server wird auf der Basis mit hoher Priorität ausgeführt. (=13).)

Weitere Informationen finden Sie unter Configure the priority boost Server Configuration Option.
max_workers_count int Stellt die maximale Anzahl von Arbeitsthreads dar, die erstellt werden können. Lässt keine NULL-Werte zu.
scheduler_count int Stellt die Anzahl der im SQL Server-Prozess konfigurierten Benutzerplaner dar. Lässt keine NULL-Werte zu.
scheduler_total_count int Stellt die Gesamtzahl der Planer in SQL Server dar. Lässt keine NULL-Werte zu.
deadlock_monitor_serial_number int Gibt die ID der aktuellen Deadlocküberwachungssequenz an. Lässt keine NULL-Werte zu.
sqlserver_start_time_ms_ticks bigint Stellt die ms_tick Zahl dar, wenn SQL Server zuletzt gestartet wurde. Mit der aktuellen ms_ticks Spalte vergleichen. Lässt keine NULL-Werte zu.
sqlserver_start_time datetime Gibt das lokale Systemdatum und die Uhrzeit an, zu der SQL Server zuletzt gestartet wurde. Lässt keine NULL-Werte zu.
Informationen in vielen anderen SQL Server-DMVs umfassen nur Aktivitäten seit dem letzten Start des Datenbankmoduls. Verwenden Sie diese Spalte, um die letzte SQL Server-Datenbank-Engine Startzeit zu finden.
affinity_type int Gilt für: SQL Server 2008 R2 (10.50.x) und höher.

Gibt den Typ der Server-CPU-Prozessaffinität an, die derzeit verwendet wird. Lässt keine NULL-Werte zu. Weitere Informationen finden Sie unter ALTER SERVER CONFIGURATION (Transact-SQL).

1 = MANUELL

2 = AUTO
affinity_type_desc varchar(60) Gilt für: SQL Server 2008 R2 (10.50.x) und höher.

Beschreibt die affinity_type Spalte. Lässt keine NULL-Werte zu.

MANUELL = Die Affinität wurde für mindestens eine CPU festgelegt.

AUTO = SQL Server kann Threads zwischen CPUs frei verschieben.
process_kernel_time_ms bigint Gilt für: SQL Server 2008 R2 (10.50.x) und höher.

Gesamtzeit in Millisekunden, die von allen SQL Server-Threads im Kernelmodus aufgewendet wurden. Dieser Wert kann größer als eine einzelne Prozessoruhr sein, da er die Zeit für alle Prozessoren auf dem Server enthält. Lässt keine NULL-Werte zu.
process_user_time_ms bigint Gilt für: SQL Server 2008 R2 (10.50.x) und höher.

Gesamtzeit in Millisekunden, die von allen SQL Server-Threads im Benutzermodus aufgewendet wurden. Dieser Wert kann größer als eine einzelne Prozessoruhr sein, da er die Zeit für alle Prozessoren auf dem Server enthält. Lässt keine NULL-Werte zu.
time_source int Gilt für: SQL Server 2008 R2 (10.50.x) und höher.

Gibt die API an, die SQL Server zum Abrufen der Wanduhrzeit verwendet. Lässt keine NULL-Werte zu.

0 = QUERY_PERFORMANCE_COUNTER

1 = MULTIMEDIA_TIMER
time_source_desc nvarchar(60) Gilt für: SQL Server 2008 R2 (10.50.x) und höher.

Beschreibt die time_source Spalte. Lässt keine NULL-Werte zu.

QUERY_PERFORMANCE_COUNTER = die QueryPerformanceCounter-API ruft die Wanduhrzeit ab.

MULTIMEDIA_TIMER = Die Multimedia-Timer-API , die die Wanduhrzeit abruft.
virtual_machine_type int Gilt für: SQL Server 2008 R2 (10.50.x) und höher.

Gibt an, ob SQL Server in einer virtualisierten Umgebung ausgeführt wird. Lässt keine NULL-Werte zu.

0 = NONE

1 = HYPERVISOR

2 = OTHER
virtual_machine_type_desc nvarchar(60) Gilt für: SQL Server 2008 R2 (10.50.x) und höher.

Beschreibt die virtual_machine_type Spalte. Lässt keine NULL-Werte zu.

NONE = SQL Server wird nicht auf einem virtuellen Computer ausgeführt.

HYPERVISOR = SQL Server wird in einem virtuellen Computer ausgeführt, der von einem betriebssystemgesteuerten Hypervisor gehostet wird (ein Hostbetriebssystem, das hardwaregestützte Virtualisierung verwendet).

OTHER = SQL Server wird in einem virtuellen Computer ausgeführt, der von einem Betriebssystem gehostet wird, das keinen Hardware-Assistenten wie Microsoft Virtual PC verwendet.
softnuma_configuration int Gilt für: SQL Server 2016 (13.x) und höher.

Gibt an, wie NUMA-Knoten konfiguriert werden. Lässt keine NULL-Werte zu.

0 = OFF gibt die Hardwarestandardeinstellung an.

1 = Automatisierte Soft-NUMA

2 = Manuelle Soft-NUMA per Registrierung
softnuma_configuration_desc nvarchar(60) Gilt für: SQL Server 2016 (13.x) und höher.

OFF = Soft-NUMA-Funktion ist AUS

ON = SQL Server bestimmt automatisch die NUMA-Knotengrößen für Soft-NUMA

MANUAL = Manuell konfigurierte Soft-NUMA
process_physical_affinity nvarchar(3072) Gilt für: Ab SQL Server 2017 (14.x).

Die Informationen sind noch nicht vorhanden.
sql_memory_model int Gilt für: SQL Server 2012 (11.x) SP4, SQL Server 2016 (13.x) SP1 und höher.

Gibt das Speichermodell an, das von SQL Server zum Zuweisen von Arbeitsspeicher verwendet wird. Lässt keine NULL-Werte zu.

1 = Herkömmliches Speichermodell
2 = Seiten im Arbeitsspeicher sperren
3 = Große Seiten im Arbeitsspeicher
sql_memory_model_desc nvarchar(120) Gilt für: SQL Server 2012 (11.x) SP4, SQL Server 2016 (13.x) SP1 und höher.

Gibt das Speichermodell an, das von SQL Server zum Zuweisen von Arbeitsspeicher verwendet wird. Lässt keine NULL-Werte zu.

CONVENTIONAL = SQL Server verwendet das herkömmliche Speichermodell, um Arbeitsspeicher zuzuweisen. Dies ist standardmäßiges SQL-Speichermodell, wenn das SQL Server-Dienstkonto beim Start keine Sperrseiten in Speicherberechtigungen aufweist.
LOCK_PAGES = SQL Server verwendet Sperrseiten im Arbeitsspeicher, um Arbeitsspeicher zuzuweisen. Dies ist der Standardmäßige SQL-Speicher-Manager, wenn das SQL Server-Dienstkonto beim Starten von SQL Server Sperrseiten im Arbeitsspeicher besitzt.
LARGE_PAGES = SQL Server verwendet große Seiten im Arbeitsspeicher, um Arbeitsspeicher zuzuweisen. SQL Server verwendet Large Pages-Allocator, um Arbeitsspeicher nur mit Enterprise Edition zuzuweisen, wenn das SQL Server-Dienstkonto sperrseiten beim Starten des Servers besitzt und wenn die Ablaufverfolgungskennzeichnung 834 aktiviert ist.
pdw_node_id int Gilt für: Azure Synapse Analytics, Analytics Platform System (PDW)

Der Bezeichner für den Knoten, auf dem sich diese Verteilung befindet.
socket_count int Anwendungsbereich: SQL Server 2016 (13.x) SP2 und höher.

Gibt die Anzahl der Prozessorsockets an, die auf dem System verfügbar sind.
cores_per_socket int Anwendungsbereich: SQL Server 2016 (13.x) SP2 und höher.

Gibt die Anzahl der Prozessoren pro Socket an, die auf dem System verfügbar sind.
numa_node_count int Anwendungsbereich: SQL Server 2016 (13.x) SP2 und höher.

Gibt die Anzahl der im System verfügbaren NUMA-Knoten an. Diese Spalte enthält physische NUMA-Knoten sowie weiche NUMA-Knoten.

Berechtigungen

Für SQL Server und SQL Managed Instance ist die VIEW SERVER STATE-Berechtigung erforderlich.

Für SQL-Datenbank Standard-, S0- und S1-Dienstziele sowie für Datenbanken in elastischen Pools ist das Serveradministratorkonto, das Microsoft Entra-Administratorkonto oder die Mitgliedschaft in der ##MS_ServerStateReader##Serverrolle erforderlich. Für alle anderen SQL-Datenbank-Dienstziele ist entweder die VIEW DATABASE STATE-Berechtigung für die Datenbank oder die Mitgliedschaft in der ##MS_ServerStateReader##-Serverrolle erforderlich.

Berechtigungen für SQL Server 2022 und höher

Erfordert die VIEW SERVER PERFORMANCE STATE-Berechtigung auf dem Server.

Siehe auch

Dynamische Verwaltungssichten und Funktionen (Transact-SQL)
Dynamische Verwaltungssichten in Verbindung mit dem SQL Server-Betriebssystem (Transact-SQL)