Non può rinominare una colonna che viene "replicata", probabilmente a causa di CDC
-
22-09-2019 - |
Domanda
Voglio eseguire il seguente rinominato
EXECUTE sp_rename N'dbo.Semesters.IsPublic', N'Tmp_ShowNCs', 'COLUMN'
Ricevo l'errore
Msg 4928, Level 16, State 1, Procedure sp_rename, Line 547
Cannot alter column 'IsPublic' because it is 'REPLICATED'.
Msg 0, Level 20, State 0, Line 0
A severe error occurred on the current command. The results, if any, should be discarded.
Ho abilitato la modifica dei dati di acquisizione (CDC) per questa tabella. Probabilmente ecco perché questa colonna è "replicata". SSMS mostra replicato = Sì.
Quindi voglio sapere se questo è normale o un bug. Voglio mantenere CDC ma rinominare questa colonna. Ho opzioni diverse dall'eliminazione delle informazioni CDC esistenti e di rievocazione del CDC?
Soluzione
Hai fatto in ordine sbagliato. È necessario disattivare CDC sulla tabella (CDC su DB è acceso), quindi modificare la colonna, quindi attivare CDC sulla tabella. Per annullare il problema devi attivare CDC su DB, quindi su tabella, disattivare CDC sulla tabella, rinominare la colonna, attivare CDC sulla tabella.