+38(044) 277-40-42
+38(063) 233-01-83
+38(044) 277-42-05
+38(063) 233-01-83

Курсы MS SQL Server. Изучаем хранимые процедуры

Настоятельно рекомендую, чтобы Вы не создавали никаких хранимых процедур, используя sp_ как префикс. Сервер SQL всегда ищет хранимую процедуру, начинающуюся sp_, в следующем порядке:

1. Хранимая процедура в базе данных master. 2. Хранимая процедура, основанная на любых предоставленных квалификаторах (имя базы данных или имя владельца). 3. Хранимая процедура, используя dbo в качестве владельца, если Вы не указали другого владельца.

Поэтому, даже если разработанная пользователем хранимая процедура с префиксом с sp_ существует в текущей базе данных, сначала всегда проверяется база данных master. Это справедливо, даже если хранимая процедура квалифицирована именем базы данных. Следует также отметить, что, если какая-нибудь разработанная пользователем хранимая процедура имеет имя, совпадающее с именем системной хранимой процедуры, то разработанная пользователем хранимая процедура никогда не будет выполняться.Другая проблема, связанная с префиксом sp_ в имени пользовательской хранимой процедуры, заключается в том, что вызов хранимой процедуры первоначально пропустит компилированный план выполнения в кэше, что может вызвать задержку из-за блокировок компиляции.