Odroczone rozpoznawanie nazw i kompilacji

Po utworzeniu procedura składowana instrukcji w procedurze są analizowane syntaktycznych dokładności.Jeśli wystąpi błąd syntaktycznych w definicji procedury, zwracany jest błąd i nie utworzono procedura składowana.Jeżeli instrukcje są poprawne syntaktycznie, tekst procedura składowana jest przechowywany w sys.sql_modules wykazu widoku.

Po wykonaniu procedury przechowywanej w pierwszym czas, procesor kwerend odczytuje tekst procedura składowana z sys.sql_modules wykazu widoku i występują nazwy obiektów wykorzystywanych przez procedurę kontroli.Ten proces jest nazywany odroczonego nazw, ponieważ odwołuje się procedura składowana obiekty tabela należy istnieje po utworzeniu procedura składowana, ale tylko w przypadku, gdy jest wykonywane.

Ostrzeżenie

Rozpoznawanie nazw odroczonego należy używać tylko w przypadku odwołania nieistniejącej tabela obiektów.Musi istnieć inne obiekty czas tworzona jest procedura przechowywana.Na przykład gdy odwołanie istniejącej tabela w procedura składowana nie można wyświetlić nieistniejącej kolumny tabela.

In the resolution stage, Microsoft SQL Server also performs other validation activities (for example, checking the compatibility of a column data type with variables).Jeśli brakuje obiektów odwołuje się procedura składowana, podczas wykonywania procedura składowana, procedura składowana zatrzymuje wykonywanie, gdy zostanie napotkana instrukcja odwołania do brakującego obiektu.W takim przypadek lub jeśli inne błędy znajdują się w fazie rozdzielczość, zwracany jest błąd.

Ostrzeżenie

Jeśli obiekt odwołuje się procedura składowana jest usunięte lub zmieniono jego nazwę, a następnie zwracany jest błąd podczas wykonywania procedura składowana.Jednakże jeśli obiekt, do którego odwołuje się procedura składowana jest zastępowany obiekt o tej samej nazwie, procedura składowana wykonuje się bez konieczności utworzony.Na przykład, jeśli procedura składowana Proc1 tabela odwołań Test1, i Test1 jest usuwany i inną tabela o nazwie Test1 jest tworzony, Proc1 odwołuje się do nowej tabela.procedura składowana ma być odtworzone.

If procedure execution successfully passes the resolution stage, the Microsoft SQL Server query optimizer analyzes the Transact-SQL statements in the stored procedure and creates an execution plan.Plan wykonania opisano najszybsza metoda wykonywanie procedura składowana, w oparciu o informacje, takie jak:

  • Ilość danych w tabelach.

  • Charakter i obecność indeksy tabel i dystrybucji danych w indeksowanych kolumnach.

  • Operatory porównania oraz wartości porównawcze w warunkach klauzula WHERE.

  • Obecność Unii, Grupuj według i kolejność według słów kluczowych i sprzężeń.

Po kwerendy Optymalizator ma analizie tych czynników w procedura składowana, umieszcza plan wykonania w pamięci.Proces analizowania procedura składowana i tworzenie planu wykonania jest nazywany kompilacji.Plan wykonać zoptymalizowanych w pamięci jest używany do wykonywania kwerendy.Plan wykonania pozostaje w pamięci aż do SQL Server ponownego uruchomienia lub dopóki nie będzie potrzebne miejsce dla magazynu innego obiektu.

Gdy procedura składowana jest następnie wykonywane, SQL Server ponownie używa istniejących planów wykonywania, jeśli nadal znajduje się w pamięci.Plan wykonania nie jest już w pamięci, tworzony jest nowy plan wykonania.