sys.dm_os_sys_info (Transact-SQL)
Gilt für:SQL Server
Azure SQL-Datenbank
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics 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_kb ist, versucht der Speicher-Manager, zusätzlichen Arbeitsspeicher abzurufen. Wenn committed_target_kb kleiner als committed_kb ist, 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)