| Termin | Definicja |
|---|---|
| Procedura systemowa | Procedura systemowa to wbudowana procedura SQL Server, zwykle z przedrostkiem sp_, dostarczana przez producenta. Rola procedury systemowej w SQL ServerProcedura systemowa w Microsoft SQL Server jest gotowym modułem Transact-SQL dostarczanym razem z silnikiem bazy danych albo z jego narzędziami. Taki moduł zawiera instrukcje przygotowane przez producenta i służy do wykonywania powtarzalnych czynności administracyjnych, odczytywania informacji o obiektach, sprawdzania stanu serwera lub obsługi funkcji systemowych. Procedura może przyjmować parametry, zwracać zestaw wyników, kod powrotu albo komunikaty diagnostyczne. Jest wywoływana podobnie jak procedura użytkownika, najczęściej za pomocą instrukcji Przedrostek Przykłady procedur dostarczanych przez silnikDo znanych procedur systemowych SQL Server należy Procedury systemowe mogą być związane z konkretną bazą albo z administracją instancją. Przykładowo Uprawnienia, kontekst i bezpieczne wywołanieProcedura systemowa działa w określonym kontekście bezpieczeństwa. Sam fakt, że została dostarczona przez SQL Server, nie oznacza automatycznego dostępu do wszystkich informacji. Użytkownik może otrzymać ograniczony wynik albo komunikat o braku uprawnień. Widoczność sesji, zapytań, obiektów i ustawień zależy między innymi od członkostwa w rolach serwerowych i bazodanowych oraz od uprawnień nadanych do konkretnych obiektów. Przy diagnostyce należy więc odnotować konto, bazę, instancję i dokładne polecenie, ponieważ te elementy wpływają na interpretację wyniku. Nie każda procedura o nazwie podobnej do systemowej ma taki sam status i poziom wsparcia. Procedury udokumentowane można sprawdzać w dokumentacji odpowiedniej wersji SQL Server. Procedury nieudokumentowane, procedury oznaczone jako wewnętrzne oraz obiekty znajdujące się w katalogach systemowych mogą zmienić działanie po aktualizacji lub nie być przeznaczone do bezpośredniego użycia przez aplikacje. Przed wykonaniem polecenia na środowisku produkcyjnym warto sprawdzić parametry, bazę docelową, wymagane uprawnienia oraz to, czy procedura wykonuje jedynie odczyt, czy także modyfikuje konfigurację albo dane. Procedura systemowa a rozpoznawanie problemu z baząPodczas analizy problemu z SQL Server procedura systemowa może dostarczyć informacji pomocnych w ustaleniu, czy przyczyną jest konfiguracja, blokada, brak miejsca, błędny kontekst bazy lub niewystarczające uprawnienia. Nie zastępuje jednak pełnej diagnostyki. Wynik W przypadku aplikacji działającej na komputerze użytkownika ważne jest rozróżnienie problemu z programem od problemu z samym silnikiem SQL Server. Błędna nazwa serwera, nieprawidłowy wybór bazy, wygasłe poświadczenia lub brak uprawnień mogą wystąpić jeszcze przed wykonaniem właściwej procedury. Jeżeli procedura zwraca dane, ale aplikacja interpretuje je błędnie, źródłem usterki może być warstwa połączenia, mapowanie wyników albo niezgodność wersji sterownika. Rzetelna diagnoza wymaga zachowania pełnego komunikatu, nazwy procedury, parametrów i czasu wykonania, bez traktowania samego przedrostka |