Автоматичне виконання збережених процедур
Збережені процедури, помічені для автоматичного запуску, виконуються кожен раз при запуску SQL Server. Це може бути корисним для виконання регулярних операцій або при наявності збереженої процедури, запущеної як фоновий процес, яка повинна виконуватися постійно. Крім того, автоматичний запуск збережених процедур може застосовуватися для виконання системних або службових завдань в базі даних tempdb. таких як створення глобальної тимчасової таблиці. Це допоможе гарантувати наявність тимчасової таблиці при повторному створенні tempdb під час запуску SQL Server.
Автоматично виконується процедура, що зберігається працює з тими ж дозволами, що і члени зумовленої ролі сервера sysadmin. Будь-яке повідомлення про помилку, сформований такий збереженої процедурою, записується в журнал помилок SQL Server. Чи не повертайте ніяких результуючих наборів з автоматично запускається збереженої процедури. Ця збережена процедура виконується SQL Server, а не користувачем, тому результуючі набори ніде не потрібні.
Виконання збережених процедур починається, коли база даних master відновлюється при запуску.
Позначати збережену процедуру для автоматичного виконання може тільки системний адміністратор (sa). Крім того, процедура, що зберігається повинна знаходитися в базі даних master. належати користувачеві sa і не мати вхідних або вихідних параметрів.
Використовуйте процедуру sp_procoption щоб:
позначити існуючу процедуру, що зберігається як автоматично запускається;
скасувати виконання процедури при запуску SQL Server.
Обмежень на кількість автоматично запускаються процедур не існує, однак пам'ятайте, що для виконання кожної необхідний один робочий потік. Якщо необхідно виконати декілька процедур при запуску, які не повинні виконуватися паралельно, налаштуйте одну процедуру на автоматичний запуск, а другу викликайте в її тілі (в кінці). Таким чином буде задіяний тільки один робочий потік.
Установка і скасування автоматичного запуску збереженої процедури