sp_recompile (języka Transact-SQL)
Powoduje, że procedury przechowywane i wyzwalacze jest ponownie kompilowana przy następnym czas są one uruchamiane.
sp_recompile [ @objname = ] 'object'
Argumenty
- [ @objname = ] 'object'
Is the qualified or unqualified name of a stored procedure, trigger, table, or view in the current database.object is nvarchar(776), with no default.Jeśli object jest to nazwa procedura przechowywana lub wyzwalacza, procedura przechowywana lub wyzwalacz będzie ponownie kompilowana przy następnym czas on uruchomiony. Jeśli object jest nazwa tabela lub widoku wszystkich procedur przechowywanych, które odwołują się do tabela lub widoku będzie ponownie kompilowana przy następnym czas są one uruchamiane.
Wartości kodów powrotnych
0 (sukces) lub liczbę różną od zera (błąd)
Remarks
sp_recompile szuka obiektu w bieżącej bazie danych tylko.
Kwerend, procedur przechowywanych i wyzwalaczy są zoptymalizowane tylko wtedy, gdy są one skompilowane.Indeksy lub inne zmiany wpływające na statystyki są wprowadzane do bazy danych, skompilowane procedur przechowywanych i wyzwalaczy może dojść do utraty wydajności.Przy ponownej kompilacji procedur przechowywanych i wyzwalaczy, które działają w tabela, może być reoptimize kwerendy.
Uwaga
SQL Server automatycznie rekompiluje procedury przechowywane i wyzwalacze podczas lepiej jest to zrobić.
Uprawnienia
Wymaga ALTER uprawnienia dla określonego obiektu.
Przykłady
Poniższy przykład powoduje, że procedury przechowywane, które działają w Customer Tabela jest ponownie kompilowana przy następnym czas są one uruchamiane.
USE AdventureWorks;
GO
EXEC sp_recompile N'Sales.Customer';
GO