Partager via


Vue d'ensemble de la refactorisation de changement de nom

Mise à jour : novembre 2007

Vous pouvez utiliser la refactorisation de base de données pour renommer un objet de schéma. Les autres objets qui référencent l'objet renommé sont automatiquement mis à jour avec le nouveau nom. Par exemple, vous pouvez renommer une colonne dans une table et toutes les procédures stockées qui référencent cette colonne sont automatiquement mises à jour avec le nouveau nom. Voici des exemples d'objets de schéma que vous pouvez renommer :

  • Tables

  • Colonnes de tables, vues et fonctions

  • Paramètres de procédure stockée

Il était traditionnellement facile de renommer des objets de base de données, mais il était difficile de mettre à jour les objets qui référencent ces objets renommés. La mise à jour des objets de référence était une tâche manuelle qui nécessitait d'avoir un enregistrement de tous les objets qui référencent l'objet renommé ou de faire appel à sp_depends pour obtenir ces informations. Comme sp_depends pouvait ne pas toujours retourner les données attendues, il n'était parfois pas possible d'obtenir ces informations de façon fiable. En utilisant la refactorisation de base de données, vous pouvez renommer correctement des objets de base de données et leurs objets de référence. Par défaut, les mises à jour sont appliquées uniquement aux objets dont les définitions ne provoquent pas d'avertissements ni d'erreurs.

En plus de mettre automatiquement à jour des objets de schéma de référence, la refactorisation de base de données peut également mettre à jour des plans de génération de données, des scripts et des tests unitaires. Pour plus d'informations, consultez Considérations à prendre en compte avant de renommer des objets de base de données.

Remarque :

Lorsque vous renommez un objet de base de données, le fichier .sql associé à cet objet n'est pas renommé. Vous pouvez le renommer manuellement en utilisant la fenêtre de l'Explorateur de solutions.

Utilisations supplémentaires de la refactorisation de changement de nom

La refactorisation de changement de nom peut également vous aider à exécuter les tâches courantes suivantes :

  • Dans un environnement ne respectant pas la casse, vous pouvez modifier la casse d'un nom d'objet de schéma et de toutes ses références pour correspondre aux conventions de casse de votre organisation. Par exemple, si votre projet de base de données a une combinaison de références à « Monid » et « MonID », vous pouvez utiliser la refactorisation de changement de nom pour modifier toutes les références à « MonID ».

    Remarque :

    Les références dont la casse était déjà correcte sont mises à jour (à la même valeur). Si le fichier qui contient ces références est sous contrôle de version, il est extrait dans le cadre de l'opération de refactorisation.

  • Renommez plusieurs objets afin que leurs noms et références correspondent. Par exemple, vous pouvez fusionner deux noms de schémas (tels que « Personne » et « Nom Personne ») ou deux noms qui diffèrent uniquement par leur casse dans un environnement ne respectant pas la casse (tels que « MonID » et « Monid »).

  • Placez entre crochets le nom d'objet de schéma et toutes ses références pour suivre les meilleures pratiques pour l'affectation d'un nom à un objet. Par exemple, vous pouvez remplacer toutes les références à « MonID » par « [MonID] ».

    Remarque :

    Les références qui étaient déjà mises entre crochets sont mises à jour (à la même valeur). Si le fichier qui contient ces références est sous contrôle de version, il est extrait dans le cadre de l'opération de refactorisation.

Lorsque vous effectuez ces tâches, un message d'erreur vous prévient que l'objet de schéma qui porte le nouveau nom existe déjà. Vous devez cliquer sur Oui pour apporter la modification. Toutefois, vous pouvez afficher un aperçu des modifications individuelles et les exclure de façon sélective si, dans la boîte de dialogue Renommer, la case à cocher Aperçu des modifications est activée.

Déploiement

La refactorisation de base de données est basée sur un projet de base de données. Cette approche signifie que vous n'apportez pas directement des modifications à une base de données active, mais plutôt au projet de base de données. En suivant cette stratégie, vous bénéficiez des avantages des projets de base de données, notamment le contrôle de code source et le développement en équipe. Vous pouvez ensuite déployer des modifications qui ont été apportées au projet de base de données en utilisant la fonctionnalité de déploiement de projet de base de données. Pour plus d'informations, consultez Génération et déploiement de schémas de base de données.

Remarque :

Dans un environnement de travail en équipe, vous devez exécuter des tests unitaires de base de données et d'application avant de déployer les modifications apportées sur un serveur de production. Pour plus d'informations, consultez Vue d'ensemble de la création et du déploiement d'une base de données dans un environnement de travail en équipe.

Boîte de dialogue Aperçu des modifications

Lorsque vous utilisez la refactorisation pour renommer un objet de base de données, vous pouvez afficher un aperçu des modifications apportées. En utilisant cette option, vous pouvez voir les modifications qui seront apportées à tous les objets qui référencent l'objet que vous renommez.

La boîte de dialogue Aperçu des modifications comprend un volet supérieur et un volet inférieur. Le volet supérieur contient une arborescence qui répertorie les objets qui seront modifiés, et le volet inférieur affiche le script qui sera généré pour apporter les modifications. Lorsque vous cliquez sur un objet, le volet supérieur affiche l'ancien nom, et le volet inférieur affiche le nouveau nom. Pour plus d'informations, consultez Comment : afficher un aperçu des modifications liées à un changement de nom.

Remplacement de références à des serveurs et des bases de données

Dans les définitions d'objet ou les scripts, vous pouvez inclure des références aux objets d'autres bases de données si vous spécifiez les noms des bases de données qui contiennent les objets auxquels vous faites référence. Si les références et les objets se trouvent sur des serveurs différents, les références doivent également spécifier les noms des serveurs pour les objets auxquels vous faites référence. Vous pouvez spécifier des bases de données et des serveurs par nom ou par variable. Après avoir créé ces références, vous pouvez utiliser la refactorisation pour les mettre à jour si vous devez spécifier un nom différent ultérieurement, remplacer un nom par une variable, remplacer une variable par un nom ou remplacer une variable par une autre variable. Pour plus d'informations sur les références entre bases de données, consultez Vue d'ensemble des références entre bases de données. Pour plus d'informations sur la façon de renommer ces références, consultez Comment : renommer les références à un serveur ou une base de données.

Voir aussi

Tâches

Procédure pas à pas : déploiement des modifications de refactorisation d'une base de données

Concepts

Vue d'ensemble de la terminologie de Database Edition

Autres ressources

Procédure pas à pas : changement du nom d'une colonne de base de données

Changement du nom des objets de base de données