Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

SQL Server menjalankan versi lama dari prosedur tersimpan

Berdasarkan kode Stored Proc dan informasi tambahan yang kami lihat di bawah EDIT2 kita tahu bahwa:

  1. MASUKKAN BULK sedang dipanggil
  2. "pengguna masih mendapatkan kesalahan tentang tidak memiliki akses ke BULK INSERT tetapi semua orang mendapatkan kesalahan yang kami ajukan"

Fungsi T-SQL tertentu (mis. OPENQUERY, OPENROWSET, MASUKKAN BULK , dll) melakukan pra-validasi keamanan. Seorang Pengguna harus memiliki izin INSERT dan ADMINISTER BULK OPERATIONS, dan dalam beberapa kasus ALTER TABLE, untuk menjalankan BULK INSERT. Selain itu, izin NTFS / Active Directory untuk Pengguna (jika menggunakan Otentikasi Windows) atau Akun "Log On As" dari Layanan SQL Server (jika menggunakan SQL Server Authentication) akan divalidasi untuk memastikan bahwa file dapat dibaca.

Pra-validasi (atau setidaknya apa yang saya sebut "pra-validasi") terjadi ketika Stored Proc (atau Fungsi, dll) dipanggil dan bukan karena setiap baris dijalankan. Jika kesalahan terjadi pada titik ini maka tidak ada kode di Proc Anda yang akan dieksekusi, termasuk RAISERROR atau INSERT ke dalam tabel log.

Oleh karena itu, kemungkinan besar penyebab perilaku yang Anda lihat adalah bahwa Pengguna yang memiliki masalah tersebut tidak memiliki a) satu atau lebih izin SQL Server yang diperlukan, atau b) izin NTFS yang sesuai, atau c) semua di atas.

Mengingat bahwa kesalahannya adalah tentang tidak memiliki akses ke BULK INSERT, dugaan saya adalah bahwa pengguna tertentu ini kehilangan satu atau lebih izin SQL Server.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kelompokkan baris berurutan dengan nilai yang sama menggunakan rentang waktu

  2. Cara Memasukkan Hasil Prosedur Tersimpan ke Tabel Sementara di SQL Server

  3. Kode VBA untuk Menambahkan Tabel Tertaut dengan Kunci Utama

  4. SQL Tidak dapat memasukkan nilai eksplisit untuk kolom identitas dalam tabel 'Tabel' ketika IDENTITY_INSERT disetel ke OFF

  5. Pencarian String Wildcard Trigram di SQL Server