Aracılığıyla paylaş


sp_addextendedproc (Transact-SQL)

Şunlar için geçerlidir: SQL Server

Yeni genişletilmiş bir depolanmış prosedürün adını SQL Server'a kaydeder.

Uyarı

Bu özellik, SQL Server'ın gelecek bir sürümünde kaldırılacaktır. Bu özelliği yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özelliği kullanan uygulamaları değiştirmeyi planlayın. Bunun yerine Ortak dil çalışma zamanı (CLR) entegrasyonu kullanın.

Transact-SQL söz dizimi kuralları

Sözdizimi

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

Arguments

[ @functname = ] N'functname'

Dinamik bağlantı kütüphanesi (DLL) içinde çağrılacak fonksiyonun adı. @functnamenvarchar(517)'dir ve varsayılan yoktur. @functname isteğe bağlı olarak form içinde sahibin adını <owner.function>da ekleyebilir.

[ @dllname = ] 'dllname'

Fonksiyonu içeren DLL'nin adı. @dllnamevarchar(255)'dir ve varsayılan yoktur. DLL'nin tam yolunu belirtmelisiniz.

Dönüş kodu değerleri

0 (başarı) veya 1 (başarısızlık).

Sonuç kümesi

Yok.

Açıklamalar

Genişletilmiş bir depolanmış prosedür oluşturulduktan sonra, SQL Server'a kullanılarak sp_addextendedproceklenmelidir. Daha fazla bilgi için bkz. SQL Server'a Genişletilmiş Bir Depolanmış Prosedür Ekleme.

Bu prosedür yalnızca veritabanında master çalıştırılabilir. Genişletilmiş masterbir depolanmış prosedürü başka bir veritabanından çalıştırmak için, genişletilmiş depolanmış prosedürün adını şöyle niteliklendirin: master.

sp_addextendedproc sys.objects katalog görünümüne girişler ekler ve SQL Server ile yeni genişletilmiş depolanmış prosedürün adını kaydeder. Ayrıca sys.extended_procedures katalog görünümüne bir giriş ekliyor.

Önemli

Mevcut DLL'ler, tam bir yola kayıtlı değil, SQL Server'a yükseltildikten sonra çalışmaz. Sorunu düzeltmek için, DLL'yi kayıttan çıkarmak için kullanın sp_dropextendedproc ve ardından tam yolu belirterek sp_addextendedprocyeniden kaydedin.

Permissions

yalnızca sysadmin sabit sunucu rolünün üyeleri yürütebilir sp_addextendedproc.

Örnekler

Aşağıdaki örnek, genişletilmiş depolanmış prosedürü xp_hello ekler.

USE master;
GO

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