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. Дополнительные сведения см. в разделе Adding an Extended Stored Procedure to SQL Server.
Эта процедура может быть запущена только в базе данных master. Для выполнения хранимой процедуры из базы данных, отличной от master, используйте в имени расширенной хранимой процедуры префикс master.
Хранимая процедура sp_addextendedproc добавляет записи в представление каталога sys.objects при регистрации имени новой расширенной процедуры в SQL Server, а также добавляет запись в представление каталога sys.extended_procedures.
![]() |
---|
Существующие DLL, которые зарегистрированы без указания полного пути, перестанут работать после перехода на SQL Server 2005. Для решения этой проблемы воспользуйтесь хранимой процедурой sp_dropextendedproc для отмены регистрации DLL, а затем выполните их повторную регистрацию процедурой sp_addextendedproc, указывая полный путь доступа. |
Разрешения
Только члены фиксированной серверной роли sysadmin могут выполнять хранимую процедуру sp_addextendedproc.
Примеры
В следующем примере производится регистрация расширенной хранимой процедуры xp_hello.
USE master
GO
EXEC sp_addextendedproc xp_hello, 'c:\xp_hello.dll'
См. также
Справочник
EXECUTE (Transact-SQL)
Инструкция GRANT (Transact-SQL)
REVOKE (Transact-SQL)
sp_dropextendedproc (Transact-SQL)
sp_helpextendedproc (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)