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';