Partager via


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

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 dans une base de données. Ce problème s'applique également aux scripts de compilation de base de données.

Notes

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

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\10.0\VSTSDB\Database. 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.

De plus, si vous essayez de synchroniser deux bases de données sur le même serveur, vous pouvez avoir des difficultés à synchroniser les fichiers auxiliaires et les filestreams. Vous pouvez résoudre ces problèmes en excluant les groupes de fichiers et les fichiers lors de la synchronisation.

Voir aussi

Tâches

Comment : modifier des objets de base de données

Comment : comparer des schémas de base de données

Comment : comparer et synchroniser les données de deux bases de données