Характеристики выполнения расширенных хранимых процедур
Важно! |
---|
В будущей версии Microsoft SQL Server этот компонент будет удален. Не используйте его при работе над новыми приложениями и как можно быстрее измените приложения, в которых он в настоящее время используется. Пользуйтесь вместо этого интеграцией со средой CLR. |
Выполнение расширенных хранимых процедур имеет следующие характеристики:
расширенная хранимая процедура выполняется в контексте безопасности Microsoft SQL Server;
расширенная хранимая процедура выполняется в пространстве процесса SQL Server;
поток, связанный с выполнением расширенной хранимой процедуры, тот же, что используется для клиентского соединения.
Примечание по безопасности Прежде чем добавить расширенные хранимые процедуры на сервер и предоставить разрешение на их выполнение другим пользователям, системный администратор должен тщательно проверить каждую хранимую процедуру, чтобы убедиться, что она не содержит вредоносного или злонамеренного кода.
После загрузки DLL-библиотеки расширенной хранимой процедуры эта DLL-библиотека остается загруженной в адресном пространстве сервера, пока SQL Server не остановится или администратор явно не выгрузит ее из памяти с помощью инструкции DBCC DLL_name (FREE).
Расширенная хранимая процедура может выполняться в Transact-SQL как хранимая процедура с помощью инструкции EXECUTE:
EXECUTE @retval = xp_extendedProcName @param1, @param2 OUTPUT
Параметры
@ retval
Возвращаемое значение.@ param1
Входной параметр.@ param2
Входной и (или) выходной параметр.Внимание! Расширенные хранимые процедуры увеличивают производительность и расширяют возможности SQL Server. Однако из-за того, что DLL-библиотека расширенной хранимой процедуры и SQL Server совместно используют одно и то же адресное пространство, проблемная процедура может отрицательно повлиять на работу SQL Server. Хотя исключения, вызываемые DLL-библиотеками расширенных хранимых процедур, обрабатываются SQL Server, тем не менее можно повредить области данных SQL Server. В целях безопасности добавлять расширенные хранимые процедуры к SQL Server могут только системные администраторы SQL Server. Перед установкой эти процедуры следует тщательно протестировать.
См. также
Основные понятия
Программирование расширенных хранимых процедур
Запрос расширенных хранимых процедур, установленных в SQL Server