sp_addextendedproc (Transact-SQL)

Применимо к:SQL Server

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

Примечание.

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

Соглашения о синтаксисе Transact-SQL

Синтаксис

sp_addextendedproc
    [ @functname = ] N'functname'
    , [ @dllname = ] 'dllname'
[ ; ]

Аргументы

[ @functname = ] N'functname'

Имя функции для вызова в библиотеке динамических ссылок (DLL). @functname nvarchar(517), без значения по умолчанию. @functname при необходимости может включать имя владельца в форме<owner.function>.

[ @dllname = ] 'dllname'

Имя библиотеки DLL, содержащей функцию. @dllname — 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. Чтобы устранить проблему, используйте sp_dropextendedproc для отмены регистрации библиотеки DLL, а затем повторно зарегистрируйте ее с sp_addextendedprocпомощью, указав полный путь.

Разрешения

Могут выполняться sp_addextendedprocтолько члены предопределенных ролей сервера sysadmin.

Примеры

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

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