MEMPERBAIKI: SQL Server mungkin macet ketika permintaan untuk eksekusi dari prosedur yang disimpan jauh berisi lengkap definisi argumen

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: 3135750
Gejala
Pada server jauh yang menjalankan Microsoft SQL Server 2012 atau SQL Server 2014, Anda telah disimpan prosedur yang memiliki argumen output yang mirip seperti berikut ini:

create procedure procExample @retVal varchar(10) outputas set @retVal = 'Goodbye';
Biasanya, sintaks untuk memanggil prosedur jauh menyerupai berikut ini:

-- Declare a variable to hold a result, and have it initialized with a non-NULL valuedeclare @outputResult varchar(10) = 'Hello';execute ('MyDb.dbo.procExample ? OUTPUT', @outputResult OUTPUT) at [MyRemoteServer];print @outputResult;
Apabila Anda mengabaikan "? OUTPUT"bagian dari panggilan sintaks, server lokal yang menjalankan SQL Server dapat lumpuh. Server jauh terus beroperasi karena eksekusi tidak pernah mencapai karena pengecualian sintaks ini. Misalnya, sintaks yang menyerupai berikut ini:

-- Declare a variable to hold a result, and have it initialized with a non-NULL valuedeclare @outputResult varchar(10) = 'Hello';execute ('MyDb.dbo.procExample', @outputResult OUTPUT) at [MyRemoteServer];
Variabel yang tidak diinisialisasi tidak menyebabkan server lokal lumpuh. Namun, menghasilkan pesan galat yang menyatakan bahwa tidak semua argumen ditetapkan untuk panggilan (sebagaimana mestinya). Misalnya, Anda memiliki sintaks berikut ini:

-- Declare a variable to hold a result, and initialize it with NULL, or leave uninitializeddeclare @outputResult varchar(10) = NULL;execute ('MyDb.dbo.procExample', @outputResult OUTPUT) at [MyRemoteServer];
Dalam hal ini, Anda menerima pesan galat yang menyerupai berikut ini:

MSG 201, tingkat 16, negara 4 prosedur procExample, baris 10

Prosedur atau fungsi 'procExample' mengharapkan parameter '@retVal', yang tidak diberikan.
Pemecahan masalah

Informasi pemutakhiran

Masalah ini pertama kali diperbaiki dalam pemutakhiran kumulatif berikut ini untuk SQL Server:
Rekomendasi: Menginstal pembaruan kumulatif terbaru untuk SQL Server

Setiap pembaruan kumulatif yang baru untuk SQL Server berisi semua hotfix dan semua perbaikan keamanan yang disertakan di dalam pembaruan kumulatif sebelumnya. Periksa pembaruan kumulatif terbaru untuk SQL Server:

Catatan Anda dapat menemukan informasi tentang SQL Server terbaru bangun dari Telisik informasi tentang terbaru SQL Server di mana bangun.
Status
Microsoft telah memastikan bahwa ini merupakan masalah di dalam produk Microsoft sebagaimana tercantum di bagian "Berlaku untuk".
Referensi
Pelajari tentang terminologi Microsoft yang digunakan untuk menjelaskan pembaruan peranti penangkap lunak.

Peringatan: Artikel ini telah diterjemahkan secara otomatis

Properti

ID Artikel: 3135750 - Tinjauan Terakhir: 05/31/2016 11:31:00 - Revisi: 3.0

Microsoft SQL Server 2012 Service Pack 2, Microsoft SQL Server 2014 Service Pack 1, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Standard

  • kbqfe kbfix kbexpertiseinter kbsurveynew kbmt KB3135750 KbMtid
Tanggapan