sys.dm_os_sys_info (Transact-SQL)

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

Gibt verschiedene nützliche Informationen zum Computer und zu den Ressourcen zurück, die für SQL Server zur Verfügung stehen und von diesen genutzt werden.

Hinweis

Um dies aus 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 gibt möglicherweise die Anzahl der logischen CPUs auf dem Computer zurück, auf dem die Datenbank oder der Pool für elastische Datenbanken gehostet wird. Verwenden Sie die Spalte in sys.dm_user_db_resource_governance, um die Anzahl der logischen CPUs zu bestimmen, die für die Datenbank oder den cpu_limit Pool für elastische Datenbanken verfügbar sind.
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.

In Azure SQL-Datenbank gibt die Gesamtmenge des physischen Arbeitsspeichers auf dem Computer zurück, auf dem die Datenbank oder der Pool für elastische Datenbanken gehostet wird. Verwenden Sie die Spalte in sys.dm_os_job_object, um den process_memory_limit_mb für die Datenbank oder den Pool für elastische Datenbanken verfügbaren physischen Arbeitsspeicher zu bestimmen.
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 Arbeitsspeicher

– die Auf dem Computer installierte Arbeitsspeichermenge

- Konfigurationsparameter

Wenn committed_target_kb größer als committed_kbist, versucht der Speicher-Manager, zusätzlichen Arbeitsspeicher abzurufen. Wenn committed_target_kb kleiner als committed_kbist, versucht der Speicher-Manager, die Menge des committeten Arbeitsspeichers zu verkleinern. Der committed_target_kb enthält immer 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 der Aufrufliste für jeden von SQL Server erstellten Thread an. 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 gibt an, SQL Server bei normaler Prioritätsbasis (=7) beginnt.)

128 = Hoch (Fehlerprotokoll gibt an, dass SQL Server mit hoher Priorität ausgeführt wird. (=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 Benutzerplaner dar, die im SQL Server-Prozess konfiguriert sind. 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. Vergleichen Sie mit der aktuellen ms_ticks Spalte. Lässt keine NULL-Werte zu.
sqlserver_start_time datetime Gibt das Datum und die Uhrzeit des lokalen Systems an, SQL Server zuletzt gestartet wurde. Lässt keine NULL-Werte zu.
Informationen in vielen anderen SQL Server DMVs enthalten nur Aktivitäten seit dem letzten Start der Datenbank-Engine. Verwenden Sie diese Spalte, um die startzeit der letzten SQL Server Datenbank-Engine zu ermitteln.
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 Threads zwischen CPUs frei verschieben können.
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 werden. 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 werden. 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 Zeit der Wanduhr 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 auf einem virtuellen Computer ausgeführt wird, der von einem Betriebssystem gehostet wird, auf dem Hypervisor ausgeführt wird (ein Hostbetriebssystem, das hardwaregestützte Virtualisierung verwendet).

OTHER = SQL Server auf einem virtuellen Computer ausgeführt wird, 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 hardwarestandard an

1 = Automatisierte soft-NUMA

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

OFF = Soft-NUMA-Funktion ist OFF

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).

Informationen werden noch kommen.
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 = Konventionelles Speichermodell
2 = Sperren von Seiten im Arbeitsspeicher
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 konventionelle Speichermodell, um Arbeitsspeicher zuzuweisen. Dies ist das Standardmodell des SQL-Arbeitsspeichers, wenn SQL Server Dienstkonto während des Startvorgangs keine Sperrseiten im Arbeitsspeicher besitzt.
LOCK_PAGES = SQL Server verwendet Sperrseiten im Arbeitsspeicher, um Arbeitsspeicher zuzuweisen. Dies ist der Standard-SQL-Speicher-Manager, wenn SQL Server Dienstkonto während SQL Server Start über sperrte Seiten im Arbeitsspeicher verfügt.
LARGE_PAGES = SQL Server verwendet große Seiten im Arbeitsspeicher, um Arbeitsspeicher zuzuweisen. SQL Server verwendet den Großseitenzuteilungsmodus, um Arbeitsspeicher nur mit der Enterprise Edition zuzuweisen, wenn SQL Server Dienstkonto während des Serverstarts über die Berechtigung "Sperrseiten im Arbeitsspeicher" verfügt und das Ablaufverfolgungsflag 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 im System verfügbaren Prozessorsockets an.
cores_per_socket int Anwendungsbereich: SQL Server 2016 (13.x) SP2 und höher.

Gibt die Anzahl der Prozessoren pro Socket an, die im 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 Standard-, S0- und S1-Dienstziele von SQL-Datenbank sowie für Datenbanken in Pools für elastische Datenbanken ist das Konto des Serveradministrators, des Azure Active Directory-Administrators 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)