DBAtlas · Atlas de operaciones de bases de datos

4922: ALTER TABLE ALTER COLUMN failed because one or more objects access this column (falló ALTER TABLE ALTER COLUMN porque uno o más objetos acceden a esta columna)

SQL Server

¿Qué significa?

Intentó cambiar el tipo/propiedad de una columna, pero los objetos que dependen de ella (índice, restricción, columna calculada, estadísticas, vista con schema binding, etc.) lo impidieron. La columna no puede modificarse hasta quitar las dependencias.

¿Por qué ocurre?

La columna se usa en un índice, una restricción PRIMARY KEY/UNIQUE/CHECK/DEFAULT, una expresión de columna calculada, una vista/función definida WITH SCHEMABINDING o un objeto de estadísticas. Un cambio de tipo/tamaño invalidaría esos objetos, por lo que se rechaza el ALTER.

Cómo solucionarlo

Busque primero los objetos dependientes y elimínelos o deshabilítelos temporalmente, modifique la columna y vuelva a crearlos. Consulte sys.sql_expression_dependencies y sys.indexes/sys.default_constraints para ver las dependencias. Orden típico: DROP CONSTRAINT/INDEX -> ALTER COLUMN -> CREATE de nuevo. En vistas con schema binding, quite temporalmente SCHEMABINDING y vuelva a añadirlo.

Abrir en DBAtlas →

Más entradas de este motor