Impossible de renommer une colonne qui est « reproduit », probablement en raison de la CDC
-
22-09-2019 - |
Question
Je veux exécuter la commande suivante renomme
EXECUTE sp_rename N'dbo.Semesters.IsPublic', N'Tmp_ShowNCs', 'COLUMN'
Je reçois l'erreur
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.
J'ai permis la saisie des données de changement (CDC) pour ce tableau. Probablement c'est pourquoi cette colonne est « reproduit ». SSMS montre répliqués = oui.
Je veux savoir si cela est normal ou un bug. Je veux garder la CDC, mais renommer cette colonne. Dois-je d'autres options que la suppression des informations CDC existantes et réactivant CDC?
La solution
vous avez fait pour tort. Vous devez désactiver CDC sur la table (CDC sur DB est activée), puis modifiez la colonne, puis activez CDC sur la table. Pour annuler votre problème, vous devez activer CDC sur DB, puis sur la table, désactivez CDC sur la table, renommer la colonne, activez la CDC sur la table.