Konfigurasi kehabisan memori dan ukuran pertimbangan di SQL Server 2012 dan versi yang lebih baru

PENTING: Artikel ini diterjemahkan oleh perangkat lunak penerjemahan mesin Microsoft, dan mungkin telah diedit oleh Masyarakat Microsoft melalui teknologi CTF dan bukan oleh seorang penerjemah profesional. Microsoft menawarkan baik artikel yang diterjemahkan oleh manusia maupun artikel hasil editan terjemahan oleh mesin/komunitas, sehingga Anda dapat mengakses semua artikel di Sentra Pengetahuan yang kami miliki dalam berbagai bahasa. Namun artikel hasil editan mesin atau bahkan komunitas tidak selalu sempurna. Artikel ini dapat mengandung kesalahan dalam hal kosa kata, sintaksis atau tatabahasa, sangat mirip dengan penutur asing yang membuat kekeliruan ketika berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab atas ketidakakuratan, kesalahan atau kerugian apa pun akibat dari kekeliruan dalam penerjemahan isi atau penggunaannya oleh pelanggan kami. Microsoft juga akan senantiasa memperbarui perangkat lunak penerjemahan mesin dan alat untuk menyempurnakan Editan Hasil Penerjemahan Mesin.

Klik disini untuk melihat versi Inggris dari artikel ini: 2663912
Ringkasan
Microsoft SQL Server melakukan dinamis dan otomatis kehabisan memori manajemen berdasarkan persyaratan kehabisan memori sekarang internal komponen SQL Server dan beban kerja di sistem. SQL Server juga menawarkan opsi konfigurasi kehabisan memori yang terkait untuk membantu penyetelan baik untuk pola perilaku aplikasi tertentu dan persyaratan khusus lanjut. Opsi konfigurasi yang berbeda termasuk yang berikut ini:
  • Opsi sp_configure (kehabisan memori maks server (MB), menit server kehabisan memori (MB)dan awe aktif)
  • parameter permulaan -g (memory_to_reserve)
  • Halaman terkunci

Microsoft SQL Server 2012 memperkenalkan perubahan pada Manajer kehabisan memori yang mempengaruhi bagaimana administrator mengkonfigurasi opsi kehabisan memori ini. Harap Tinjau perubahan yang dijelaskan di sini sebelum Anda meningkatkan ke SQL Server 2012 atau sebelum Anda mengkonfigurasi instalasi baru dari SQL Server 2012.

Catatan Artikel ini juga berlaku untuk Microsoft SQL Server 2014.
Informasi lebih lanjut
SQL Server 2012 juga memperkenalkan perubahan dalam cara khusus jenis alokasi kehabisan memori menyumbang dan opsi konfigurasi kehabisan memori yang mengontrol jumlah maksimum kehabisan memori yang dapat digunakan oleh alokasi jenis ini. Perubahan di SQL Server 2012 spesifik untuk permintaan alokasi kehabisan memori dari SQL CLR dan alokasi multi-halaman. SQL Server 2012 telah alokator halaman baru yang mengelola multi halaman dan satu halaman alokasi (kurang dari 8 KB dan lebih besar daripada permintaan alokasi 8 KB). Oleh karena itu, ada kategori terpisah "multi-halaman alokasi" tidak ada di SQL Server 2012.

Perubahan ke "memori maks server (MB)" dan "menit server kehabisan memori (MB)"

Pada versi SQL Server (SQL Server 2005, SQL Server 2008, dan SQL Server 2008 R2), opsi konfigurasi berikut ditentukan batas kehabisan memori fisik yang buffer pool mengkonsumsi. Perhatikan bahwa kita bicarakan kehabisan memori fisik dalam kehabisan memori ini kasus, fisik yang dilakukan oleh proses mesin pangkalan data SQL Server:
  • kehabisan memori maks server (MB)
  • menit server kehabisan memori (MB)
Opsi Thisconfiguration biasanya termasuk hanya alokasi kehabisan memori yang kurang dari atau sama dengan 8 KB dalam proses SQL Server. Werealso alokasi ini disebut sebagai "single_page_allocations" karena Manajer kehabisan memori SQL Server menggunakan ukuran halaman 8 KB. Konfigurasi ini tidak termasuk permintaan alokasi kehabisan memori berikut ini:
  • Multi-halaman alokasi dari SQL Server: ini adalah alokasi yang lebih dari 8 KB.
  • Alokasi CLR: alokasi ini mencakup SQL CLR tumpukan dan alokasi yang global yang dibuat selama inisialisasi CLR.
  • Alokasi kehabisan memori untuk hubungan kehabisan memori di proses SQL Server.
  • Permintaan alokasi kehabisan memori langsung dibuat terhadap Windows: ini termasuk penggunaan kehabisan memori Windows dan langsung alokasi virtual yang dibuat oleh modul yang dimuat ke dalam proses SQL Server. Contoh permintaan alokasi kehabisan memori tersebut termasuk alokasi dari prosedur tersimpan diperpanjang dll, objek yang dibuat dengan menggunakan otomatisasi prosedur (sp_OA panggilan), dan alokasi dari penyedia terkait server.

Dimulai dengan SQL Server 2012, alokasi multi-halaman dan CLR alokasi juga termasuk dalam batas kehabisan memori yang dikendalikan oleh kehabisan memori maks server (MB) dan menit server kehabisan memori (MB). Perubahan ini menyediakan kemampuan ukuran yang lebih akurat untuk semua persyaratan kehabisan memori yang masuk melalui Manajer kehabisan memori SQL Server. Hati-hati meninjau nilai kehabisan memori maks server (MB) dan menit server kehabisan memori (MB) Anda saat ini setelah Anda meningkatkan ke SQL Server 2012. Anda harus meninjau nilai-nilai tersebut karena SQL Server 2012 kini menyertakan dan akun alokasi kehabisan memori yang lebih dibandingkan dengan versi yang lebih lawas. Perubahan ini berlaku untuk versi 32-bit dan 64-bit dari SQL Server 2012.

Daftar Tabel berikut ini menunjukkan apakah jenis tertentu alokasi kehabisan memori dikontrol dengan opsi konfigurasi kehabisan memori maks server (MB) dan menit server kehabisan memori (MB).
Jenis alokasi kehabisan memoriSQL Server 2005, SQL Server 2008, SQL, Server 2008 R2SQL Server 2012, SQL Server 2014
Alokasi satu halamanYaYa, konsolidasi ke "apa pun ukuran" halaman alokasi
Alokasi multi-halamanTidak adaYa, konsolidasi ke "apa pun ukuran" halaman alokasi
Alokasi CLRTidak adaYa
Thread tumpukan kehabisan memoriTidak adaTidak ada
Alokasi langsung dari WindowsTidak adaTidak ada
SQL Server 2012 dan versi yang lebih baru dapat mengalokasikan lebih banyak kehabisan memori dari nilai yang ditetapkan di pengaturankehabisan memori maks server. Perilaku ini dapat terjadi ketika nilaiTotal kehabisan memori Server (KB)yang telah mencapai pengaturanTarget Server kehabisan memori (KB)(yang ditentukan olehkehabisan memori maks server). Jika ada cukup kehabisan memori gratis untuk memenuhi permintaan permintaan multi-halaman kehabisan memori (lebih dari 8 KB) karena fragmentasi kehabisan memori, SQL Server dapat melakukan over komitmen alih-alih menolak permintaan kehabisan memori.

Sebagai alokasi ini dijalankan, sumber daya Monitor dimulai untuk melepaskan kehabisan memori dialokasikan dan mencoba untuk membuat nilaiTotal kehabisan memori Server (KB)belowthe spesifikasi Target Server kehabisan memori (KB) . Oleh karena itu, penggunaan kehabisan memori SQL Server dapat sebentar exceedthe kehabisan memori maks serverpengaturan. Dalam situasi ini, baca penghitung kinerjaServer Total kehabisan memori (KB)akan melebihi pengaturankehabisan memori maks serverdanServer Target kehabisan memori (KB) .

Perilaku ini biasanya diamati selama operasi berikut ini:
  • Besar Columnstore indeks permintaan
  • Bangun Columnstore indeks (re), yang menggunakan volume besar kehabisan memori untuk melakukan operasi Hash dan mengurutkan
  • Operasi cadangan yang memerlukan buffer kehabisan memori yang besar
  • Pelacakan operasi yang Anda miliki untuk menyimpan parameter input besar

Pembaruan kumulatif 8 untuk SQL Server 2014 dan Pemutakhiran kumulatif 1 untuk SQL Server 2014 SP1memperkenalkan perbaikan untuk rilis kehabisan memori lebih cepat, seperti yang dijelaskan dalam tampilan sebelumnya. Selain itu,Pembaruan kumulatif 9 untuk SQL Server 2014mengatasi masalah alokasi kehabisan memori yang melibatkan over komitmen. Untuk informasi selengkapnya, lihat artikel Pangkalan Pengetahuan Microsoft berikut ini:
Untuk informasi lebih lanjut tentang bagian kehabisan memori yang dikendalikan oleh pengaturankehabisan memori maks server, lihat Opsi konfigurasi Server kehabisan memori server Buku daring topik.

Perubahan ke "memory_to_reserve"


Pada versi 32-bit SQL Server (SQL Server 2005, SQL Server 2008, dan SQL Server 2008 R2), Manajer kehabisan memori SQL Server menyisihkan bagian dari proses ruang alamat penyuratan virtual untuk digunakan dengan permintaan alokasi berikut ini:
  • Multi-halaman alokasi dari SQL Server: ini adalah alokasi yang lebih dari 8 KB.
  • Alokasi CLR: alokasi ini mencakup SQL CLR tumpukan dan alokasi yang global yang dibuat selama inisialisasi CLR.
  • Alokasi kehabisan memori untuk hubungan kehabisan memori di proses SQL Server.
  • Permintaan alokasi kehabisan memori langsung dibuat terhadap Windows: permintaan alokasi ini mencakup penggunaan kehabisan memori Windows dan langsung alokasi virtual yang dibuat oleh modul yang dimuat ke dalam proses SQL Server. Contoh permintaan alokasi kehabisan memori tersebut termasuk alokasi dari prosedur tersimpan diperpanjang dll, objek yang dibuat dengan menggunakan otomatisasi prosedur (sp_OA panggilan), dan alokasi dari penyedia terkait server.

Ruang virtual alamat penyuratan yang dicadangkan untuk alokasi ini ditentukan dengan opsi konfigurasi memory_to_reserve . Nilai asali yang menggunakan SQL Server adalah 256 MB. Untuk mengesampingkan nilai asali, gunakan parameter permulaan -g SQL Server. Ini bagian dari ruang alamat penyuratan virtual ini juga dikenal sebagai "Memori untuk meninggalkan" atau "Non - Buffer Pool wilayah."

Karena SQL Server 2012 telah baru alokator "apa pun ukuran" halaman yang menangani alokasi lebih besar daripada 8 KB, nilai memory_to_reserve tidak mencakup alokasi multi-halaman. Kecuali perubahan ini, segalanya tetap sama dengan opsi konfigurasi ini.

Daftar Tabel berikut ini menunjukkan apakah jenis tertentu alokasi kehabisan memori jatuh ke wilayah memory_to_reserveruang alamat penyuratan virtual untuk proses SQL Server.
Jenis alokasi kehabisan memoriSQL Server 2005, SQL Server 2008, SQL Server 2008 R2SQL Server 2012, SQL Server 2014
Alokasi satu halamanTidak adaTidak, digabungkan ke "apa pun ukuran" halaman alokasi
Alokasi multi-halamanYaTidak, digabungkan ke "apa pun ukuran" halaman alokasi
Alokasi CLRYaYa
Thread tumpukan kehabisan memoriYaYa
Alokasi langsung dari WindowsYaYa

Perubahan pada opsi konfigurasi kehabisan memori yang terkait lainnya

Jika Anda mengkonfigurasi SQL Server 2005, SQL Server 2008, atau SQL Server 2008 R2 untuk menggunakan opsi "awe diaktifkan", Kaji artikel berikut ini untuk memahami perubahan penting untuk opsi konfigurasi ini:

Jika Anda mengkonfigurasi SQL Server 2005, SQL Server 2008, atau SQL Server 2008 R2 untuk menggunakan fitur "halaman terkunci", Kaji artikel berikut ini untuk memahami perubahan penting untuk opsi konfigurasi ini:

Utilisasi kehabisan memori maksimum untuk berbagai edisi SQL Server

Edisi SQL Server yang berbeda memiliki batas maksimum di berbagai sumber, mereka dapat digunakan. Ada batasan yang diterapkan pada penggunaan kehabisan memori maksimum untuk edisi SQL Server yang berbeda. Sebagai contoh, misalnya SQL Server 2008 R2 Standard Edition dapat menggunakan hanya maksimum kehabisan memori 64 GB. Untuk rincian lengkap, kunjungi situs web MSDN berikut:Dimulai dengan SQL Server 2012, batas kehabisan memori ini diberlakukan hanya untuk pangkalan data tembolok (buffer pool). Sisa cache di Manajer kehabisan memori SQL Server dapat menggunakan kehabisan memori lebih banyak daripada yang ditetapkan oleh batas edisi ini. Sebagai contoh, edisi SQL Server 2012 Express dapat menggunakan hanya ukuran maksimum 1.4 GB database cache. Cache lainnya (seperti cache prosedur, metadata cache, dan sebagainya) dapat menghabiskan kehabisan memori ukuran yang ditentukan oleh konfigurasi "memori maks server".

Peringatan: Artikel ini telah diterjemahkan secara otomatis

Properti

ID Artikel: 2663912 - Tinjauan Terakhir: 11/06/2015 21:17:00 - Revisi: 6.0

Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2014 Enterprise

  • kbtshoot kbmt KB2663912 KbMtid
Tanggapan