Поделиться через


sp_addextendedproc (Transact-SQL)

Регистрирует в Microsoft SQL Server имя новой расширенной хранимой процедуры.

ПримечаниеПримечание

В будущей версии Microsoft SQL Server эта возможность будет удалена. Избегайте использования этой возможности в новых разработках и запланируйте изменение существующих приложений, в которых она применяется. Пользуйтесь вместо этого интеграцией со средой CLR.

Значок ссылки на разделСоглашения о синтаксисе в Transact-SQL

Синтаксис

sp_addextendedproc [ @functname = ] 'procedure' , 
     [ @dllname = ] 'dll'

Аргументы

  • [ @functname = ] 'procedure'
    Имя функции, вызываемой из динамически подключаемой библиотеки (DLL). Аргумент procedure имеет тип nvarchar(517) и не имеет значения по умолчанию. procedure может также включать имя владельца в формате owner.function.

  • [ @dllname = ] 'dll'
    Имя DLL, в которой содержится функция. Аргумент dll имеет тип varchar(255) и не имеет значения по умолчанию. Рекомендуется указывать полный путь DLL.

Значения кодов возврата

0 (успешное завершение) или 1 (неуспешное завершение)

Результирующие наборы

Нет

Замечания

После создания расширенной хранимой процедуры ее необходимо добавить в SQL Server при помощи хранимой процедуры sp_addextendedproc. Дополнительные сведения см. в разделе Добавление на SQL Server расширенной хранимой процедуры.

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

Хранимая процедура sp_addextendedproc добавляет записи в представление каталога sys.objects при регистрации имени новой расширенной процедуры в SQL Server, а также добавляет запись в представление каталога sys.extended_procedures.

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

Существующие DLL-библиотеки, которые зарегистрированы без указания полного пути, перестанут работать после обновления до SQL Server 2008. Для решения этой проблемы воспользуйтесь хранимой процедурой sp_dropextendedproc для отмены регистрации DLL-библиотеки, а затем выполните их повторную регистрацию процедурой sp_addextendedproc, указывая полный путь доступа.

Разрешения

Только члены предопределенной роли сервера sysadmin могут выполнять хранимую процедуру sp_addextendedproc.

Примеры

В следующем примере производится регистрация расширенной хранимой процедуры xp_hello.

USE master
GO
EXEC sp_addextendedproc xp_hello, 'c:\xp_hello.dll'