Характеристики выполнения расширенных хранимых процедур

Важное примечаниеВажно!

В будущей версии 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