Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Pagetitle
TC_ALTER FAILED on file... Table DATA or STRUCTURE should be INVALID or CORRUPTED
TC_ALTER FAILED on file... Table DATA or STRUCTURE should be INVALID or CORRUPTED

Durante a operação de alteração da

...

estrutura de uma tabela,

...

A causa desta ocorrência pode ser verificada no log de erros do DBAccess ( Arquivo dbaccess.log , acessado através do DBAccess monitor. Normalmente houve alguma restrição do SGDB para remover ou alterar alguma propriedade de alguma coluna, relacionada a alguma View ou Gatilho, ou qualquer outro recurso do SGDB, que impede aquela operação de ser finalizada.

...

caso alguma de suas etapas intermediárias não for concluída em função de uma estrutura incompleta ou da corrupção de seus dados, é registrado a mensagem TC_ALTER FAILED on file [<table>]. Table DATA or STRUCTURE should be INVALID or CORRUPTED.

Causa

A causa dessa ocorrência pode ser observada nos logs do 

Inclusão de trecho
DBAccess
DBAccess
nopaneltrue
 e comumente está relacionada a alguma restrição implicada pelo uso de viewstriggersstatistics ou qualquer outro recurso que porventura possa impedir a operação.

Observações

  • É uma premissa que a tabela a ser alterada não possua dependências e/ou elementos externos que impeçam uma alteração estrutural.

Muitas vezes os DBAs inserem

...

triggers e statistics diretamente no SGBD. Essas operações são válidas contanto que não alterem o comportamento esperado

...

pela aplicação

...

e regra de negócio, uma vez que as mesmas deverão ser removidas manualmente e reaplicadas após a alteração estrutural estiver completa

Exemplo

No exemplo a seguir a coluna está relacionada a uma statistics e impede a operação de alteração.

Sem Formato

...

Segue baixo um exemplo, de falha na atualização de versão, no Banco MSSQL, onde foi criada uma estatística para uma determinada coluna de uma tabela do padrão. A Alteração estrutural tenta remover esta coluna, mas não consegue devido a existência da estatística.

...

04/01/2016 12:52:20 : [BEGINLOG]

...


Error : 5074 (37000) (RC=-1) - [Microsoft][ODBC SQL Server Driver][SQL Server]The statistics 'CTB_FILORI' is dependent on column 'CTB_FILORI'. ( From tMSSQLConnectionAlterTable_1 )

...


Thread ID [6096] User [sigasp] IO [5800] Tables [0] MaxTables [1] Comment [] Status [] SP [ ] Traced [No] InTran [No] DBEnv [MSSQL/BASEP12TST] DBThread [(SPID 132)] Started [04/01/2016 12:50:17] LastIO [] IP [192.168.0.202:1245] RCV [62330] SND [184900] TCBuild [20141119] 

...


ALTER TABLE dbo.CTB010 DROP COLUMN CTB_FILORI

...


[ENDLOG]

...


04/01/2016 12:52:20 : [BEGINLOG]

...


TC_ALTER FAILED on file [CTB010]. Table DATA or STRUCTURE should be INVALID or CORRUPTED. ( From tDBServer::AlterFile )

...


Thread ID [6096] User [sigasp] IO [5800] Tables [0] MaxTables [1] Comment [] Status [] SP [ ] Traced [No] InTran [No] DBEnv [MSSQL/BASEP12TST] DBThread [(SPID 132)] Started [04/01/2016 12:50:17] LastIO [] IP [192.168.0.202:1245] RCV [62330] SND [184900] TCBuild [20141119]

...

 

 

 

...