استدعاء الإجراءات المخزنة

مكتمل

قد يتم استدعاء الإجراءات المخزنة بواسطة تطبيق أو من قبل مستخدم أو عند بدء تشغيل SQL Server.

تنفيذ إجراء مخزن بواسطة مستخدم

عندما ينفذ تطبيق أو مستخدم إجراء مخزنا، يتم استخدام الأمر EXECUTE أو اختصاره، EXEC، متبوعا باسم المكون من جزءين من الإجراء. على سبيل المثال:

EXEC dbo.uspGetEmployeeManagers

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

إذا كان الإجراء المخزن هو العبارة الأولى في دفعة T-SQL، يمكن تنفيذ الإجراء دون الكلمة الأساسية EXECUTE أو EXEC.

للتحقق من أسماء إجراءات النظام الدقيقة، استخدم طرق عرض الكتالوج:

sys.system_objects

sys.system_parameters

الإجراءات المخزنة في النظام مسبوقة sp_. لا يتم إنشاء الإجراءات المخزنة للنظام من قبل المستخدمين، ولكنها جزء من جميع قواعد البيانات المعرفة من قبل المستخدم والمعرفة من قبل النظام. لا تتطلب اسما مؤهلا بالكامل ليتم تنفيذه، ولكن من الأفضل تضمين اسم مخطط sys . على سبيل المثال:

EXEC sys.sp_who;

تنفيذ إجراء مخزن تلقائيا

يمكنك تشغيل إجراء مخزن في كل مرة يبدأ فيها SQL Server. قد تحتاج إلى تنفيذ عمليات صيانة قاعدة البيانات، أو تشغيل إجراء كعملية خلفية. لا يمكن أن تحتوي الإجراءات المخزنة التي يتم تشغيلها تلقائيا على معلمات الإدخال أو الإخراج.

استخدم sp_procoption لتشغيل إجراء مخزن في كل مرة يتم فيها بدء تشغيل مثيل SQL Server. بناء الجملة هو:

sp_procoption [ @ProcName = ] 'procedure'     
    , [ @OptionName = ] 'option'     
    , [ @OptionValue = ] 'value'

على سبيل المثال:

EXEC sp_procoption @ProcName = myProcedure    
    , @OptionName = 'startup'   
    , @OptionValue = 'on';

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

يجب أن تكون إجراءات بدء التشغيل في قاعدة البيانات الرئيسية.