sp_recompile (Transact-SQL)sp_recompile (Transact-SQL)

S’APPLIQUE À : ouiSQL Server (à partir de 2008) ouiAzure SQL Database nonAzure SQL Data Warehouse nonParallel Data Warehouse APPLIES TO: yesSQL Server (starting with 2008) yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Provoque la recompilation des procédures stockées, des déclencheurs et des fonctions définies par l'utilisateur lors de leur prochaine exécution.Causes stored procedures, triggers, and user-defined functions to be recompiled the next time that they are run. Pour cela, il supprime le plan existant du cache de procédures, ce qui force la création d'un nouveau plan lors de la prochaine exécution de la procédure ou du déclencheur.It does this by dropping the existing plan from the procedure cache forcing a new plan to be created the next time that the procedure or trigger is run. Dans une collection SQL Server ProfilerSQL Server Profiler, l'événement SP:CacheInsert est journalisé au lieu de l'événement SP:Recompile.In a SQL Server ProfilerSQL Server Profiler collection, the event SP:CacheInsert is logged instead of the event SP:Recompile.

Icône de lien de rubrique Conventions de la syntaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SyntaxeSyntax

  
sp_recompile [ @objname = ] 'object'  

ArgumentsArguments

[ @objname=] 'objet'[ @objname= ] 'object'
Nom qualifié ou non qualifié d'une procédure stockée, d'un déclencheur, d'une table, d'une vue ou d'une fonction définie par l'utilisateur dans la base de données actuelle.The qualified or unqualified name of a stored procedure, trigger, table, view, or user-defined function in the current database. objet est nvarchar(776), sans valeur par défaut.object is nvarchar(776), with no default. Si objet est le nom d’un déclencheur de procédure, déclencheur ou fonction définie par l’utilisateur, la procédure stockée, stocké ou fonction est recompilées lors de la prochaine fois qu’elle est exécutée.If object is the name of a stored procedure, trigger, or user-defined function, the stored procedure, trigger, or function will be recompiled the next time that it is run. Si objet est le nom d’une table ou vue, toutes les procédures stockées, déclencheurs ou fonctions définies par l’utilisateur qui font référence à la table ou vue seront recompilées lors de la prochaine fois qu’elles sont exécutées.If object is the name of a table or view, all the stored procedures, triggers, or user-defined functions that reference the table or view will be recompiled the next time that they are run.

Valeurs des codes de retourReturn Code Values

0 (réussite) ou un nombre différent de zéro (échec)0 (success) or a nonzero number (failure)

NotesRemarks

sp_recompile ne recherche un objet que dans la base de données active.sp_recompile looks for an object in the current database only.

Les requêtes utilisées par les procédures stockées ou les déclencheurs et les fonctions définies par l'utilisateur ne sont optimisées que quand elles sont compilées.The queries used by stored procedures, or triggers, and user-defined functions are optimized only when they are compiled. À mesure que vous ajoutez des index à votre base de données ou que vous y apportez d'autres changements modifiant ses statistiques, les procédures stockées, les déclencheurs et les fonctions définies par l'utilisateur compilés peuvent perdre de leur efficacité.As indexes or other changes that affect statistics are made to the database, compiled stored procedures, triggers, and user-defined functions may lose efficiency. En recompilant les procédures stockées et les déclencheurs qui agissent sur une table, vous pouvez réoptimiser les requêtes.By recompiling stored procedures and triggers that act on a table, you can reoptimize the queries.

Notes

SQL ServerSQL Server recompile automatiquement les procédures stockées, les déclencheurs et les fonctions définies par l'utilisateur quand il est avantageux de le faire. automatically recompiles stored procedures, triggers, and user-defined functions when it is advantageous to do this.

PermissionsPermissions

Nécessite l'autorisation ALTER pour l'objet spécifié.Requires ALTER permission on the specified object.

ExemplesExamples

L'exemple suivant engendre la recompilation des procédures stockées, des déclencheurs et des fonctions définies par l'utilisateur qui agissent sur la table Customer lors de leur prochaine exécution.The following example causes stored procedures, triggers, and user-defined functions that act on the Customer table to be recompiled the next time that they are run.

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

Voir aussiSee Also

CREATE PROCEDURE (Transact-SQL) CREATE PROCEDURE (Transact-SQL)
CREATE TRIGGER (Transact-SQL) CREATE TRIGGER (Transact-SQL)
Procédures stockées système (Transact-SQL)System Stored Procedures (Transact-SQL)