sp_recompile (Transact-SQL)

Вызывает перекомпиляцию хранимых процедур и триггеров при следующем запуске.

Значок ссылки на разделСоглашения о синтаксисе в Transact-SQL

Синтаксис

sp_recompile [ @objname = ] 'object'

Аргументы

  • [ @objname = ] 'object'
    Полное или неполное имя хранимой процедуры, триггера, таблицы или представления текущей базы данных. Аргумент object имеет тип nvarchar(776) и не имеет значения по умолчанию. Если аргумент object — это имя хранимой процедуры или триггера, то эта процедура или триггер будут перекомпилированы при следующем запуске. Если аргумент object — это имя таблицы или представления, то все хранимые процедуры, которые ссылаются таблицу или представление, будут перекомпилированы при следующем запуске.

Значения кодов возврата

0 (успешное завершение) или ненулевое значение (неуспешное завершение)

Замечания

Процедура sp_recompile ищет объект только в текущей базе данных.

Запросы, применяемые хранимыми процедурами и триггерами, оптимизируются только при компиляции. При изменениях базы данных, влияющих на статистику, эффективность компилируемых хранимых процедур и триггеров может понижаться. Путем перекомпиляции хранимых процедур и триггеров, влияющих на таблицу, можно повторно оптимизировать запросы.

ms181647.note(ru-ru,SQL.90).gifПримечание.
SQL Server автоматически перекомпилирует хранимые процедуры и триггеры, когда это удобно.

Разрешения

Необходимо разрешение ALTER для объекта.

Примеры

В приведенном ниже примере хранимые процедуры, влияющие на таблицу Customer, перекомпилируются при следующем запуске.

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

См. также

Справочник

CREATE PROCEDURE (Transact-SQL)
CREATE TRIGGER (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)

Справка и поддержка

Получение помощи по SQL Server 2005