J'ai une base de données exécutée sous Sql Server 2005 avec une réplication de fusion. Je veux que certaines des colonnes FK soient 'non nulles' car elles devraient toujours avoir une valeur. SQL Server ne me laisse pas le faire bien, voici ce qu'il dit:Modification de la contrainte de colonne null/not null = erreur de réplication rowguid
- Impossible de modifier la table. Il est incorrect de supprimer la contrainte par défaut sur la colonne rowguid utilisée par la réplication de fusion . La modification de schéma a échoué lors de l'exécution d'une procédure de réplication interne . Pour l'action corrective , consultez les autres messages d'erreur qui accompagnent ce message d'erreur. La transaction s'est terminée dans le déclencheur. Le lot a été annulé.
Je ne cherche pas à modifier les contraintes sur la colonne rowguid du tout, seulement sur une autre colonne qui agit en tant que FK. Les autres colonnes que je veux définir ne sont pas nulles car l'enregistrement n'a aucun sens sans cette information (c'est-à-dire sur un client, le nom du client).
Questions: Existe-t-il un moyen de mettre à jour les colonnes pour qu'elles soient 'non nulles' sans désactiver la réplication, puis la réactiver? Est-ce encore la meilleure façon de faire cela - devrais-je utiliser une contrainte à la place?