Rozszerzone procedury przechowywane

Ważna informacjaWażne:

Ta funkcja zostanie usunięta z przyszłej wersji programu Microsoft SQL Server. Należy unikać stosowania tej funkcji w nowych projektach oraz zaplanować modyfikację aplikacji, w których obecnie jest używana ta funkcja.Użyj Integracji CLR zamiast.

Rozszerzone procedury przechowywane umożliwiają tworzenie własnych procedur zewnętrznych w języku programowania, takich jak C.Rozszerzone procedury przechowywane są wyświetlane użytkownikom jako regularnych procedur przechowywanych i są wykonywane w taki sam sposób.Parametry mogą być przekazywane do rozszerzonych procedur przechowywanych i rozszerzone procedury przechowywane mogą zwracać wyniki i stan zwrotu.

Rozszerzone procedury przechowywane są pliki dll, wystąpienie SQL Server można dynamicznie obciążenia i uruchomRozszerzone procedury przechowywane, uruchom bezpośrednio w przestrzeni adresowej wystąpienie SQL Server i są tak zaprogramowane, przy użyciu programu SQL Server Extended przechowywane procedury API.

Ostrzeżenie

Rozszerzone procedury przechowywane nie stosuje się do utworzenia wystąpienia programu Microsoft.NET Framework common language runtime i wykonać kod zarządzany.W tym scenariuszu nie będą obsługiwane w przyszłych wersjach programu SQL Server.Integracja CLR zapewnia bardziej niezawodne i bezpieczne zamiast pisania rozszerzonych procedur przechowywanych.

Po rozszerzone przechowywane procedury został zapisany, członkowie sysadmin roli serwera stałych można zarejestrować rozszerzona procedura składowana z wystąpienie z SQL Serveri Udziel uprawnienia innym użytkownikom na wykonywanie procedury.Rozszerzone procedury przechowywane mogą być dodawane tylko do wzorca bazy danych.

Ostrzeżenie

Rozszerzone procedury przechowywane mogą dawać przecieki pamięci lub innych problemów, które zmniejszyć wydajność i niezawodność serwera.Należy rozważyć przechowywanie rozszerzonych procedur przechowywanych w instancji SQL Server oddzielonym od wystąpienie zawierający odwołanie danych.Należy również rozważyć, dostęp do bazy danych za pomocą kwerend rozproszonych.Aby uzyskać więcej informacji, zobacz Kwerend rozproszonych.

Zabezpieczenia

Przed dodaniem rozszerzonych procedur przechowywanych na serwerze i przyznawania wykonać uprawnienia innym użytkownikom administrator systemu należy dokładnie przeczytać każdego rozszerzona procedura składowana, aby upewnić się, że nie zawiera szkodliwych lub szkodliwy kod.

Wytyczne dotyczące dodatkowych zabezpieczeń obejmują:

  • Sprawdź poprawność wszystkich danych wejściowych użytkownika.

  • Nie można łączyć dane wejściowe użytkownika przed sprawdzaniem poprawności go.

  • Nigdy nie można wykonać polecenia zbudowane z użytkownikiem unvalidated.Aby uzyskać więcej informacji, zobacz Iniekcji SQL.