7
votes

Inclure non disponible dans des index de couverture dans SQL Server 2008 Express

Dans MS SQL Server Manager Studio pour 2008 Express, le champ "Colonnes inclus" est toujours grisé dans la fenêtre "Index / Touches" dans le concepteur de diagramme de base de données.

par l'aide, cela devrait être disponible si longtemps. Comme je ne crée pas d'index clustered.

En outre, si j'exécute une requête pour créer l'index (qui fonctionne bien), la requête créée ne liste pas pour la table à laquelle elle a été ajoutée. < / P>

Je ne vois nulle part où la MS dit que cette fonctionnalité est indisponible dans la version express.

Toute idée?

Données supplémentaires:

Ceci est le script qui crée la table: xxx

Voici le script Table Gen (l'index est manquant): < Pré> xxx


1 commentaires

Générez le script de table complète et voyez ce qu'il dit s'il vous plaît.


3 Réponses :


1
votes

L'index peut en réalité être une contrainte unique (à l'aide de la table Créer / Alter) plutôt que d'un index créé à l'aide de Créer un index. Les contraintes uniques ne permettent pas d'inclure.

C'est assez déroutant ... Générez un script pour l'entrée ou la table d'index / de clé et vous pourrez confirmer.

EDIT:

  • Lorsque vous créez l'index séparément, vous devez rafraîchir l'explorateur d'objet

  • Avez-vous 2 tables sociales dans différents schémas? (par exemple, dbo.socialtype et [domaine \ myuser] .socialtype ). Cela peut arriver si vous ne spécifiez pas le schéma dans les instructions DDL.


2 commentaires

Je n'ai qu'un de ces table, sous le schéma DBO. Vraiment, la question 1 est la raison pour laquelle le concepteur ne peut-il pas activer ce champ, donc je l'utilise pour créer l'index en premier lieu? La deuxième question est la raison pour laquelle je ne peux pas le voir avec le concepteur après la script.


1. Parce que ce n'est peut-être pas un index 2. Actualiser l'explorateur d'objet.



7
votes

Il s'avère que ceci est grisé dans la version complète de SQL Server. Dans SSMS, utilisez l'explorateur d'objet (pas le concepteur) pour naviguer vers {Nom_datury_name}> Tables> {Nom de la table}> Index pour gérer les index contenant.


0 commentaires

11
votes

Il y a deux dialogues d'index différents. Une ancienne horrible terrible et une nouvelle (juste la découverte seulement) une qui vous permet de changer ces choses.

vieux horrible one

  • Cliquez avec le bouton droit sur une table de votre liste de tables principales
  • Cliquez sur "Conception"
  • Faites un clic droit sur la liste des colonnes et sélectionnez 'Index / Keys'

    Cela ne vous permet pas de changer de colonnes incluses.

    Nouveau Nice One

    • Développez la table dans votre liste de tables principales pour afficher les «colonnes», les «touches», les «contraintes», les dossiers et les «déclencheurs»
    • Développez le dossier index
    • clic droit index dossier pour nouvel index
    • Cliquez avec le bouton droit de la souris sur Index existant et cliquez sur Propriétés pour éditer un index existant

      Cette boîte de dialogue plus récente vous permet de faire beaucoup plus et je suis un peu déçu de Microsoft d'avoir gardé l'ancien vieillissement et pendant combien de temps cela m'a amené à le découvrir.


3 commentaires

Fait intéressant, le nouveau Nice Nice est inaccessible pour moi pour une table nouvellement créée. ("Microsoft SQL Server Management Studio 11.0.3153.0"). L'option est gracieuse et que le menu contextuel est également grisé pour exister. Pas sûr pourquoi encore.


Il est seulement grisé si vous avez la «table de design» ouverte pour cette table - vous devez fermer le designer avant de pouvoir ouvrir le «nouveau Nice»


Ni fonctionne avec la base de données Azure SQL BTW (sauf pour Hébergement auto-hébergé)