لا يمكن العثور على الكائن "XXX" لأنه غير موجود أو أنه ليس لديك إذن بذلك

StackOverflow https://stackoverflow.com/questions/1601562

سؤال

أتلقى الخطأ التالي عند استدعاء إجراء مخزن:

لا يمكن العثور على الكائن "XXX" لأنه غير موجود أو أنه ليس لديك إذن بذلك.

لقد قمت بفحص قاعدة البيانات وكان مزود الخدمة موجودًا بالأذونات الصحيحة، ومع ذلك ما زلت أتلقى الخطأ.

أي اقتراحات؟

هل كانت مفيدة؟

المحلول 2

وطيب، وهنا ما حدث. كان هناك طابع خاص قبل نهاية SP لذلك كان غير مكتمل حتى الآن لا تزال سارية المفعول، بطريقة أو بأخرى.

وهكذا كنت أرى SP ونرى الأذونات على ذلك، ولكن لم أتمكن من تشغيله. لذا لحل القضية كان لي لنسخ النص من إدارة Studio SQL ولصقه في المفكرة، ثم إزالة طابع خاص، ثم نسخ ولصق مرة أخرى في إدارة Studio SQL وتشغيل البرنامج النصي تغيير.

وغريب جدا كيف حصلت على الطابع هناك!

نصائح أخرى

واكتشفت أنني قد توقفت كلمة "GO" بعد "END" في بلدي بروك المخزنة. تغيير بروك وإضافة إلى الوراء GO الثابتة هذه المسألة بالنسبة لي.

وعلى غرار الجواب ملحوظ: كان السطر الأخير من إجراء مخزن بلدي الخط الذي منح الإذن إلى الإجراء المخزن لتشغيل كمستخدم المناسب - غالبا ما تكون أضيفت هناك عندما ولدت النصي

.

وإزالة تلك (أو ربما الأحرف المخفية المرفقة) تمكن من اصلاحها.

و"XXX" كان اسم الإجراء المخزن دعوت، بنجاح (انها حققت التغيير المنشود) ولكن الذي أعطاني هذا الخطأ.

وأقابل هذه المسألة أيضا. في حالتي، أنا منحت إذن التنفيذ فقط بعد إنشاء الإجراء المخزن. وليس هناك "GO" بين العبارتين. وأضاف لي GO، وأنه يعمل.

والحساب الذي تستخدمه عند استدعاء الإجراء المخزن يجب أن لا يكون نفس الحساب الذي تستخدمه للتحقق من ذلك. تأكد من أن الحساب الذي تستخدمه لتنفيذ sproc لديه حق الوصول إلى الكائن.

بالإضافة إلى الإجابات الأخرى حول المخطط/الأمان وما إلى ذلك:

  • هل لديك DENY عليه في مكان ما؟
  • أسماء الكائنات الحساسة لحالة الأحرف واستخدام اسم "خاطئ"؟
  • سياق قاعدة البيانات خاطئ؟على سبيل المثال OtherDB.dbo.Myproc

وباستخدام "GO" إصلاح المشكلة بالنسبة لي كذلك. هذا كان يقود لي مجنون، بعد قطرات متعددة وأذونات للمستخدمين ومخطط فحص، هو ما ساعد هذا في نهاية المطاف.

في ملقم Microsoft SQL، تحديد الكائن في مستكشف الكائن الذي تريد العمل مع، بزر الماوس الأيمن فوقه، ثم القيام "سيناريو [كائن] ك 'يمكن أن تعطيك النصي تحتاج إلى إجراء العملية بنجاح دون الحصول على هذا الخطأ

استخدم دائمًا dbo. (أو أي مخطط آخر) البادئة عند إنشاء الكائنات وعند الوصول إليها.

لقد كتبت مؤخرا عن هذا الموضوع بالذات:

وحتى بعد إضافة لم قضية "GO" ليست ثابتة بالنسبة لي. ثم إحصائيات UPDATE إزالتها [TABLE_NAME] بيان ثم تم إصلاح قضية بلدي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top