Udostępnij za pośrednictwem


sp_recompile (języka Transact-SQL)

Powoduje, że procedur przechowywanych i wyzwalaczy jest ponownie kompilowana następnym czas są uruchamiane.Odbywa się to przez upuszczenie istniejącego planu z pamięć podręczna procedury wymuszania nowy plan ma zostać utworzony następnym czas procedury lub wyzwalacz jest uruchamiany.W SQL Server Profiler kolekcja, zdarzenie SP:CacheInsert jest rejestrowany zamiast zdarzenie SP: Recompile.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

sp_recompile [ @objname = ] 'object'

Argumenty

  • [ @objname= ] 'object'
    Nazwa kwalifikowana lub niekwalifikowaną procedura składowana, wyzwalacz, tabelalub widoku w bieżącej bazie danych.objectjest nvarchar(776), z braku domyślne.Jeśli object jest nazwa procedura składowana lub wyzwalacza, procedura składowana lub będzie ponownie kompilowana dalej jest uruchamianie. czasJeśli object jest nazwa tabela lub widoku, wszystkie procedury przechowywane lub wyzwalaczy, które będą odwołanie do tabela lub widoku ponownie kompilowana następnym czas się Uruchom.

Wartości kodów powrotnych

0 (sukces) lub liczbę różną od zera (błąd)

Uwagi

sp_recompileszuka obiektu w bieżącej bazie danych tylko.

Kwerendy, procedury przechowywane i wyzwalacze są zoptymalizowane, tylko wtedy, gdy są kompilowane.Indeksy lub innych zmian, które mają wpływ na statystyki były wprowadzane do bazy danych, skompilowany procedur przechowywanych i wyzwalaczy utracić skuteczności.Przez kompilację procedur przechowywanych i wyzwalaczy, które działają w tabela, można reoptimize kwerend.

Ostrzeżenie

SQL Serverautomatycznie rekompiluje procedury przechowywane i wyzwalacze podczas jest korzystna w tym celu.

Uprawnienia

Wymaga zmiany uprawnień dla określonego obiektu.

Przykłady

Poniższy przykład powoduje, że procedury przechowywane i wyzwalacze, które działają w Customer tabela jest ponownie kompilowana następnym czas są uruchamiane.

USE AdventureWorks2008R2;
GO
EXEC sp_recompile N'Sales.Customer';
GO