Характеристики выполнения расширенных хранимых процедур
Важно! |
---|
В будущей версии 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. Перед установкой эти процедуры следует тщательно протестировать.
См. также