संग्रहित प्रक्रिया कोड और अतिरिक्त जानकारी के आधार पर जो हम EDIT2 . के अंतर्गत देखते हैं हम जानते हैं कि:
- बल्क इंसर्ट कहा जा रहा है
- "उपयोगकर्ता को अभी भी बल्क इंसर्ट तक पहुंच नहीं होने के बारे में त्रुटि मिली है लेकिन बाकी सभी को वह त्रुटि मिली जो हम उठा रहे थे"
कुछ T-SQL फ़ंक्शन (जैसे OPENQUERY, OPENROWSET, बल्क इंसर्ट , आदि) सुरक्षा पर पूर्व-सत्यापन करते हैं। एक उपयोगकर्ता के पास बल्क इंसर्ट को निष्पादित करने के लिए INSERT और administer Bulk संचालन अनुमतियाँ, और कुछ मामलों में ALTER TABLE होनी चाहिए। इसके अतिरिक्त, उपयोगकर्ता के लिए NTFS / सक्रिय निर्देशिका अनुमतियाँ (यदि Windows प्रमाणीकरण का उपयोग कर रहे हैं) या SQL सर्वर सेवा (यदि SQL सर्वर प्रमाणीकरण का उपयोग कर रहे हैं) के "लॉग ऑन अस" खाते को यह सुनिश्चित करने के लिए मान्य किया जाएगा कि फ़ाइल पठनीय है।
पूर्व-सत्यापन (या कम से कम जिसे मैं "पूर्व-सत्यापन" कह रहा हूं) तब होता है जब संग्रहीत प्रक्रिया (या फ़ंक्शन, आदि) को कॉल किया जाता है और प्रत्येक पंक्ति को निष्पादित नहीं किया जाता है। यदि इस बिंदु पर कोई त्रुटि होती है तो आपकी प्रक्रिया में कोई भी कोड निष्पादित नहीं किया जाएगा, जिसमें RAISERROR या INSERT को लॉग तालिका में शामिल किया जाएगा।
इसलिए, आप जो व्यवहार देख रहे हैं उसका सबसे संभावित कारण यह है कि जिस उपयोगकर्ता के पास समस्या है, उसमें या तो a) एक या अधिक आवश्यक SQL सर्वर अनुमतियाँ, या b) उपयुक्त NTFS अनुमतियाँ, या c) सभी की कमी है ऊपर।
यह देखते हुए कि त्रुटि बल्क इंसर्ट तक पहुंच नहीं होने के बारे में थी, मेरा अनुमान है कि यह विशेष उपयोगकर्ता एक या अधिक SQL सर्वर अनुमतियों को याद कर रहा है।