J'écris un programme de mise à jour de données SQL pour convertir les anciennes colonnes de type text/ntext/image en varchar/nvarchar/varbinary. Les programmes de mise à jour sont exécutés dans les transactions lorsque le système démarre pour mettre à jour la base de données à partir d'une ancienne version. Je suis devenu le SQL pour travailler sur lui-même, mais une poignée de colonnes en cours de modification ont été indexées en texte intégral, ce qui signifie que je ne peux pas modifier leur type sans d'abord laisser tomber l'index, comme ceci:Modification d'une colonne indexée de texte intégral dans une transaction
ALTER FULLTEXT INDEX ON Table DROP (Column)
exec dbo.ConvertDataType 'Table', 'Column', 'nvarchar(max)'
ALTER FULLTEXT INDEX ON Table ADD (Column)
Le problème est que la première ligne ne fonctionne pas dans le programme de mise à jour de données en raison de l'erreur "L'instruction ALTER FULLTEXT INDEX ne peut pas être utilisée dans une transaction utilisateur". Y a-t-il un moyen d'y arriver dans le cadre de la transaction? Soit en faisant fonctionner ce code, soit en changeant l'index pour le nouveau type d'une autre manière?