IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration SQL Server Discussion :

Impossible de créer un index sur la vue


Sujet :

Administration SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Femme Profil pro
    PL/SQL
    Inscrit en
    Septembre 2016
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : Arabie Saoudite

    Informations professionnelles :
    Activité : PL/SQL
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2016
    Messages : 190
    Par défaut Impossible de créer un index sur la vue
    bonjour a tous
    j'ai essayé de créer un INDEX sur ma vue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    create  NonClustered index idx_v_test on v_prod (nom)
    je reçois l'erreur suivante
    Msg 1939, Level 16, State 1, Line 9
    Cannot create index on view 'v_prod' because the view is not schema bound.

    Qui a une une idée sur la cause racine de cette erreur
    même en mode graphique l'icon new indexe est désactivé
    merci pour vos aide
    Images attachées Images attachées  

  2. #2
    Membre Expert
    Homme Profil pro
    DBA SQL Server
    Inscrit en
    Octobre 2012
    Messages
    862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA SQL Server
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 862
    Par défaut
    J'ai trouvé ceci: http://stackoverflow.com/questions/8...not-schema-bou

    Apparemment tu dois créer ta view avec l'option WITH SCHEMABINDING

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CREATE VIEW VW_Table_Name WITH SCHEMABINDING
    AS
    SELECT Col1,Col2,Col3 FROM Table_Name 
    GO

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 990
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 990
    Billets dans le blog
    6
    Par défaut
    Vous ne pouvez pas créer un index nonclustetred sur une vue si elle ne contient pas d'avoir un index clustered.
    Pour créer un index clustered sur une vue il y a de multiples conditions a repecter dont le principe est :
    1) surjection : toute ligne de l'ensemble de d'arrivée (le vue) doit être au moins une ligne de l'ensemble de départ (les tables de la clause FROM). Ce qui exclu de facto :
    les jointures externes
    les sous requêtes
    les requêtes ensemblistes
    2) protection des calculs : les calculs doivent être déterministes et "large". Pas de fonctions comme GETDATE(), RANDOM() ou NEWID(), utiliser COUNT_BIG à la place de COUT.
    3) les tables doivent être sans équivoque (préfixées par leurs schéma)
    4) la vue doit être construite avec la directive SCHEMABINDING
    ...
    A lire : https://technet.microsoft.com/fr-fr/...=sql.105).aspx

    et pour vous former :
    Nom : Couverture livre SQL server Eyrolles.jpg
Affichages : 1014
Taille : 105,0 Ko

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Impossible de créer un index sur une table
    Par absot dans le forum Requêtes
    Réponses: 2
    Dernier message: 03/02/2012, 17h38
  2. Créer un index sur plusieurs champs ou pas ?
    Par dbejean dans le forum Requêtes
    Réponses: 9
    Dernier message: 26/03/2008, 18h02
  3. Impossible de créer un index spatial
    Par neo.51 dans le forum Oracle
    Réponses: 1
    Dernier message: 02/10/2007, 10h36
  4. Créer un index sur la bd d'un site Web
    Par ygrim dans le forum Requêtes
    Réponses: 6
    Dernier message: 06/09/2007, 15h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo