Riorganizzare tabelle sql2008 con vb6

di il
12 risposte

Riorganizzare tabelle sql2008 con vb6

Buon giorno a tutti,
ho la necessità (ho scorso tutti i tread del forum senza trovare risposta), a seguito eredità pacchetto software in VB6,
di preparare main da lanciare in esecuzione a scadenze prestabilite.
Qualcuno ha già affrontato il problema per:
- leggere lo stato degli indici su tabelle di un SQL2008R2
- verificare lo stato della frammentazione
- eseguire la riorganizzazione (o ricreazione) eventuale

Grazie in anticipo

12 Risposte

  • Re: Riorganizzare tabelle sql2008 con vb6

    Salve Dario,
    non ho ben compreso la tua richiesta, o come vorresti gestirla...
    personalmente NON lascerei mai la scelta all'utente..

    sinceramente penserei ad un defrag/reindex in base a thresholds di frammentazione, magari anche configurabili con valori salvati in una tabella "impostazioni".. prova a dare un'occhiata ad esempio a https://techcommunity.microsoft.com/t5/sql-server-blog/adaptive-index-defrag/ba-p/383893

    salutoni romagnoli
    --
    Andrea
  • Re: Riorganizzare tabelle sql2008 con vb6

    Grazie,
    vorrei installare un programma , schedulato per intervallo da decidere, che:
    - apra il database
    - in base ad un elenco di tabelle ne verifichi lo stato degli indici
    - esegua la riorganizzazione (o ricreazione) se necessario

    L'utente non sarà abilitato all'uso diretto, pensavo di inserire nel programma la possibilità di attivarsi solo nelle ore notturne
  • Re: Riorganizzare tabelle sql2008 con vb6

    Salve Dario,
    brutalmente, ti basta un file bat/cmd, che puoi schedulare anche con lo scheduler nativo di Windows...
    il bat conterra' ad esempio una chiamata alla stored procedure che eseguira' l'attivita'..
    potrai loggare ad esempio su file il risultato, o anche inviarlo via mail o simile...

    fare una vera e propria app mi sembra un overkill, tanto piu' se, come dici, tendenzialmente NON sara' interagibile dall'utente...

    vedi anche
    - https://docs.microsoft.com/en-us/sql/relational-databases/indexes/reorganize-and-rebuild-indexes?view=sql-server-ver16
    - https://www.codemotion.com/magazine/backend/sql-server-index-fragmentation/
    per indicazioni sullo stato di frammentazione

    salutoni romagnoli
    --
    Andrea
  • Re: Riorganizzare tabelle sql2008 con vb6

    Grazie,
    avevo valutato la soluzione .bat ma vorrei eseguire solo sulle tabelle che abbiano necessità reale di riorganizzazione, o ricreazione se la frammentazione è troppo alta.
    Dario
  • Re: Riorganizzare tabelle sql2008 con vb6

    Salve Dario,
    beh, puoi metterti a posto gli script SQL per skippare in caso di thresholds "troppo bassi"... magari li puoi definire tu...
    che so, ti fai una tabella utente dove metti i valori "oggetto per oggetto".

    { tabella = 'dbo.tabella1', fareRebuild= 30, fareReindex = 15 }
    ed in caso la frammentazione sia < 15 skippare...

    salutoni romagnoli
    --
    Andrea
  • Re: Riorganizzare tabelle sql2008 con vb6

    Domani mi metto al lavoro e poi ti tengo aggiornato
    Dario
  • Re: Riorganizzare tabelle sql2008 con vb6

    Non utilizzare programmi vb6 nè bat.

    Crea un nuovo Piano di Manutenzione in Sql Server e schedulato all'orario previsto
  • Re: Riorganizzare tabelle sql2008 con vb6

    Ciao,
    mi stavo documentando su questa soluzione.
    Grazie
    Dario
  • Re: Riorganizzare tabelle sql2008 con vb6

    oregon ha scritto:


    Non utilizzare programmi vb6 nè bat.

    Crea un nuovo Piano di Manutenzione in Sql Server e schedulato all'orario previsto
    sempre che tu non stia usando SQLExpress...

    salutoni romagnoli
    --
    Andrea
  • Re: Riorganizzare tabelle sql2008 con vb6

    No, non uso express
    grazie e buona giornata
    Dario
  • Re: Riorganizzare tabelle sql2008 con vb6

    Ciao,
    non vorrei tanto entrare nel merito di come eseguirai questa utility ma piuttosto su cosa le farai fare.
    Se l'obiettivo è appunto fare manutenzione agli indici e tabelle allora ti consiglio di valutare l'utilizzo delle procedure di Ola Hallengren.
    Ti lascio il link al sito: , troverai anche abbondante documentazione su come e quando utilizzarle e su cosa fanno nello specifico.

    Sono procedure studiate e pensate per fare backup, manutenzione o check di integrità del DB.
    La IndexOptimize per esempio contempla già la valutazione della percentuale di deframmentazione.

    Creso siano tra le procedure più utilizzate (gratuite) per fare questo tipo di attività (anche in ambito enterprise).

    Spero possa esserti utile.
    Giovanni
  • Re: Riorganizzare tabelle sql2008 con vb6

    Grazie Giovanni,
    guardo subito
Devi accedere o registrarti per scrivere nel forum
12 risposte