FIX: Pelaksanaan pertama xp_cmdshell disimpan prosedur tidak selesai sampai terakhir eksekusi selesai di SQL Server 2012

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

Pada Halaman ini

Microsoft mendistribusikan perbaikan Microsoft SQL Server 2012 dalam satu file download. Karena perbaikan bersifat kumulatif, setiap rilis baru berisi semua perbaikan terbaru dan semua pembaruan keamanan yang disertakan dengan sebelumnya SQL Server 2012 update rilis.

Gejala

Berasumsi bahwa Anda menjalankan banyak xp_cmdshell disimpan prosedur pada waktu yang sama pada beberapa sesi di Microsoft SQL Server 2012. Dalam situasi ini, pelaksanaan pertama xp_cmdshell disimpan prosedur tidak selesai sampai terakhir eksekusi selesai.

Penyebab

Masalah ini terjadi karena pegangan diwariskan oleh proses yang dibuka ketika Anda menjalankan xp_cmdshell disimpan prosedur pada waktu yang sama.

CreateProcess API memerlukan menangani warisan untuk mengarahkan output dan kesalahan pesan standar. Jika beberapa eksekusi xp_cmdshell disimpan prosedur yang berjalan pada saat yang sama, proses yang baru dibuka dapat mewarisi pegangan dari proses yang ada. Namun, xp_cmdshell disimpan prosedur menunggu untuk menangani ditutup oleh semua proses yang terbuka. Oleh karena itu, ketika beberapa proses mewarisi pegangan, Semua xp_cmdshell eksekusi harus menunggu sampai pegangan ditutup oleh proses terpanjang.

Pemecahan masalah

Untuk mengatasi masalah ini, menerapkan pembaruan kumulatif berikut. Update ini menambahkan pilihan CreateProcess API STARTUPINFOEX yang mencegah menangani warisan untuk salib proses.

Informasi pembaruan kumulatif

SQL Server 2012

Perbaikan untuk masalah ini pertama kali dirilis di kumulatif Update 4. Untuk informasi lebih lanjut tentang cara mendapatkan paket pembaruan kumulatif ini untuk SQL Server 2012, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
2758687 Paket pembaruan kumulatif 4 untuk SQL Server 2012
Catatan Karena membangun kumulatif, setiap baru memperbaiki rilis berisi semua perbaikan terbaru dan semua perbaikan keamanan yang disertakan dengan sebelumnya SQL Server 2012 fix rilis. Kami sarankan agar Anda menerapkan rilis perbaikan terbaru yang berisi perbaikan terbaru ini. Untuk informasi lebih lanjut, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
2692828 SQL Server 2012 membangun yang dibebaskan setelah SQL Server 2012 dirilis

Status

Microsoft telah mengkonfirmasi bahwa ini merupakan masalah di dalam produk Microsoft sebagaimana didaftar di dalam bagian "Applies to".

Referensi

Untuk informasi lebih lanjut tentang fungsi CreateProcess, kunjungi website MSDN berikut:
Informasi umum tentang fungsi CreateProcess
Untuk informasi lebih lanjut tentang xp_cmdshell disimpan prosedur, kunjungi website MSDN berikut:
Informasi umum tentang xp_cmdshell disimpan prosedur
Untuk informasi lebih lanjut mengenai masalah serupa, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
315939 PRB: Anak mewarisi handle yang tidak diinginkan selama panggilan CreateProcess

Properti

ID Artikel: 2671318 - Kajian Terakhir: 15 Oktober 2012 - Revisi: 1.0
Berlaku bagi:
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
Kata kunci: 
kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2671318 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini: 2671318

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