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 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-Prüfanzahl an. Die CPU-Takte stammen vom RDTSC-Leistungsindikator des Prozessors. Es ist 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 diese Spalte möglicherweise die Anzahl der logischen CPUs auf dem Computer zurück, 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) und 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öhere Versionen. Gibt die Gesamtmenge des physischem Speichers auf dem Computer an. Lässt keine NULL-Werte zu. In Azure SQL-Datenbank gibt diese Spalte 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) und SQL Server 2008 R2 (10.50.x). Umfang des virtuellen Arbeitsspeichers, der dem Prozess im Benutzermodus zur Verfügung steht. Dieser Wert kann verwendet werden, um zu bestimmen, ob SQL Server mit einem 3-GB-Switch gestartet wurde. |
virtual_memory_kb |
bigint | Gilt für: SQL Server 2012 (11.x) und höhere Versionen. 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) und 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. Enthält keinen reservierten Speicher im Speicher-Manager. Lässt keine NULL-Werte zu. |
committed_kb |
bigint | Gilt für: SQL Server 2012 (11.x) und höhere Versionen. Stellt den Arbeitsspeicher im Speicher-Manager in Kilobyte (KB) dar, für den ein Commit ausgeführt wurde. Enthält keinen reservierten Speicher im Speicher-Manager. Lässt keine NULL-Werte zu. |
bpool_commit_target |
int | Gilt für: SQL Server 2008 (10.0.x) und 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 |
bigint | Gilt für: SQL Server 2012 (11.x) und höhere Versionen. Stellt den Arbeitsspeicher in Kilobytes (KB) dar, der von SQL Server-Speicher-Manager genutzt werden kann. Der Zielbetrag wird mit mehreren Eingaben berechnet, z. B.: - 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 dieser größer als committed_kb ist, versucht der Speicher-Manager, mehr Arbeitsspeicher zu erhalten. Wenn committed_target_kb dieser kleiner als committed_kb ist, versucht der Speicher-Manager, die Menge des zugesicherten Arbeitsspeichers 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) und SQL Server 2008 R2 (10.50.x). Anzahl von 8-KB-Puffern im Pufferpool, die im virtuellen Prozessadressraum direkt adressierbar sind. Wenn Sie die Adressfenstererweiterungen (Address Windowing Extensions, AWE) nicht verwenden, erhält der Pufferpool sein Speicherziel ( bpool_committed = bpool_commit_target ), ist der Wert gleich dem Wert von bpool_visible bpool_committed . Bei verwendung von AWE auf einer 32-Bit-Version von SQL Server stellt die Größe des AWE-Zuordnungsfensters dar, das für den Zugriff auf den physischen Speicher verwendet wird, bpool_visible der vom Pufferpool zugewiesen wird. Die Größe dieses Zuordnungsfensters ist an den Prozessadressraum gebunden, sodass der sichtbare Betrag kleiner als der zugesicherte Betrag ist. Dieser Wert kann durch interne Komponenten, die Arbeitsspeicher verbrauchen, für andere Zwecke als Datenbankseiten weiter reduziert werden. Wenn der Wert bpool_visible zu niedrig ist, erhalten Sie möglicherweise nicht genügend Arbeitsspeicherfehler. |
visible_target_kb |
bigint | Gilt für: SQL Server 2012 (11.x) und höhere Versionen. 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 besagt, dass SQL Server mit der normalen Prioritätsbasis (7 ) beginnt.128 = Hoch. Fehlerprotokoll besagt, dass SQL Server mit hoher Priorität13 () ausgeführt wird.Weitere Informationen finden Sie unter Konfigurieren der Prioritätsverstärkung (Serverkonfigurationsoption). |
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öhere Versionen. 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 = MANUAL 2 = AUTO |
affinity_type_desc |
nvarchar(60) | Gilt für: SQL Server 2008 R2 (10.50.x) und höhere Versionen. Beschreibt die affinity_type Spalte. Lässt keine NULL-Werte zu.MANUAL = Affinität wurde für mindestens eine CPU festgelegt.AUTO = SQL Server kann Threads frei zwischen CPUs verschieben. |
process_kernel_time_ms |
bigint | Gilt für: SQL Server 2008 R2 (10.50.x) und höhere Versionen. 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öhere Versionen. 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öhere Versionen. 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öhere Versionen. 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öhere Versionen. 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öhere Versionen. 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 Betriebssystem gehostet wird, auf dem ein Hypervisor ausgeführt 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öhere Versionen. Gibt an, wie NUMA-Knoten konfiguriert werden. Lässt keine NULL-Werte zu. 0 = OFF gibt die Hardwarestandardeinstellung an.1 = Automatisierte Soft-NUMA2 = Manuelle Soft-NUMA per Registrierung |
softnuma_configuration_desc |
nvarchar(60) | Gilt für: SQL Server 2016 (13.x) und höhere Versionen.OFF = Soft-NUMA-Funktion ist deaktiviertON = SQL Server bestimmt automatisch die NUMA-Knotengrößen für Soft-NUMAMANUAL = Manuell konfigurierte Soft-NUMA |
process_physical_affinity |
nvarchar(3072) | Gilt für: Ab SQL Server 2017 (14.x). Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt. |
sql_memory_model |
int | Gilt für: SQL Server 2012 (11.x) SP4, SQL Server 2016 (13.x) SP1 und höhere Versionen. Gibt das Speichermodell an, das von SQL Server zum Zuweisen von Arbeitsspeicher verwendet wird. Lässt keine NULL-Werte zu. 1 = Herkömmliches Speichermodell2 = Seiten im Arbeitsspeicher sperren3 = Große Seiten im Arbeitsspeicher |
sql_memory_model_desc |
nvarchar(60) | Gilt für: SQL Server 2012 (11.x) SP4, SQL Server 2016 (13.x) SP1 und höhere Versionen. 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äßig Datenbank-Engine 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 Datenbank-Engine Speicher-Manager, wenn das SQL Server-Dienstkonto beim Start von SQL Server über die Berechtigung "Seiten im Arbeitsspeicher sperren" verfügt.LARGE_PAGES = SQL Server verwendet große Seiten im Arbeitsspeicher, um Arbeitsspeicher zuzuweisen. SQL Server verwendet den Allocator "Große Seiten", um Arbeitsspeicher nur mit Enterprise Edition zuzuweisen, wenn das SQL Server-Dienstkonto beim Starten des Servers über die Berechtigung "Seiten im Arbeitsspeicher sperren" verfügt, 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 | Gilt für: SQL Server 2016 (13.x) SP2 und höhere Versionen. Gibt die Anzahl der Prozessorsockets an, die auf dem System verfügbar sind. |
cores_per_socket |
int | Gilt für: SQL Server 2016 (13.x) SP2 und höhere Versionen. Gibt die Anzahl der Prozessoren pro Socket an, die auf dem System verfügbar sind. |
numa_node_count |
int | Gilt für: SQL Server 2016 (13.x) SP2 und höhere Versionen. Gibt die Anzahl der im System verfügbaren NUMA-Knoten an. Diese Spalte enthält physische NUMA-Knoten und weiche NUMA-Knoten. |
container_type |
int | Gilt für: SQL Server 2017 (14.x) und höhere Versionen. Gibt den Typ des Containers an, in dem SQL Server ausgeführt wird. Lässt keine NULL-Werte zu. 0 (Standard) = NONE 1 = LINUX CONTAINER 2 = WINDOWS SERVER CONTAINER 3 = HYPER-V CONTAINER |
container_type_desc |
nvarchar(60) | Gilt für: SQL Server 2017 (14.x) und höhere Versionen. Beschreibt die container_type Spalte. Lässt keine NULL-Werte zu.NONE = SQL Server wird nicht in einem Container ausgeführt.LINUX CONTAINER = SQL Server wird in einem Linux-Container ausgeführt.WINDOWS SERVER CONTAINER = SQL Server wird in einem Windows Server-Container ausgeführt.HYPER-V CONTAINER = SQL Server wird in einem Hyper-V-Container ausgeführt. |
Berechtigungen
In SQL Server 2019 (15.x) und früheren Versionen und SQL-verwaltete Instanz benötigen VIEW SERVER STATE
Sie eine Berechtigung.
In SQL Server 2022 (16.x) und höheren Versionen benötigen VIEW SERVER PERFORMANCE STATE
Sie eine Berechtigung auf dem Server.
Für Azure 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.