sys.dm_os_sys_info (T-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

Mengembalikan serangkaian informasi berguna lainnya tentang komputer, dan tentang sumber daya yang tersedia untuk dan dikonsumsi oleh SQL Server.

Catatan

Untuk memanggil ini dari Azure Synapse Analytics atau Analytics Platform System (PDW), gunakan nama sys.dm_pdw_nodes_os_sys_info. Sintaks ini tidak didukung oleh kumpulan SQL tanpa server di Azure Synapse Analytics.

Nama kolom Jenis Data Deskripsi dan catatan khusus versi
cpu_ticks bigint Menentukan jumlah pemeriksaan CPU saat ini. Kutu CPU diperoleh dari penghitung RDTSC prosesor. Ini adalah angka yang meningkat secara monoton. Tidak dapat diubah ke null.
ms_ticks bigint Menentukan jumlah milidetik sejak komputer dimulai. Tidak dapat diubah ke null.
cpu_count int Menentukan jumlah CPU logis pada sistem. Tidak dapat diubah ke null.

Di Azure SQL Database, kolom ini mungkin mengembalikan jumlah CPU logis pada mesin yang menghosting database atau kumpulan elastis. Untuk menentukan jumlah CPU logis yang tersedia untuk database atau kumpulan elastis, gunakan cpu_limit kolom di sys.dm_user_db_resource_governance.
hyperthread_ratio int Menentukan rasio jumlah inti logis atau fisik yang diekspos oleh satu paket prosesor fisik. Tidak dapat diubah ke null.
physical_memory_in_bytes bigint Berlaku untuk: SQL Server 2008 (10.0.x) dan SQL Server 2008 R2 (10.50.x).

Menentukan jumlah total memori fisik pada komputer. Tidak dapat diubah ke null.
physical_memory_kb bigint Berlaku untuk: SQL Server 2012 (11.x) dan versi yang lebih baru.

Menentukan jumlah total memori fisik pada komputer. Tidak dapat diubah ke null.

Di Azure SQL Database, kolom ini mengembalikan jumlah total memori fisik pada komputer yang menghosting database atau kumpulan elastis. Untuk menentukan jumlah memori fisik yang tersedia untuk database atau kumpulan elastis, gunakan process_memory_limit_mb kolom di sys.dm_os_job_object.
virtual_memory_in_bytes bigint Berlaku untuk: SQL Server 2008 (10.0.x) dan SQL Server 2008 R2 (10.50.x).

Jumlah memori virtual yang tersedia untuk proses dalam mode pengguna. Nilai ini dapat digunakan untuk menentukan apakah SQL Server dimulai dengan menggunakan sakelar 3 GB.
virtual_memory_kb bigint Berlaku untuk: SQL Server 2012 (11.x) dan versi yang lebih baru.

Menentukan jumlah total ruang alamat virtual yang tersedia untuk proses dalam mode pengguna. Tidak dapat diubah ke null.
bpool_committed int Berlaku untuk: SQL Server 2008 (10.0.x) dan SQL Server 2008 R2 (10.50.x).

Mewakili memori yang diterapkan dalam kilobyte (KB) di manajer memori. Tidak menyertakan memori yang dipesan di manajer memori. Tidak dapat diubah ke null.
committed_kb bigint Berlaku untuk: SQL Server 2012 (11.x) dan versi yang lebih baru.

Mewakili memori yang diterapkan dalam kilobyte (KB) di manajer memori. Tidak menyertakan memori yang dipesan di manajer memori. Tidak dapat diubah ke null.
bpool_commit_target int Berlaku untuk: SQL Server 2008 (10.0.x) dan SQL Server 2008 R2 (10.50.x).

Mewakili jumlah memori, dalam kilobyte (KB), yang dapat dikonsumsi oleh manajer memori SQL Server.
committed_target_kb bigint Berlaku untuk: SQL Server 2012 (11.x) dan versi yang lebih baru.

Mewakili jumlah memori, dalam kilobyte (KB), yang dapat dikonsumsi oleh manajer memori SQL Server. Jumlah target dihitung menggunakan beberapa input seperti:

- status sistem saat ini termasuk bebannya
- memori yang diminta oleh proses saat ini
- jumlah memori yang diinstal pada komputer
- parameter konfigurasi

Jika committed_target_kb lebih besar dari committed_kb, manajer memori mencoba mendapatkan lebih banyak memori. Jika committed_target_kb lebih kecil dari committed_kb, manajer memori mencoba menyusutkan jumlah memori yang diterapkan. Selalu committed_target_kb termasuk memori yang dicuri dan dipesan. Tidak dapat diubah ke null.
bpool_visible int Berlaku untuk: SQL Server 2008 (10.0.x) dan SQL Server 2008 R2 (10.50.x).

Jumlah buffer 8-KB di kumpulan buffer yang dapat diakses langsung di ruang alamat virtual proses. Ketika tidak menggunakan Address Windowing Extensions (AWE), ketika kumpulan buffer mendapatkan target memorinya (bpool_committed = bpool_commit_target), nilainya bpool_visible sama dengan nilai bpool_committed. Saat menggunakan AWE pada SQL Server versi 32-bit, bpool_visible mewakili ukuran jendela pemetaan AWE yang digunakan untuk mengakses memori fisik yang dialokasikan oleh kumpulan buffer. Ukuran jendela pemetaan ini terikat oleh ruang alamat proses, sehingga jumlah yang terlihat lebih kecil dari jumlah yang diterapkan. Nilai ini dapat dikurangi lebih lanjut dengan komponen internal yang menggunakan memori, untuk tujuan selain halaman database. Jika nilai bpool_visible terlalu rendah, Anda mungkin menerima kesalahan memori.
visible_target_kb bigint Berlaku untuk: SQL Server 2012 (11.x) dan versi yang lebih baru.

Sama committed_target_kbdengan . Tidak dapat diubah ke null.
stack_size_in_bytes int Menentukan ukuran tumpukan panggilan untuk setiap utas yang dibuat oleh SQL Server. Tidak dapat diubah ke null.
os_quantum bigint Mewakili Quantum untuk tugas non-preemptive, diukur dalam milidetik. Quantum (dalam detik) = os_quantum / Kecepatan jam CPU. Tidak dapat diubah ke null.
os_error_mode int Menentukan mode kesalahan untuk proses SQL Server. Tidak dapat diubah ke null.
os_priority_class int Menentukan kelas prioritas untuk proses SQL Server. Dapat diubah ke null.

32 = Normal. Log kesalahan mengatakan SQL Server dimulai pada basis prioritas normal (7).
128 = Tinggi. Log kesalahan mengatakan SQL Server berjalan pada basis prioritas tinggi (13).

Untuk informasi selengkapnya, lihat Mengonfigurasi peningkatan prioritas (opsi konfigurasi server).
max_workers_count int Mewakili jumlah maksimum pekerja yang dapat dibuat. Tidak dapat diubah ke null.
scheduler_count int Mewakili jumlah penjadwal pengguna yang dikonfigurasi dalam proses SQL Server. Tidak dapat diubah ke null.
scheduler_total_count int Mewakili jumlah total penjadwal di SQL Server. Tidak dapat diubah ke null.
deadlock_monitor_serial_number int Menentukan ID urutan monitor kebuntuan saat ini. Tidak dapat diubah ke null.
sqlserver_start_time_ms_ticks bigint ms_tick Mewakili angka ketika SQL Server terakhir kali dimulai. Bandingkan dengan kolom saat ini ms_ticks . Tidak dapat diubah ke null.
sqlserver_start_time datetime Menentukan tanggal dan waktu sistem lokal SQL Server terakhir dimulai. Tidak dapat diubah ke null.

Informasi di banyak DMV SQL Server lainnya hanya menyertakan aktivitas sejak startup mesin database terakhir. Gunakan kolom ini untuk menemukan waktu mulai Mesin Database SQL Server terakhir.
affinity_type int Berlaku untuk: SQL Server 2008 R2 (10.50.x) dan versi yang lebih baru.

Menentukan jenis afinitas proses CPU server yang saat ini digunakan. Tidak dapat diubah ke null. Untuk informasi selengkapnya, lihat MENGUBAH KONFIGURASI SERVER (Transact-SQL).

1 = MANUAL
2 = AUTO
affinity_type_desc nvarchar(60) Berlaku untuk: SQL Server 2008 R2 (10.50.x) dan versi yang lebih baru.

Menjelaskan affinity_type kolom. Tidak dapat diubah ke null.

MANUAL = afinitas ditetapkan untuk setidaknya satu CPU.
AUTO = SQL Server dapat dengan bebas memindahkan utas antar CPU.
process_kernel_time_ms bigint Berlaku untuk: SQL Server 2008 R2 (10.50.x) dan versi yang lebih baru.

Total waktu dalam milidetik yang dihabiskan oleh semua utas SQL Server dalam mode kernel. Nilai ini bisa lebih besar dari satu jam prosesor karena mencakup waktu untuk semua prosesor di server. Tidak dapat diubah ke null.
process_user_time_ms bigint Berlaku untuk: SQL Server 2008 R2 (10.50.x) dan versi yang lebih baru.

Total waktu dalam milidetik yang dihabiskan oleh semua utas SQL Server dalam mode pengguna. Nilai ini bisa lebih besar dari satu jam prosesor karena mencakup waktu untuk semua prosesor di server. Tidak dapat diubah ke null.
time_source int Berlaku untuk: SQL Server 2008 R2 (10.50.x) dan versi yang lebih baru.

Menunjukkan API yang digunakan SQL Server untuk mengambil waktu jam dinding. Tidak dapat diubah ke null.

0 = QUERY_PERFORMANCE_COUNTER
1 = MULTIMEDIA_TIMER
time_source_desc nvarchar(60) Berlaku untuk: SQL Server 2008 R2 (10.50.x) dan versi yang lebih baru.

Menjelaskan time_source kolom. Tidak dapat diubah ke null.

QUERY_PERFORMANCE_COUNTER= API QueryPerformanceCounter mengambil waktu jam dinding.
MULTIMEDIA_TIMER= API timer multimedia yang mengambil waktu jam dinding.
virtual_machine_type int Berlaku untuk: SQL Server 2008 R2 (10.50.x) dan versi yang lebih baru.

Menunjukkan apakah SQL Server berjalan di lingkungan virtual. Tidak dapat diubah ke null.

0 = NONE
1 = HYPERVISOR
2 = OTHER
virtual_machine_type_desc nvarchar(60) Berlaku untuk: SQL Server 2008 R2 (10.50.x) dan versi yang lebih baru.

Menjelaskan virtual_machine_type kolom. Tidak dapat diubah ke null.

NONE = SQL Server tidak berjalan di dalam komputer virtual.
HYPERVISOR = SQL Server berjalan di dalam komputer virtual yang dihosting oleh OS yang menjalankan hypervisor (OS host yang menggunakan virtualisasi yang dibantu perangkat keras).
OTHER = SQL Server berjalan di dalam komputer virtual yang dihosting oleh OS yang tidak menggunakan asisten perangkat keras seperti Microsoft Virtual PC.
softnuma_configuration int Berlaku untuk: SQL Server 2016 (13.x) dan versi yang lebih baru.

Menentukan cara simpul NUMA dikonfigurasi. Tidak dapat diubah ke null.

0 = OFF menunjukkan default perangkat keras
1 = Soft-NUMA otomatis
2 = Soft-NUMA manual melalui registri
softnuma_configuration_desc nvarchar(60) Berlaku untuk: SQL Server 2016 (13.x) dan versi yang lebih baru.

OFF = Fitur Soft-NUMA nonaktif
ON = SQL Server secara otomatis menentukan ukuran simpul NUMA untuk Soft-NUMA
MANUAL = Soft-NUMA yang dikonfigurasi secara manual
process_physical_affinity nvarchar(3072) Berlaku untuk: Dimulai dengan SQL Server 2017 (14.x).

Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
sql_memory_model int Berlaku untuk: SQL Server 2012 (11.x) SP4, SQL Server 2016 (13.x) SP1, dan versi yang lebih baru.

Menentukan model memori yang digunakan oleh SQL Server untuk mengalokasikan memori. Tidak dapat diubah ke null.

1 = Model memori konvensional
2 = Kunci halaman dalam memori
3 = Halaman besar dalam memori
sql_memory_model_desc nvarchar(60) Berlaku untuk: SQL Server 2012 (11.x) SP4, SQL Server 2016 (13.x) SP1, dan versi yang lebih baru.

Menentukan model memori yang digunakan oleh SQL Server untuk mengalokasikan memori. Tidak dapat diubah ke null.

CONVENTIONAL = SQL Server menggunakan model Memori Konvensional untuk mengalokasikan memori. Ini adalah model memori Mesin Database default ketika akun layanan SQL Server tidak memiliki Halaman Kunci di hak istimewa Memori selama pengaktifan.
LOCK_PAGES = SQL Server menggunakan Halaman Kunci dalam Memori untuk mengalokasikan memori. Ini adalah manajer memori Mesin Database default ketika akun layanan SQL Server memiliki hak istimewa "Kunci halaman dalam memori" selama startup SQL Server.
LARGE_PAGES = SQL Server menggunakan Halaman Besar dalam Memori untuk mengalokasikan memori. SQL Server menggunakan alokator Halaman Besar untuk mengalokasikan memori hanya dengan edisi Enterprise ketika akun layanan SQL Server memiliki hak istimewa "Kunci halaman dalam memori" selama startup server, dan ketika Bendera Pelacakan 834 diaktifkan.
pdw_node_id int Berlaku untuk: Azure Synapse Analytics, Analytics Platform System (PDW)

Pengidentifikasi untuk simpul tempat distribusi ini aktif.
socket_count int Berlaku untuk: SQL Server 2016 (13.x) SP2 dan versi yang lebih baru.

Menentukan jumlah soket prosesor yang tersedia pada sistem.
cores_per_socket int Berlaku untuk: SQL Server 2016 (13.x) SP2 dan versi yang lebih baru.

Menentukan jumlah prosesor per soket yang tersedia pada sistem.
numa_node_count int Berlaku untuk: SQL Server 2016 (13.x) SP2 dan versi yang lebih baru.

Menentukan jumlah simpul NUMA yang tersedia pada sistem. Kolom ini mencakup simpul NUMA fisik dan node NUMA lunak.
container_type int Berlaku untuk: SQL Server 2017 (14.x) dan versi yang lebih baru.

Menentukan jenis kontainer SQL Server yang berjalan di dalamnya. Tidak dapat diubah ke null.

0 (default) = NONE
1 = LINUX CONTAINER
2 = WINDOWS SERVER CONTAINER
3 = HYPER-V CONTAINER
container_type_desc nvarchar(60) Berlaku untuk: SQL Server 2017 (14.x) dan versi yang lebih baru.

Menjelaskan container_type kolom. Tidak dapat diubah ke null.

NONE = SQL Server tidak berjalan dalam kontainer.
LINUX CONTAINER = SQL Server berjalan dalam kontainer Linux.
WINDOWS SERVER CONTAINER = SQL Server berjalan dalam kontainer Windows Server.
HYPER-V CONTAINER = SQL Server berjalan dalam kontainer Hyper-V.

Izin

Pada SQL Server 2019 (15.x) dan versi yang lebih lama, dan SQL Managed Instance, Anda memerlukan VIEW SERVER STATE izin.

Pada SQL Server 2022 (16.x) dan versi yang lebih baru, Anda memerlukan VIEW SERVER PERFORMANCE STATE izin di server.

Pada tujuan layanan Azure SQL Database Basic, S0, dan S1, dan untuk database di kumpulan elastis, akun admin server, akun admin Microsoft Entra, atau keanggotaan dalam##MS_ServerStateReader## peran server diperlukan. Pada semua tujuan layanan SQL Database lainnya, izin VIEW DATABASE STATE pada database, atau keanggotaan dalam ##MS_ServerStateReader## peran server diperlukan.