Kami meningkatkan lingkungan pengujian kami dengan server baru dan versi terbaru dari Microsoft SQL Server dan telah mengalami masalah.
Di server baru, kode lama kami akan mendapatkan "operasi tidak diizinkan ketika objek ditutup" ketika menjalankan beberapa prosedur yang tersimpan. Pesan ini tidak pernah muncul di server lama. Ketika kami melacaknya, masalah dapat diatasi dengan menambahkan SET NOCOUNT ON;
ke prosedur tersimpan.
Saya melihat default pada database dan tidak melihat pengaturan yang berbeda (SQL Server 2008 vs SQL Server 2014) yang terkait dengan default.
Pengaturan apa yang harus saya cari untuk menyelesaikan masalah ini secara global tanpa perlu menambah SET NOCOUNT ON
ribuan procs yang disimpan?
SET NOCOUNT ON;
pada awal prosedur tersimpan (setelah BEGIN
). Jumlah prosedur tersimpan seharusnya tidak menjadi masalah.
BEGIN
- bagus, tetapi tidak diperlukan.
SET NOCOUNT ON;
, selalu.