sp_addextendedproc (Transact-SQL)
Регистрирует в Microsoft SQL Server имя новой расширенной хранимой процедуры.
Примечание |
---|
В будущей версии Microsoft SQL Server эта возможность будет удалена. Избегайте использования этой возможности в новых разработках и запланируйте изменение существующих приложений, в которых она применяется. Пользуйтесь вместо этого интеграцией со средой CLR. |
Синтаксис
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'