DBAtlas · Atlas d'exploitation des bases de données

4922: ALTER TABLE ALTER COLUMN failed because one or more objects access this column (échec d'ALTER TABLE ALTER COLUMN : un ou plusieurs objets accèdent à cette colonne)

SQL Server

Que signifie cette erreur ?

Vous avez tenté de modifier le type/une propriété d'une colonne, mais des objets dépendant de cette colonne (index, contrainte, colonne calculée, statistiques, vue schema-bound, etc.) l'en ont empêché. La colonne ne peut pas être modifiée tant que les dépendances ne sont pas retirées.

Cause

La colonne est utilisée dans un index, une contrainte PRIMARY KEY/UNIQUE/CHECK/DEFAULT, une expression de colonne calculée, une vue/fonction définie WITH SCHEMABINDING, ou un objet de statistiques. Un changement de type/de taille invaliderait ces objets, l'ALTER est donc refusé.

Comment la corriger

Trouvez d'abord les objets dépendants et supprimez-les ou désactivez-les temporairement, modifiez la colonne, puis recréez-les. Interrogez sys.sql_expression_dependencies et sys.indexes/sys.default_constraints pour voir les dépendances. Ordre typique : DROP CONSTRAINT/INDEX -> ALTER COLUMN -> CREATE de nouveau. Pour les vues schema-bound, retirez temporairement SCHEMABINDING puis rajoutez-le.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur