Udostępnij za pomocą


sp_addextendedproc (Transact-SQL)

Dotyczy:SQL Server

Rejestruje nazwę nowej rozszerzonej procedury przechowywanej do SQL Server.

Uwaga / Notatka

Ta funkcja zostanie usunięta w przyszłej wersji programu SQL Server. Unikaj używania tej funkcji w nowych pracach programistycznych i zaplanuj modyfikowanie aplikacji, które obecnie korzystają z tej funkcji. Zamiast tego użyj integracji Common Language Runtime (CLR ).

Transact-SQL konwencje składni

Składnia

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

Arguments

[ @functname = ] N'funkcname'

Nazwa funkcji do wywołania w bibliotece dynamicznych łącz (DLL). @functname to nvarchar(517), bez domyślnego wypadku. @functname opcjonalnie mogą uwzględnić nazwisko właściciela w formularzu <owner.function>.

[ @dllname = ] 'dllname'

Nazwa DLL, która zawiera tę funkcję. @dllname to varchar(255), bez dopłaty. Powinieneś określić pełną ścieżkę DLL.

Zwracanie wartości kodu

0 (powodzenie) lub 1 (niepowodzenie).

Zestaw wyników

Żaden.

Uwagi

Po utworzeniu rozszerzonej procedury przechowywanej, należy ją dodać do SQL Server za pomocą sp_addextendedproc. Więcej informacji można znaleźć w artykule Dodanie rozszerzonej procedury przechowywanej do SQL Server.

Procedura ta może być wykonywana wyłącznie w bazie master danych. Aby wykonać rozszerzoną procedurę przechowywaną z bazy innej niż master, kwalifikuj nazwę rozszerzonej procedury przechowywanej za pomocą master.

sp_addextendedproc dodaje wpisy do widoku katalogu sys.objects , rejestrując nazwę nowej rozszerzonej procedury przechowywanej w SQL Server. Dodaje także wpis w widoku katalogu sys.extended_procedures .

Ważne

Istniejące DLL, które nie są zarejestrowane z pełną ścieżką, nie działają po aktualizacji do SQL Server. Aby rozwiązać problem, użyj sp_dropextendedproc do wyrejestrowania DLL, a następnie ponownego zarejestrowania go za pomocą sp_addextendedproc, określając pełną ścieżkę.

Permissions

Tylko członkowie stałej roli serwera sysadmin mogą wykonywać polecenie sp_addextendedproc.

Przykłady

Poniższy przykład dodaje rozszerzoną procedurę xp_hello przechowywaną.

USE master;
GO

EXECUTE sp_addextendedproc xp_hello, 'c:\xp_hello.dll';