Partager via


Dépannage des problèmes de comparaison de schémas

Mise à jour : novembre 2007

Vous pouvez rencontrer les problèmes de cette rubrique lorsque vous comparez deux schémas de base de données.

Dépendances et scripts de mise à jour

Pour générer l'ordre correct des objets dans un script de mise à jour, la comparaison de schémas examine les dépendances d'objet. Par exemple, si une vue dépend d'une table, la table doit être créée avant la vue. Si l'objet qui dépend du deuxième objet n'utilise pas de nom qualifié par un schéma, la dépendance peut ne pas être identifiée et l'ordre des instructions peut être incorrect dans le script de mise à jour ou de création. Cette différence peut provoquer des erreurs lorsque vous mettez à jour une cible pour qu'elle corresponde à une source ou déployez des modifications vers une base de données. Ce problème s'applique également aux scripts de compilation de base de données.

Remarque :

Pour contourner ce problème, assurez-vous de qualifier par un schéma les noms des objets qui sont impliqués dans des relations dépendantes. Dans l'exemple suivant, vous pouvez garantir que la dépendance sera correctement identifiée si vous modifiez la fin de l'instruction pour qu'elle fasse référence à [dbo].[KeysTable] et non à KeysTable uniquement :

CREATE VIEW [NewUser].[ViewReferencingScalarFunction] AS SELECT Column2, dbo.SimpleMultiplyParamByTwo(PK_Column) AS [Function] FROM KeysTable

Clés symétriques, clés asymétriques et certificats

Dans Visual Studio Team System Database Edition, vous ne pouvez pas créer de clés symétriques, de clés asymétriques ni de certificats comme objets de base de données. Lorsque vous importez un schéma de base de données, les commentaires d'espace réservé sont placés dans le script de prédéploiement avec les noms des clés et certificats. Vous devez modifier le script de prédéploiement pour créer ces objets. De la même façon, lorsque vous comparez des schémas de base de données, le script de mise à jour du schéma ne contient pas les commandes Transact-SQL (T-SQL) nécessaires à la création de clés symétriques, clés asymétriques ou certificats manquants. Vous devez exporter le script de mise à jour vers l'éditeur et ajouter des instructions pour créer ces objets. Pour plus d'informations sur les instructions Transact-SQL (T-SQL), consultez Transact-SQL Reference (en anglais)

Options de table et d'index

La comparaison de schémas ne compare pas les options qui sont définies à l'aide de sp_tableoption ou de sp_indexoption, ni ne génère de script les concernant. Il n'existe aucune solution permettant de résoudre ce problème.

Délai d'attente lors de la comparaison de bases de données volumineuses

Si vous recevez une erreur de délai d'attente lorsque vous comparez les schémas de bases de données volumineuses, vous devrez peut-être augmenter la valeur du délai d'attente. Cette option n'est pas exposée dans l'interface utilisateur. Vous devez modifier la valeur QueryTimeoutSeconds (spécifiée en secondes) qui est stockée dans le Registre sous HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\DBPro\Databaseand. Par défaut, le délai d'attente est 60 secondes.

Comparaison de fichiers et de groupes de fichiers

Si un groupe de fichiers d'une base de données cible est en lecture seule, cette propriété apparaîtra toujours comme une différence lors d'une comparaison de schéma entre cette base de données et un projet de base de données. De plus, le groupe de fichiers principal est ignoré lorsque vous comparez des schémas.

Voir aussi

Tâches

Comment : modifier des objets de base de données

Comment : afficher les différences au niveau des données

Concepts

Vue d'ensemble de la terminologie de Database Edition