sp_recompile (Transact-SQL)
Вызывает перекомпиляцию хранимых процедур и триггеров при следующем запуске.
Соглашения о синтаксисе в Transact-SQL
Синтаксис
sp_recompile [ @objname = ] 'object'
Аргументы
- [ @objname = ] 'object'
Полное или неполное имя хранимой процедуры, триггера, таблицы или представления текущей базы данных. Аргумент object имеет тип nvarchar(776) и не имеет значения по умолчанию. Если аргумент object — это имя хранимой процедуры или триггера, то эта процедура или триггер будут перекомпилированы при следующем запуске. Если аргумент object — это имя таблицы или представления, то все хранимые процедуры, которые ссылаются таблицу или представление, будут перекомпилированы при следующем запуске.
Значения кодов возврата
0 (успешное завершение) или ненулевое значение (неуспешное завершение)
Замечания
Процедура sp_recompile ищет объект только в текущей базе данных.
Запросы, применяемые хранимыми процедурами и триггерами, оптимизируются только при компиляции. При изменениях базы данных, влияющих на статистику, эффективность компилируемых хранимых процедур и триггеров может понижаться. Путем перекомпиляции хранимых процедур и триггеров, влияющих на таблицу, можно повторно оптимизировать запросы.
Примечание. |
---|
SQL Server автоматически перекомпилирует хранимые процедуры и триггеры, когда это удобно. |
Разрешения
Необходимо разрешение ALTER для объекта.
Примеры
В приведенном ниже примере хранимые процедуры, влияющие на таблицу Customer
, перекомпилируются при следующем запуске.
USE AdventureWorks;
GO
EXEC sp_recompile N'Sales.Customer';
GO
См. также
Справочник
CREATE PROCEDURE (Transact-SQL)
CREATE TRIGGER (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)