2009-08-24 3 views
1

J'ai utilisé SQL Server pendant des années, donc je ne suis pas un noob. J'ai récemment eu des problèmes où je ne peux pas ajouter une clé étrangère à certaines tables dans ma base de données en utilisant SQL Management Studio et SQL Server 2008 Express. La table que j'essaie de référencer est là et elle a une clé primaire (avec la contrainte de clé primaire créée), mais elle n'apparaît pas dans la liste des tables que je peux choisir lorsque j'essaie d'ajouter FK. Si j'essaie d'ajouter le FK via un T-SQL simple, la requête aboutit, mais si je vois le nouveau FK en utilisant l'interface utilisateur, la liste déroulante de la table de clé primaire est vide. Le FK est là et il fonctionne réellement si j'essaie d'insérer des données qui violeraient la contrainte.SQL Server 2008 ne me laisse pas ajouter des clés étrangères

Quelqu'un sait pourquoi cela se produirait?

Répondre

4

Cela ressemble à un problème d'outil (SSMS), pas un problème de moteur

Pensées:

  • proximité/réouvrir SSMS (mise en cache?)
  • patché à même version que le serveur d'installation?
  • schéma différent etc?

Modifier, après commentaire et il est SSMS cache:

Vous pouvez également faire un clic droit sur le nœud de table et de rafraîchissement si SSMS met à jour le cache. Ce problème remonte à SQL Enterprise Manager et SQL 2000. Aucune correction connue après 10 ans ...

+0

La fermeture et la réouverture de SSMS ont résolu le problème, mais il est vraiment ennuyeux d'avoir à le faire tout le temps. –

+0

J'ai fait un clic droit sur la table, la base de données, etc. et en faisant Refresh, cela ne le résout pas non plus. –

+0

@Jon: J'utilise le SQL brut tout le temps ces jours-ci, il m'a buggé pour toujours ... – gbn

Questions connexes