Freigeben über


sys.dm_os_sys_info (Transact-SQL)

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

Gilt für: SQL Server (SQL Server 2008 bis aktuelle Version).

Spaltenname

Datentyp

Beschreibung

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. NULL ist nicht zulässig.

ms_ticks

bigint

Gibt die Anzahl der Millisekunden seit dem Starten des Computers an. NULL ist nicht zulässig.

cpu_count

int

Gibt die Anzahl der logischen CPUs im System an. NULL ist nicht zulässig.

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

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

Gilt für: SQL Server 2008 bis SQL Server 2008 R2.

physical_memory_kb

bigint

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

Gilt für: SQL Server 2012 bis SQL Server 2014.

virtual_memory_in_bytes

bigint

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.

Gilt für: SQL Server 2008 bis SQL Server 2008 R2.

virtual_memory_kb

bigint

Gibt die Gesamtmenge des virtuellem Adressraums für den Prozess im Benutzermodus an. Lässt keine NULL-Werte zu.

Gilt für: SQL Server 2012 bis SQL Server 2014.

bpool_committed

int

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.

Gilt für: SQL Server 2008 bis SQL Server 2008 R2.

committed_kb

int

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.

Gilt für: SQL Server 2012 bis SQL Server 2014.

bpool_commit_target

int

Stellt den Arbeitsspeicher in Kilobytes (KB) dar, der von SQL Server-Speicher-Manager genutzt werden kann.

Gilt für: SQL Server 2008 bis SQL Server 2008 R2.

committed_target_kb

int

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:

  • Aktuelle Status des Systems einschließlich der Auslastung

  • Angeforderter Arbeitsspeicher für aktuelle Prozesse

  • Installierter Arbeitsspeicher auf dem Computer

  • Konfigurationsparameter

Wenn committed_target_kb größer als committed_kb ist, wird vom Speicher-Manager versucht, zusätzlichen Arbeitsspeicher zu erhalten. Wenn committed_target_kb kleiner als committed_kb ist, wird vom Speicher-Manager versucht, die Menge des Arbeitsspeichers zu verringern, für den ein Commit ausgeführt wird. committed_target_kb umfasst immer auch entnommenen und reservierten Arbeitsspeicher. Lässt keine NULL-Werte zu.

Gilt für: SQL Server 2012 bis SQL Server 2014.

bpool_visible

int

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.

Gilt für: SQL Server 2008 bis SQL Server 2008 R2.

visible_target_kb

int

Ist mit committed_target_kb identisch. Lässt keine NULL-Werte zu.

Gilt für: SQL Server 2012 bis SQL Server 2014.

stack_size_in_bytes

int

Gibt die Größe der Aufrufliste für jeden von SQL Server erstellten Thread an. NULL ist nicht zulässig.

os_quantum

bigint

Stellt das Quantum für einen nicht präemptiven Task dar, gemessen in Millisekunden. Quantum (in Sekunden) = os_quantum/CPU-Takt. NULL ist nicht zulässig.

os_error_mode

int

Gibt den Fehlermodus für den SQL Server-Prozess an. NULL ist nicht zulässig.

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 bei normaler Prioritätsbasis (= 7) startet.)

128 = Hoch (Fehlerprotokoll besagt, dass SQL Server auf hoher Prioritätsbasis ausgeführt wird.) (=13).)

Weitere Informationen finden Sie unter Konfigurieren der Serverkonfigurationsoption Prioritätserhöhung.

max_workers_count

int

Stellt die maximale Anzahl von Arbeitsthreads dar, die erstellt werden können. NULL ist nicht zulässig.

scheduler_count

int

Stellt die Anzahl der im SQL Server-Prozess konfigurierten Benutzer-Zeitplanungsmodule dar. NULL ist nicht zulässig.

scheduler_total_count

int

Stellt die Gesamtanzahl der Zeitplanungsmodule in SQL Server dar. NULL ist nicht zulässig.

deadlock_monitor_serial_number

int

Gibt die ID der aktuellen Deadlocküberwachungssequenz an. NULL ist nicht zulässig.

sqlserver_start_time_ms_ticks

bigint

Stellt den ms_tick-Wert beim letzten Start von SQL Server dar. Vergleicht diesen Wert mit dem aktuellen Wert in der ms_ticks-Spalte. NULL ist nicht zulässig.

sqlserver_start_time

datetime

Gibt das Datum und die Uhrzeit an, wann SQL Server zum letzten Mal gestartet wurde. NULL ist nicht zulässig.

affinity_type

int

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

Gilt für: SQL Server 2008 R2 bis SQL Server 2014.

affinity_type_desc

varchar(60)

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.

Gilt für: SQL Server 2008 R2 bis SQL Server 2014.

process_kernel_time_ms

bigint

Benötigte Gesamtzeit in Millisekunden für alle SQL Server-Threads im Kernelmodus. 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.

Gilt für: SQL Server 2008 R2 bis SQL Server 2014.

process_user_time_ms

bigint

Benötigte Gesamtzeit in Millisekunden für alle SQL Server-Threads im Benutzermodus. 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.

Gilt für: SQL Server 2008 R2 bis SQL Server 2014.

time_source

int

Gibt die API an, die von SQL Server verwendet wird, um die Wanduhrzeit abzurufen. Lässt keine NULL-Werte zu.

0 = QUERY_PERFORMANCE_COUNTER

1 = MULTIMEDIA_TIMER

Gilt für: SQL Server 2008 R2 bis SQL Server 2014.

time_source_desc

nvarchar(60)

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

QUERY_PERFORMANCE_COUNTER = die QueryPerformanceCounter-API ruft die Uhrzeit auf der Wanduhr ab.

MULTIMEDIA_TIMER = Die Multimedia-Zeitgeber-API, mit der die Uhrzeit auf der Wanduhr abgerufen wird.

Gilt für: SQL Server 2008 R2 bis SQL Server 2014.

virtual_machine_type

int

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

0 = NONE

1 = HYPERVISOR

2 = OTHER

Gilt für: SQL Server 2008 R2 bis SQL Server 2014.

virtual_machine_type_desc

nvarchar(60)

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

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

HYPERVISOR = SQL Server wird in einem Hypervisor ausgeführt, der eine hardwareunterstützte Virtualisierung bedeutet. Wenn die Instanz unter dem Hostbetriebssystem ausgeführt wird, gibt die Beschreibung weiterhin HYPERVISOR zurück.

OTHER = SQL Server wird auf einem virtuellen Computer ausgeführt, der keinen Hardware-Assistenten z. B. Microsoft Virtual PC verwendet.

Gilt für: SQL Server 2008 R2 bis SQL Server 2014.

Berechtigungen

Erfordert die VIEW SERVER STATE-Berechtigung auf dem Server.

Siehe auch

Verweis

Dynamische Verwaltungssichten und Funktionen (Transact-SQL)

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