Cara untuk mengurangi paging buffer pool kehabisan memori dalam versi 64-bit SQL Server

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 918483 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

Ringkasan

Microsoft SQL Server melakukan manajemen kehabisan memori dinamis berdasarkan persyaratan kehabisan memori beban saat ini dan kegiatan pada sistem. Pada Windows Server 2003 atau Windows XP atau kemudian versi sistem, SQL Server dapat menggunakan mekanisme pemberitahuan kehabisan memori yang disediakan oleh QueryMemoryResourceNotification Windows API. Pada sistem berbasis Microsoft Windows 2000 Server, SQL Server secara berkala menghitung kehabisan memori fisik gratis pada sistem dengan menggunakan API Windows asli. Berdasarkan informasi ini dari QueryMemoryResourceNotification Windows API atau dari perhitungan memory, SQL Server menanggapi situasi kehabisan memori pada sistem tertentu. Ini memberikan manfaat berikut:
  • Sistem tidak halaman keluar bekerja serangkaian proses SQL Server.
  • Halaman perlu database tersedia dalam kehabisan memori untuk mengurangi kebutuhan I/O fisik.
Untuk selengkapnya, lihat topik "manajemen kehabisan memori dinamis" dan "Opsi kehabisan memori Server" topik dalam SQL Server buku Online.

Gejala

Dalam edisi 64-bit SQL Server, berbagai masalah yang mungkin terjadi. Misalnya, masalah berikut mungkin terjadi:
  • Kinerja SQL Server menurun tiba-tiba.
  • Komputer yang menjalankan SQL Server berhenti merespons untuk waktu yang singkat.
  • Terjadi waktu-habis untuk aplikasi yang menyambung ke SQL Server.
  • Masalah terjadi ketika Anda menjalankan perintah bahkan sederhana atau menggunakan aplikasi pada sistem.
Jika Anda menginstal SQL Server 2005 Service Pack 2 (SP2) atau versi yang lebih baru, salah satu pesan galat berikut dicatat di log kesalahan SQL Server ketika masalah ini terjadi:
Pesan galat 1
tanggal waktu spid1s sebuah bagian penting dari sql server proses kehabisan memori telah paged keluar. Ini dapat mengakibatkan penurunan kinerja. Durasi: 0 detik. Bekerja mengatur (KB): 1086400, berkomitmen (KB): 2160928, memory pemanfaatan: 50%.
Pesan galat 2
tanggal waktu spid1s sebuah bagian penting dari sql server proses kehabisan memori telah paged keluar. Ini dapat mengakibatkan penurunan kinerja. Durasi: 315 detik. Bekerja mengatur (KB): 410156, berkomitmen (KB): 2201296, memory pemanfaatan: 18%.
Pesan galat 3
tanggal waktu spid1s sebuah bagian penting dari sql server proses kehabisan memori telah paged keluar. Ini dapat mengakibatkan penurunan kinerja. Durasi: 646 detik. Bekerja mengatur (KB): 901904, berkomitmen (KB): 2215752, memory pemanfaatan: 40%.

tim support Microsoft SQL Server juga telah mengamati pesan galat tambahan atau peringatan yang tercatat di log kesalahan Server SQL atau di log peristiwa Windows. Pesan ini menyerupai yang berikut:
2009-05-05 15:43:56.01 Server      Resource Monitor (0x13c43) Worker 0x0412C1E8 appears to be non-yielding on Node 0. Memory freed: 34152 KB. Approx CPU Used: kernel 171 ms, user 140 ms, Interval: 125093.

2009-05-05 12:54:52.18 Server      * *******************************************************************************
2009-05-05 12:54:52.18 Server      * BEGIN STACK DUMP:
2009-05-05 12:54:52.18 Server      *   05/05/08 12:54:52 spid 0
2009-05-05 12:54:52.18 Server      * Non-yielding Resource Monitor
2009-05-05 12:54:52.18 Server      * *******************************************************************************

2009-06-10 09:13:53.44 Server      * *******************************************************************************
2009-06-10 09:13:53.44 Server      * BEGIN STACK DUMP:
2009-06-10 09:13:53.44 Server      *   06/10/09 09:13:53 spid 0
2009-06-10 09:13:53.44 Server      * Non-yielding IOCP Listener
2009-06-10 09:13:53.44 Server      * *******************************************************************************

2009-06-10 09:13:55.85 spid2s      LazyWriter: warning, no free buffers found.

2009-07-15 13:27:45.35 spid4s      AppDomain xx (SQLCLR.dbo[runtime].xx) is marked for unload due to memory pressure.
2009-07-15 13:27:45.35 spid4s      AppDomain xx (SQLCLR.dbo[runtime].xx) unloaded.

2009-07-15 13:37:51.42 Logon       Error: 17189, Severity: 16, State: 1.
2009-07-15 13:37:51.42 Logon       SQL Server failed with error code 0xc0000000 to spawn a thread to process a new login or connection. Check the SQL Server error log and the Windows event logs for information about possible related problems. [CLIENT: xx.xxx.xx.xx]

Event Type:	Error
Event Source:	SQLBrowser
Event ID:	8
Description: The SQLBrowser service was unable to process a client request. 
Pesan galat tambahan atau peringatan ini mungkin muncul bersama-sama dengan "bagian penting dari sql server proses kehabisan memori telah paged keluar" kesalahan pesan. Dalam beberapa kasus, pesan galat tambahan atau peringatan ini tidak muncul bersama-sama dengan pesan galat.

Jika Anda melihat salah satu pesan galat ini atau peringatan, mempertimbangkan SQL Server bekerja set paging yang dibahas dalam artikel ini sebagai salah satu penyebabnya namun bukan sebagai satu-satunya penyebab. Pesan galat tambahan atau peringatan ini bisa login karena dari berbagai kondisi atau penyebab lain.

Penyebab

Masalah ini terjadi karena Windows sistem operasi halaman keluar bekerja serangkaian proses SQL Server.

Pesan galat ini akan dicatat ketika bekerja serangkaian proses SQL Server mencapai 50 persen atau lebih sedikit kehabisan memori yang berkomitmen untuk proses SQL Server. Anda dapat menggunakan pesan galat ini untuk menentukan kasus di mana kinerja SQL Server menurun drastis karena Windows sistem operasi halaman keluar bekerja serangkaian proses SQL Server. Selain itu, pesan galat ini login setiap lima menit selama 30 menit pertama. Setelah 30 menit pertama, frekuensi pesan galat ini berfungsi sampai frekuensi mencapai maksimum satu hari.

Ketika masalah ini terjadi, Anda mungkin memperhatikan bahwa set kerja aplikasi lain pada sistem juga paged keluar sekitar waktu yang sama.
Untuk informasi lebih lanjut, kunjungi Web site Microsoft berikut:
http://Blogs.msdn.com/psssql/Archive/2007/05/31/The-SQL-Server-Working-set-message.aspx
Selain itu, masalah yang diketahui ada di SQL Server di mana Anda menerima pesan galat ini contoh. Pesan galat login di log kesalahan Server SQL selama proses startup SQL Server. Pesan galat mungkin peringatan palsu. Oleh karena itu, itu mungkin tidak menunjukkan bahwa bekerja mengatur trim telah benar-benar terjadi. Untuk informasi lebih lanjut, kunjungi website Microsoft berikut:
http://Blogs.msdn.com/psssql/Archive/2009/05/12/SQL-Server-Reports-Working-set-Trim-Warning-message-During-Early-startup-phase.aspx

Teknik pemecahan masalah

Sebelum Anda mencoba untuk bekerja di sekitar masalah ini, lakukan langkah-langkah di bagian "Cara untuk memecahkan masalah ini" untuk menyelesaikan masalah ini.

Jika Anda masih mengalami masalah ini, Anda dapat mencegah sistem operasi Windows dari paging keluar renang buffer kehabisan memori dari proses SQL Server oleh penguncian kehabisan memori yang dialokasikan untuk buffer pool di kehabisan memori fisik. Anda mengunci kehabisan memori dengan menetapkan Halaman bukti kunci dalam kehabisan memori hak pengguna untuk account pengguna yang digunakan sebagai account startup layanan SQL Server.

Catatan Untuk edisi 64-bit SQL Server, hanya SQL Server Enterprise Edition dapat menggunakan Halaman bukti kunci dalam kehabisan memori pengguna benar. Hal ini berlaku untuk SQL Server 2005 [RTM, SP1, SP2, SP3] dan SQL Server 2008 [RTM dan SP1]. SQL Server 2008 SP1 kumulatif Update 2 dan SQL Server 2005 SP3 kumulatif Update 4 memperkenalkan dukungan untuk edisi SQL Server standar untuk menggunakan bukti kunci halaman dalam kehabisan memori pengguna benar. Untuk informasi lebih lanjut tentang dukungan untuk halaman terkunci pada sistem 64 bit, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
970070 Dukungan untuk halaman terkunci pada sistem SQL Server 2005 Standard Edition 64-bit dan sistem SQL Server 2008 Standard Edition 64-bit
Untuk menetapkan Halaman bukti kunci dalam kehabisan memori hak pengguna, ikuti langkah berikut:
  1. Klik mulai, klik menjalankan, jenis gpedit.MSC, lalu klik OK.

    CatatanKebijakan Grup kotak dialog akan muncul.
  2. Memperluas ComputerConfiguration, dan kemudian memperluas Windows pengaturan.
  3. Memperluas Pengaturan keamanan, dan kemudian memperluasKebijakan lokal.
  4. Klik Penetapan hak pengguna, dan kemudian klik ganda Halaman bukti kunci inmemory.
  5. Dalam Pengaturan kebijakan keamanankotak dialog, klik menambahkan pengguna atau grup.
  6. Dalam pilih pengguna atau grup kotak dialog, menambahkan account yang memiliki izin untuk menjalankan Sqlservr.exe file, dan kemudian klikOK.
  7. Dekat Kebijakan Grup kotak dialog.
  8. Restart layanan SQL Server.
Setelah Anda menetapkan Halaman bukti kunci dalam kehabisan memori pengguna yang tepat dan Anda me-restart layanan SQL Server, sistem operasi Windows tidak lagi halaman keluar renang buffer kehabisan memori dalam SQL Server proses. Namun, sistem operasi Windows dapat masih halaman keluar nonbuffer renang kehabisan memori dalam proses SQL Server.

Anda dapat memvalidasi bahwa pengguna yang tepat digunakan oleh contoh SQL Server dengan memastikan bahwa pesan berikut ditulis di Log kesalahan Server SQL pada startup:
Menggunakan halaman terkunci untuk buffer pool
Pesan ini hanya berlaku untuk 64-bit editions SQL Server.For informasi lebih lanjut tentang pesan ini di ERRORLOG, kunjungi Web site Microsoft berikut:
http://Blogs.msdn.com/psssql/Archive/2007/10/18/do-i-have-to-assign-The-Lock-Privilege-for-local-System.aspx
Ketika sistem operasi Windows halaman keluar nonbuffer renang kehabisan memori, Anda mungkin masih mengalami masalah kinerja. Namun, pesan galat yang disebutkan di bagian "Gejala" tidak login di log kesalahan SQL Server. Perilaku ini terjadi karena set bekerja SQL Server proses biasanya tidak mencapai 50 persen atau lebih sedikit kehabisan memori berkomitmen.

Informasi lebih lanjut

Bagaimana memecahkan masalah ini

Untuk mengatasi masalah ini, ikuti langkah berikut:
  1. Untuk mengatasi masalah yang diketahui yang menyebabkan sistem operasi Windows ke halaman keluar bekerja serangkaian proses SQL Server, menerapkan perbaikan terbaru yang dijelaskan pada artikel Pangkalan Pengetahuan Microsoft berikut.

    Catatan Hotfix bersifat kumulatif. Versi perbaikan terbaru berisi versi sebelumnya bahwa perbaikan terbaru.
    • Microsoft telah menemukan masalah yang dapat menyebabkan edisi 64-bit SQL Server bekerja diatur menjadi dipangkas. Untuk informasi lebih lanjut, klik nomor artikel berikut ini untuk melihat artikel di dalam Microsoft Knowledge Base:
      905865 Ukuran dari set bekerja semua proses dalam sesi konsol dapat dipangkas bila Anda menggunakan Layanan Terminal untuk log masuk ke atau log keluar dari komputer yang menjalankan Windows Server 2003
    • Komputer yang menjalankan Windows Server 2003 dapat menjadi terlalu agresif ketika mereka cache kotor buffer jika ada aplikasi yang melakukan I/O buffered, seperti file Salin operasi. Perilaku ini dapat menyebabkan set bekerja dalam SQL Server untuk dipotong. Untuk informasi lebih lanjut, klik nomor artikel berikut ini untuk melihat artikel di dalam Microsoft Knowledge Base:
      920739 Anda dapat mengalami penurunan kinerja secara keseluruhan sistem ketika Anda menyalin file yang lebih besar dari sekitar 500 MB di Windows Server 2003 S atau di Windows Server 2003 S
    • SQL Server bekerja set dapat dipangkas ketika sistem menggunakan beberapa fitur TCP. Untuk informasi lebih lanjut, klik nomor artikel berikut ini untuk melihat artikel di dalam Microsoft Knowledge Base:
      942861 Pesan galat saat aplikasi tautan langsung ke SQL Server pada server yang menjalankan Windows Server 2003: "Kesalahan umum jaringan," "Komunikasi link kegagalan", atau "transportasi-tingkat kesalahan"
    • Pada komputer multiprosesor yang menjalankan Windows Server 2003, proses sistem dapat mengkonsumsi sebagian besar kehabisan memori sistem yang tersedia. Untuk informasi lebih lanjut, klik nomor artikel berikut ini untuk melihat artikel di dalam Microsoft Knowledge Base:
      942486 Proses sistem dapat mengkonsumsi sebagian besar kehabisan memori sistem tersedia pada komputer multiprosesor yang menjalankan Windows Server 2003
  2. Jika pengandar peranti penangkap menggunakan MmAllocateContiguousMemory fungsi, dan jika ini menetapkan nilai HighestAcceptableAddress parameter untuk kurang dari 4 gigabytes (GB), sistem operasi Windows mungkin halaman keluar bekerja serangkaian proses SQL Server 64-bit. Untuk mengatasi masalah ini, hubungi vendor pengandar peranti penangkap untuk update driver. Untuk daftar pengendali yang telah mengalami masalah, lihat bagian "vendor lainnya" di artikel Pangkalan Pengetahuan Microsoft berikut:
    2121098 Fitur pembaruan sistem operasi dan driver untuk instalasi SQL Server
  3. Jika Anda masih mengalami masalah ini setelah Anda menerapkan perbaikan terbaru ini, menerapkan perbaikan terbaru Windows yang membatasi jumlah operasi trim per proses. Untuk informasi lebih lanjut, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
    938486 Komputer berbasis Windows Server 2003 menjadi tidak responsif karena operasi pemangkasan Manajer kehabisan memori yang disebabkan oleh tdk modul yang meminta banyak kehabisan memori
    956341 Komputer berbasis Windows Server 2003 menjadi tidak responsif karena permintaan alokasi kehabisan memori besar
    Ketika pengandar peranti penangkap mencoba untuk mengalokasikan kehabisan memori, sistem operasi Windows mungkin halaman keluar set kerja aplikasi lain. Perbaikan terbaru Windows ini memungkinkan Anda untuk menggunakan pelacakan acara untuk Telisik pengandar peranti penangkap yang menyebabkan masalah. Untuk informasi lebih lanjut tentang pengandar khusus yang menyebabkan bekerja pemangkasan mengatur perilaku, lihat artikel MSDN"Mengidentifikasi driver yang mengalokasikan kehabisan memori."
  4. Aplikasi dapat menggunakan cache sistem terlalu banyak, dan dapat menyebabkan pertumbuhan besar cache sistem. Untuk menanggapi pertumbuhan cache sistem, sistem halaman keluar bekerja set dari proses SQL Server atau aplikasi lain. Jika Anda mengalami masalah ini, Anda dapat menggunakan beberapa fungsi-fungsi manajemen kehabisan memori dalam aplikasi. Fungsi-fungsi ini mengontrol ruang cache sistem operasi I/O file dapat menggunakan dalam aplikasi. Misalnya, Anda dapat menggunakan SetSystemFileCacheSize fungsi dan GetSystemFileCacheSize fungsi untuk mengontrol ruang cache sistem operasi I/O berkas dapat menggunakan.

    Anda dapat menggunakan kehabisan memori kinerja objek untuk melihat nilai-nilai berbagai counter di objek ini untuk menentukan apakah cache sistem bekerja set menggunakan terlalu banyak kehabisan memori. Misalnya, Anda dapat melihat counter Cache byte dan sistem Cache penduduk byte. Untuk informasi lebih lanjut tentang topik ini, kunjungi Web site Microsoft berikut:
    http://Blogs.msdn.com/ntdebugging/Archive/2007/11/27/too-much-cache.aspx

    http://Blogs.msdn.com/ntdebugging/Archive/2009/02/06/Microsoft-Windows-Dynamic-cache-Service.aspx

    http://support.Microsoft.com/default.aspx?scid=kb;EN-US; 976618
    Anda dapat men-download dan menggunakan "Microsoft Windows dinamis Cache Layanan" untuk mengontrol kehabisan memori yang dikonsumsi oleh cache sistem.
  5. Jika SQL Server berjalan bersama-sama dengan SAP R/3, Anda mungkin mengalami masalah paging. Untuk informasi lebih lanjut, klik nomor artikel berikut ini untuk melihat artikel di dalam Microsoft Knowledge Base:
    931308 Anda mungkin mengalami peningkatan paging ke hard disk ketika Anda menjalankan program SAP R/3 pada komputer berbasis Windows Server 2003
  6. Jika Anda menjalankan SQL Server pada Windows Server 2008, Anda harus menerapkan perbaikan untuk masalah yang diketahui yang dapat mengakibatkan bekerja pemangkasan set atau tidak perlu berlebihan kehabisan memori konsumsi oleh komponen sistem operasi lain. Untuk informasi lebih lanjut, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:

    971442 Kinerja sistem server menjadi sangat menurun ketika Anda mencoba untuk menyalin file dari server yang menjalankan Windows Vista atau Windows Server 2008 melalui jaringan

    974609 Komputer yang menjalankan Windows Server 2008 secara acak berhenti merespons ketika Anda menjalankan aplikasi besar

    971714 Proses generasi laporan mungkin berhenti merespons ketika Anda menjalankan Perfmon.exe dengan template Active Directory diagnostik untuk menghasilkan laporan pada pengendali domain berbasis Windows Server 2008
  7. Jika Anda menjalankan SQL Server pada Windows melayani 2008 R2, Anda harus menerapkan perbaikan untuk masalah yang diketahui yang dapat mengakibatkan bekerja set pemangkasan. Untuk informasi lebih lanjut, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
    979149 Komputer yang menjalankan Windows 7 atau Windows Server 2008 R2 menjadi tidak responsif ketika Anda menjalankan aplikasi besar

    2155311 Kinerja yang buruk terjadi pada komputer yang memiliki NUMA berbasis prosesor dan yang menjalankan Windows Server 2008 R2 atau Windows 7 jika permintaan benang banyak kehabisan memori yang dalam pertama 4 GB kehabisan memori

    2468345 Komputer melakukan buruk atau berhenti merespons ketika pengandar pengandar miniport digunakan dalam Windows Server 2008 R2

Cara menentukan kehabisan memori yang digunakan oleh edisi 64-bit SQL Server

Anda dapat menggunakan Monitor kinerja untuk melihat halaman kehabisan memori yang digunakan oleh edisi 64-bit SQL Server. Untuk melakukan ini, memantau berikut performa counter:
Kinerja objek: kehabisan memori
Counter: Halaman/Sec
Untuk informasi lebih lanjut tentang bagaimana menggunakan tabel atak ini untuk menentukan kehabisan memori halaman, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
889654 Cara menentukan ukuran berkas halaman yang sesuai untuk versi 64-bit Windows Server 2003 atau Windows XP
Selain itu, Anda dapat mengukur efek dari paging pada edisi 64-bit SQL Server dengan memantau berikut performance counters:
Kinerja objek: proses
Counter: Private byte
Contoh: sqlservr

Kinerja objek: proses
Counter: Bekerja Set
Contoh: sqlservr
Counter Private byte ukuran kehabisan memori yang saat ini berkomitmen. Counter bekerja mengatur ukuran kehabisan memori fisik yang sedang diduduki oleh proses. edisi 64-bit SQL Server juga menggunakan berikut performa counter untuk mengekspos kehabisan memori yang buffer pool mengalokasikan:
Kinerja objek: SQL Server: kehabisan memori Manager
Counter: Total Server Memory(KB)
Catatan Jika contoh edisi 64-bit SQL Server adalah sebuah nama misalnya, nama objek kinerja adalah sebagai berikut:
MSSQL$InstanceName: Manajer kehabisan memori
Jika nilai bekerja mengatur tabel atak adalah kurang dari nilai Total Server Memory(KB) tabel atak, setidaknya beberapa kehabisan memori yang merupakan bagian dari buffer pool dipangkas dari SQL Server bekerja set.

Setelah Anda menetapkan Halaman bukti kunci dalam kehabisan memori pengguna yang tepat dan Anda me-restart layanan SQL Server, buffer pool proses SQL Server masih menanggapi peristiwa pemberitahuan sumber daya kehabisan memori, dan secara dinamis meningkat atau menurun dalam menanggapi peristiwa ini. Namun, Anda tidak dapat melihat alokasi kehabisan memori untuk buffer pool yang terkunci di kehabisan memori penghitung kinerja berikut:
  • Counter Private byte dan bekerja diatur counter di Monitor kinerja
  • The Mem penggunaan kolom pada proses tab di Manajer tugas
Setelah halaman-halaman ini terkunci, penghitung kinerja ini mewakili alokasi kehabisan memori di dalam proses SQL Server ketika alokasi mereka tidak menggunakan buffer pool. Total Server Memory(KB) tabel atak SQL Server: kehabisan memori manajer objek kinerja secara akurat mewakili kehabisan memori yang dialokasikan untuk buffer pool.

Pertimbangan sebelum Anda menetapkan pengguna "Kunci halaman dalam memori" tepat untuk contoh edisi 64-bit SQL Server

Anda harus membuat tambahan pertimbangan sebelum menetapkan Halaman bukti kunci dalam kehabisan memori pengguna benar. Jika Anda menetapkan pengguna ini benar pada sistem yang dikonfigurasi dengan benar, sistem dapat menjadi tidak stabil atau mengalami penurunan kinerja keseluruhan sistem. Selain itu, peristiwa ID 333 mungkin dicatat dalam acara log.

Jika Anda menghubungi layanan dukungan pelanggan Microsoft (CSS) untuk masalah ini, insinyur CSS mungkin meminta Anda untuk mencabut hak pengguna ini untuk account pengguna yang digunakan sebagai account startup layanan SQL Server. Langkah ini mungkin diperlukan untuk mengumpulkan data performa penting yang insinyur CSS dapat digunakan untuk konfigurasi yang diperlukan dari berbagai pilihan untuk SQL Server dan aplikasi lain yang berjalan pada sistem. Setelah CSS insinyur mengumpulkan data performa, Anda dapat menetapkan Halaman bukti kunci dalam kehabisan memori pengguna langsung ke rekening startup layanan SQL Server.

Sebelum Anda menetapkan Halaman bukti kunci dalam kehabisan memori hak pengguna, pastikan bahwa Anda menangkap log Monitor kinerja untuk menentukan persyaratan kehabisan memori dari berbagai aplikasi dan layanan yang diinstal pada sistem. Aplikasi ini juga termasuk SQL Server. Untuk menentukan persyaratan kehabisan memori, mengumpulkan informasi dasar berikut:
  • Pastikan bahwa Anda mengatur kehabisan memori maks server pilihan dan kehabisan memori server min opsi dengan benar. Pilihan ini mencerminkan hanya persyaratan kehabisan memori buffer pool proses SQL Server. Pilihan ini tidak termasuk kehabisan memori yang dialokasikan untuk komponen lain dalam proses SQL Server. Komponen ini meliputi:
    • Thread pekerja SQL Server
    • Pengalokasi Multipage Manajer kehabisan memori SQL Server
    • Berbagai dll dan komponen yang proses SQL Server Load dalam ruang alamat penyuratan proses SQL Server
    • pencadangan dan pemulihan operasi
  • Dll dan komponen termasuk berbagai penyedia OLE DB, diperpanjang disimpan prosedur, Microsoft COM objek yang digunakan untuk sp_OACreate prosedur tersimpan, terkait server, dan SQL Server CLR. kehabisan memori yang dialokasikan untuk komponen-komponen ini jatuh di bawah wilayah kolam renang nonbuffer ruang alamat penyuratan proses SQL Server. Idealnya menentukan jumlah maksimum kehabisan memori yang dapat menggunakan SQL Server seluruh proses, Anda harus mengurangi kehabisan memori yang dialokasikan untuk komponen yang tidak menggunakan buffer pool dari jumlah kehabisan memori yang Anda ingin proses SQL Server menggunakan. Kemudian, Anda dapat menggunakan nilai sisa untuk mengatur kehabisan memori maks server pilihan. Sebelum Anda menetapkan kehabisan memori maks server pilihan dan kehabisan memori server min pilihan, Anda harus hati-hati meninjau topik "Pengaturan pilihan kehabisan memori secara manual" dalam SQL Server buku Online.
  • Menentukan persyaratan kehabisan memori aplikasi lain dan komponen sistem operasi Windows. Aplikasi dapat memasukkan SQL Server komponen lain, misalnya, SQL Server agen, SQL Server replikasi agen, Layanan pelaporan SQL Server, SQL Server Analysis Services, SQL Server Integration Services dan SQL Server penuh teks pencarian. Aplikasi yang melakukan operasi cadangan dan operasi kopi karbon file dapat menggunakan banyak kehabisan memori. Mempertimbangkan operasi seperti kopi karbon massal dan agen Snapshot yang menghasilkan file IO. Anda harus mempertimbangkan persyaratan kehabisan memori semua aplikasi ini ketika Anda menentukan nilai kehabisan memori maks server pilihan dan kehabisan memori server min pilihan. Anda dapat menggunakan Private byte counter dan bekerja mengatur tabel atak di bawah objek proses untuk setiap proses untuk menentukan persyaratan kehabisan memori untuk proses tertentu.
  • secara asali, Halaman bukti kunci dalam kehabisan memori pengguna yang tepat telah ditetapkan untuk built-in account sistem lokal. Untuk informasi lebih lanjut, kunjungi Web site Microsoft berikut:
    http://Blogs.msdn.com/psssql/Archive/2007/10/18/do-i-have-to-assign-The-Lock-Privilege-for-local-System.aspx
  • Jika Anda menggunakan account pengguna Windows secara global untuk semua proses SQL Server di domain, menentukan hak pengguna yang diberikan dengan menggunakan Kebijakan Grup konfigurasi. 32-bit SQL Server proses dapat menggunakan account ini sebagai startup account. Namun, account ini memerlukan Halaman bukti kunci dalam kehabisan memori hak pengguna untuk mengaktifkan fitur alamat penyuratan Windowing Extensions (AWE). Untuk selengkapnya, lihat topik "Menyediakan jumlah maksimum kehabisan memori ke SQL Server" dalam SQL Server buku Online.
  • Sebelum mengkonfigurasi kehabisan memori maks server pilihan dan kehabisan memori server min pilihan untuk beberapa SQL Server contoh, mempertimbangkan kebutuhan memory kolam nonbuffer untuk setiap SQL Server. Kemudian, mengkonfigurasi pilihan ini untuk setiap SQL Server.
Idealnya, Anda mengumpulkan informasi dasar ini selama beban puncak. Oleh karena itu, Anda dapat menentukan persyaratan kehabisan memori untuk berbagai aplikasi dan komponen untuk mendukung beban puncak. Persyaratan kehabisan memori bervariasi dari satu sistem ke sistem lain, tergantung pada kegiatan dan aplikasi yang berjalan pada sistem.

Cara menggunakan informasi dari SQL Server cincin buffer untuk menentukan kondisi kehabisan memori ketika paging terjadi

Anda dapat menggunakan informasi dari SQL Server cincin buffer untuk menentukan kondisi kehabisan memori pada server ketika paging terjadi. Anda dapat menggunakan script seperti script berikut untuk mendapatkan informasi ini.
SELECT CONVERT (varchar(30), GETDATE(), 121) as runtime,
DATEADD (ms, -1 * (sys.ms_ticks - a.[Record Time]), GETDATE()) AS Notification_time,  
 a.* , sys.ms_ticks AS [Current Time]
 FROM 
 (SELECT x.value('(//Record/ResourceMonitor/Notification)[1]', 'varchar(30)') AS [Notification_type], 
 x.value('(//Record/MemoryRecord/MemoryUtilization)[1]', 'bigint') AS [MemoryUtilization %], 
 x.value('(//Record/MemoryRecord/TotalPhysicalMemory)[1]', 'bigint') AS [TotalPhysicalMemory_KB], 
 x.value('(//Record/MemoryRecord/AvailablePhysicalMemory)[1]', 'bigint') AS [AvailablePhysicalMemory_KB], 
 x.value('(//Record/MemoryRecord/TotalPageFile)[1]', 'bigint') AS [TotalPageFile_KB], 
 x.value('(//Record/MemoryRecord/AvailablePageFile)[1]', 'bigint') AS [AvailablePageFile_KB], 
 x.value('(//Record/MemoryRecord/TotalVirtualAddressSpace)[1]', 'bigint') AS [TotalVirtualAddressSpace_KB], 
 x.value('(//Record/MemoryRecord/AvailableVirtualAddressSpace)[1]', 'bigint') AS [AvailableVirtualAddressSpace_KB], 
 x.value('(//Record/MemoryNode/@id)[1]', 'bigint') AS [Node Id], 
 x.value('(//Record/MemoryNode/ReservedMemory)[1]', 'bigint') AS [SQL_ReservedMemory_KB], 
 x.value('(//Record/MemoryNode/CommittedMemory)[1]', 'bigint') AS [SQL_CommittedMemory_KB], 
 x.value('(//Record/@id)[1]', 'bigint') AS [Record Id], 
 x.value('(//Record/@type)[1]', 'varchar(30)') AS [Type], 
 x.value('(//Record/ResourceMonitor/Indicators)[1]', 'bigint') AS [Indicators], 
 x.value('(//Record/@time)[1]', 'bigint') AS [Record Time]
 FROM (SELECT CAST (record as xml) FROM sys.dm_os_ring_buffers 
 WHERE ring_buffer_type = 'RING_BUFFER_RESOURCE_MONITOR') AS R(x)) a 
CROSS JOIN sys.dm_os_sys_info sys
ORDER BY a.[Record Time] ASC

Catatan Query ini ini berlaku untuk kedua SQL Server 2005, dan SQL Server 2008.

Anda dapat permintaan informasi yang disediakan dalam manajemen dinamis Lihat sys.dm_os_process_memory untuk memahami Apakah sistem adalah hadap atas kondisi kehabisan memori rendah. Untuk selengkapnya, lihat referensi SQL Server 2008 buku Online di situs website MSDN berikut:
http://msdn.Microsoft.com/en-US/Library/bb510747.aspx
SQL Server 2008 R2 terbaik praktek Analyzer (SQL Server 2008 R2 BPA) menyediakan beberapa aturan untuk mendeteksi situasi yang dapat mengakibatkan bekerja mengatur pemangkasan SQL Server proses. SQL Server 2008 R2 BPA mendukung SQL Server 2008 dan SQL Server 2008 R2.

Perkecil tabel iniPerbesar tabel ini
Aturan peranti penangkap lunakAturan judulKeterangan AturanVersi produk terhadap aturan dievaluasi
SQL Server 2008 R2 terbaik praktek Analyzer (SQL Server 2008 R2 BPA)
Pengaturan kehabisan memori SQL Server tidak benar


Jika Anda menjalankan alat BPA dan menerima peringatan, "Database Engine - SQL Server kehabisan memori pengaturan salah," Anda perlu memeriksa pengaturan kehabisan memori maks server ini misalnya SQL Server dan mengikuti rekomendasi di bagian "penting pertimbangan sebelum Anda menetapkan pengguna 'Kunci halaman dalam memori' tepat untuk contoh edisi 64-bit dari SQL Server" dari artikel ini.SQL Server 2008
SQL Server 2008 R2


SQL Server 2008 R2 terbaik praktek Analyzer (SQL Server 2008 R2 BPA)sistem operasi file dan pengandar membutuhkan update untuk bekerja mengatur pemangkasanJika Anda menjalankan alat BPA dan mengalami kesalahan, "Database Engine - operasi sistem berkas dan pengandar membutuhkan update untuk bekerja mengatur pemangkasan," Anda perlu meninjau semua perbaikan yang dibahas dalam bagian "Pemecahan masalah" pada artikel ini dan menerapkan mereka.
SQL Server 2008
SQL Server 2008 R2

SQL Server 2008 R2 terbaik praktek Analyzer (SQL Server 2008 R2 BPA)Porsi yang signifikan dari SQL Server kehabisan memori telah paged keluar
Jika Anda menjalankan alat BPA dan mengalami kesalahan "Database Engine - porsi yang signifikan dari SQL Server kehabisan memori telah paged keluar," Anda perlu meninjau bagian "Pemecahan masalah" dan "Solusi" dari artikel ini dan mengambil tindakan yang tepat.
SQL Server 2008
SQL Server 2008 R2


Perbaikan di Windows Server 2008 dan Windows Server 2008 R2


Windows Server 2008 dan Windows Server 2008 R2 meningkatkan mekanisme alokasi kehabisan memori yang berdekatan. Perbaikan ini memungkinkan Windows Server 2008 dan Windows Server 2008 R2 mengurangi sampai batas tertentu efek paging keluar set kerja aplikasi ketika permintaan kehabisan memori baru tiba.

Berikut ini adalah penjelasan tentang perbaikan dari Microsoft whitepaper "Kemajuan dalam kehabisan memori manajemen di Windows":

Di Windows Server 2008, alokasi kehabisan memori fisik sangat ditingkatkan. Permintaan untuk mengalokasikan kehabisan memori akan jauh lebih berhasil karena Manajer kehabisan memori sekarang secara dinamis menggantikan halaman, biasanya tanpa pemangkasan set bekerja atau melakukan operasi I/O. Selain itu, lebih banyak jenis halaman ? seperti kernel tumpukan dan file sistem metadata halaman, antara lain ? sekarang adalah kandidat untuk penggantian. Akibatnya, lebih banyak kehabisan memori yang berdekatan ini umumnya tersedia pada waktu tertentu. Selain itu, biaya untuk mendapatkan alokasi seperti sangat berkurang.
Untuk melihat whitepaper "Kemajuan dalam kehabisan memori manajemen di Windows", kunjungi Website Microsoft berikut:
http://download.Microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/MemMgt.docx
Untuk informasi lebih lanjut, kunjungi website Microsoft berikut:
http://Blogs.msdn.com/psssql/Archive/2008/03/03/SQL-Server-Working-set-Trim-problems-consider.aspx
http://support.Microsoft.com/kb/2001745
Catatan Pada komputer berbasis Windows Server 2008, Anda harus menginstal SQL Server Service Pack 2 (SP2) atau SQL Server kemudian Service Pack.

Produk pihak ketiga yang didiskusikan dalam artikel ini dibuat oleh perusahaan yang independen terhadap Microsoft. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, berkenaan dengan kinerja atau keandalan produk-produk tersebut.

Properti

ID Artikel: 918483 - Kajian Terakhir: 22 Juni 2014 - Revisi: 2.0
Berlaku bagi:
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium-based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium-based Systems
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
Kata kunci: 
kbsqlsetup kbsql2005engine kbexpertiseadvanced kbinfo kbmt KB918483 KbMtid
Penerjemahan Mesin
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: 918483

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com