none
Ottimizzazione guidata Sql server RRS feed

  • Domanda

  • Ciao a tutti, ho un problema nell'uso dell'ottimizzazione guidata motore di sql server.

    Creo il file di traccia, quando lo dò in pasto all'applicativo per elaborarlo, mi segnala errore di sintassi presenti nel 50% del carico di lavoro.

    Sembra il motivo sia nell'autorizzazione Showplan negata al database.

    Come posso concedere questa autorizzazione ? sempre sia quello il motivo

    mercoledì 20 giugno 2012 15:10

Tutte le risposte

  • Ciao Alessandro,

    un po' di tempo fa ho visto un problema simile il tool di ottimizzazione guidata di SQL Server (DTA), hai provato ad eseguire il tool con diritti amministrativi? (l'utente amministratore dovrebbe avere diritti amministrativi anche su SQL Server, lo dovresti aver scelto durante l'installazione dell'istanza).

    Ciao!


    Sergio Govoni
    SQL Server MVP
    MVP Profile: http://mvp.microsoft.com/profiles/Sergio.Govoni
    Blog: http://community.ugiss.org/blogs/sgovoni


    sabato 30 giugno 2012 16:27
    Moderatore
  • Riaprendo questo tema..... può essere che l'ottimizzazione guidata non evidenzi miglioramenti mentre vedo (se vedo giusto) vi siano costi molto alti sulla ricerca di alcuni indici?....

    ps: ho utilizzato un metodo giusto per farvi vedere i risultati del piano di esecuzione?

    <RelOp NodeId="13" PhysicalOp="Clustered Index Seek" LogicalOp="Clustered Index Seek" EstimateRows="12739" EstimateIO="43.7142" EstimateCPU="0.0141699" AvgRowSize="61" EstimatedTotalSubtreeCost="43.7284" TableCardinality="12739" Parallel="0" EstimateRebinds="0" EstimateRewinds="0" EstimatedExecutionMode="Row">

    Grazie




    Marco

    martedì 19 marzo 2019 15:23
  • Ciao Marco,

    il frammento del Piano di Esecuzione che hai postato non permette di analizzare bene il caso.

    Ti consiglio di verificare il numero stimato di righe VS il numero effettivo di righe trattate dall'operatore "Clustered Index Seek".. inoltre sarebbe interessante verificare quante volte la seek viene eseguita..

    Ciao


    Sergio Govoni

    Microsoft Data Platform MVP | MVP Profile | English Blog | Twitter | LinkedIn

    martedì 19 marzo 2019 23:38
    Moderatore

  • Marco

    mercoledì 20 marzo 2019 15:22
  • Ho preso solo un a piccola parte del piano di esecuzione..... spero sia sufficiente per ragionarci su....
    Di fatto la query esegue molte di queste operazioni.. 

    Forse l'ottimizzazione guidata non rileva miglioramenti perché di fatto il costo di ogni singola ricerca sugli indici non è maggiore di un certo valore soglia?....

    Nel senso.... se eseguo 10 ricerche ed ognuna porta via un 10% di ricerche.... nel complesso ho un problema suppongo... penso sbagliato?..


    Marco

    mercoledì 20 marzo 2019 15:31
  • Ciao Marco,

    il problema che vedo io in quel Clustered Index Seek è il numero di esecuzioni, ovvero 1.439.272 seek sull'indice cluster.

    La prima cosa che farei è una indagine sul perchè viene scelta una seek e non un'operazione di scan, che in questo caso potrebbe essere più efficiente.

    Un'altra informazione interessante da verificare è il numero di I/O eseguiti per tabella.. lo puoi determinare attivando SET STATISTICS IO ON.

    Le statistiche sono aggiornate?

    Il piano di esecuzione è stato forzato attraverso il Query Store o la Plan Guide?

    Ciao!


    Sergio Govoni

    Microsoft Data Platform MVP | MVP Profile | English Blog | Twitter | LinkedIn

    venerdì 22 marzo 2019 23:38
    Moderatore
  • Ciao Sergio,

    cerco di risponderti al meglio delle mie possibilità: il piano di esecuzione è stato copiato tramite ilmonitoraggio risorse, tra una delle query ad elevato costo.

    L'aggiornamento automatico delle statistiche è ON - Aggiornamento asincrono FALSE - Compattazione FALSE - Creazione Automatica ON

    quanto alla seek o allo scan... purtroppo non ho conoscenze così approfondite per capire la tua risposta... mi puoi aiutare a capire l'argomento?

    Grazie


    Marco

    lunedì 25 marzo 2019 20:50

  • Marco

    martedì 26 marzo 2019 07:56
  • Questa è la tabella in questione... ti ho inserito un dettagli o sugli indici... vedi qualcosa di anomalo?.... 


    Marco

    martedì 26 marzo 2019 07:57
  • Ciao Marco,

    ho dato un'occhiata alle immagini che hai postato.. non vedo nulla di strano ed è molto difficile capire perchè la tua query è lenta solo con un frammento del piano di esecuzione e l'elenco degli indici della tabella.

    Potresti postare il piano di esecuzione completo?

    I database [GEMMADBG] e [Sicura] sono nella stessa istanza vero?

    Per caso la tua query ha sub-query nella SELECT? Qualcosa di simile a questo:

    SELECT
      (SELECT..)
    FROM
    ...
    WHERE

    Oppure utilizza funzioni richiamate nella SELECT?

    Hai provato ad eseguire la query su SQL Server Management Studio con l'opzione SET STATISTICS IO ON attiva? Ci mandi l'output anche di questo? Lo trovi nella scheda Messages.

    Ciao!


    Sergio Govoni

    Microsoft Data Platform MVP | MVP Profile | English Blog | Twitter | LinkedIn

    giovedì 28 marzo 2019 22:46
    Moderatore
  • Sergio.. il piano di esecuzione è lunghissimo..... non riesco ad inserirlo qui... ci sono alternative?. o puoi suggerirmi cosa cercare all'interno da inviare che sia significativo?

    Marco

    mercoledì 3 aprile 2019 06:33