DBAtlas · Atlas de operações de banco de dados

4922: ALTER TABLE ALTER COLUMN failed because one or more objects access this column (ALTER TABLE ALTER COLUMN falhou porque um ou mais objetos acessam esta coluna)

SQL Server

O que significa?

Você tentou alterar o tipo/propriedade de uma coluna, mas objetos que dependem dela (índice, constraint, coluna computada, estatísticas, view com schema binding etc.) impediram a alteração. A coluna não pode ser alterada até que as dependências sejam removidas.

Por que acontece?

A coluna é usada em um índice, em uma constraint PRIMARY KEY/UNIQUE/CHECK/DEFAULT, na expressão de uma coluna computada, em uma view/função definida WITH SCHEMABINDING ou em um objeto de estatísticas. Uma alteração de tipo/tamanho invalidaria esses objetos, por isso o ALTER é rejeitado.

Como resolver

Primeiro encontre os objetos dependentes e remova-os ou desabilite-os temporariamente, altere a coluna e depois recrie-os. Consulte sys.sql_expression_dependencies e sys.indexes/sys.default_constraints para ver as dependências. Ordem típica: DROP CONSTRAINT/INDEX -> ALTER COLUMN -> CREATE novamente. Para views com schema binding, remova temporariamente o SCHEMABINDING e adicione-o de volta.

Abrir no DBAtlas →

Mais entradas deste banco