Risolvere problemi con risorse incorporate

<< Fai click per mostrare l'elenco degli argomenti >>

Percorso:  Guida rapida e tutorial per iniziare > Tutorial avanzati >

Risolvere problemi con risorse incorporate

snip_cancel_48

Prudenza

La seguente procedura richiede una certa preparazione tecnica e prevede l'eliminazione di alcuni dei contenuti del database.

Nonostante sia stata presa ogni precauzione nella preparazione di questo tutorial, gli autori e Certifico s.r.l. non si assumono alcuna responsabilità per errori od omissioni, o per danni risultanti dall'uso delle informazioni contenute, o dall'utilizzo dei programmi e dei sorgenti riportati

In nessun caso Certifico s.r.l. e gli autori risponderanno per qualsivoglia perdita di profitto o altro danno commerciale dovuto o presumibilmente causato direttamente o indirettamente dalle indicazioni ivi riportate.

L'utente utilizza pertanto le istruzioni a proprio completo rischio, manlevando completamente Certifico s.r.l. da qualsivoglia responsabilità.

 

Le risorse incorporate potrebbero causare un degrado delle prestazioni se si presentano uno o più situazioni tra quelle seguenti:

 

Un numero eccessivo di immagini o di file salvati come risorse incorporate ai documenti del Fascicolo Tecnico o delle valutazioni.

Dimensioni eccessive della tabella in cui sono salvate le immagini e le risorse.

Dimensioni eccessive del database in generale.

Scarse prestazioni della rete locale (per le licenze Server).

Scarse prestazioni del computer o del disco dove si trova il database.

 

Per prima cosa, occorre individuare i record più voluminosi che potrebbero causare il problema.

 

 

snip_desktop_48

Solo versione Desktop

Prima di proseguire, configurare l'installazione della propria licenza Desktop come illustrato nel capitolo "Configurazione manuale di MS SQL Server".

 

 

Sul computer Server (o, nel caso della licenza Desktop, sul computer dove è installato il software e l'istanza di MS SQL Server):

 

1)Accedere con un utente Amministratore del sistema.

2)Installare MS SQL Server Management Studio (disponibile sul sito Microsoft: https://learn.microsoft.com/en-us/ssms/install/install).

snip_comment_48

Nota bene

Si consiglia di installare il language pack in inglese poiché la documentazione in lingua nativa è più ampia, specialmente per quanto riguarda i messaggi di errore.

In questa procedura saranno indicate le voci sia per la localizzazione LocaleEuENs016 inglese del software che per quella LocaleZZITs016 italiana.

3)Aprire MS SQL Server Management Studio.

4)Accedere all'istanza con l'utente Amministratore del sistema.

5)Nell'albero laterale "LocaleEuENs016 Object Explorer" ("LocaleZZITs016 Esplora oggetti"), espandere il nodo "LocaleEuENs016 Databases" ("LocaleZZITs016 Database").

6)Click destro sul database cemfu, quindi sul comando "LocaleEuENs016 New query" ("LocaleZZITs016 Nuova query") dal menù contestuale.

7)Nella finestra della query, incollare il codice SQL del sorgente "Immagini allegate alla VR" (di seguito).

8)Click sul pulsante "LocaleEuENs016 Execute" ("LocaleZZITs016 Esegui") nella barra degli strumenti.

9)Nella tabella dei risultati, saranno elencate tutte le immagini allegate alle Valutazioni del rischio (in ordine dalla più voluminosa), con riferimento al requisito, al documento, alla macchina, al progetto e all'azienda a cui appartengono.

10)Ripetere i punti 6), 7) e 8), questa volta però incollando il codice SQL del sorgente "Risorse allegate al FT" (di seguito).

11)Nella tabella dei risultati, saranno elencate tutte le risorse incorporate ai documenti del Fascicolo Tecnico (in ordine dalla più voluminosa), con riferimento al documento, alla macchina, al progetto e all'azienda a cui appartengono.

12)In base ai risultati ottenuti, decidere quali immagini o risorse possono essere eliminate (perché non più necessarie) oppure sostituite con altre, di dimensioni minori.

13)Eseguire un backup del database o delle macchine su cui si è deciso di intervenire.

14)Tramite le funzioni di CEM4, eliminare le immagini o le risorse collegate ritenute non più necessarie, eventualmente rimpiazzandole con delle altre meno pesanti.

 

Al termine di questa procedura, è possibile che le prestazioni non migliorino immediatamente e le dimensioni del database restino ancora eccessive. Provare quindi a seguire i passi successivi.

 

1)Eseguire un backup completo del database.

2)Assicurarsi che CEM4 sia chiuso.

3)Aprire MS SQL Server Management Studio.

4)Accedere all'istanza con l'utente Amministratore del sistema.

5)Nell'albero laterale "LocaleEuENs016 Object Explorer" ("LocaleZZITs016 Esplora oggetti"), espandere il nodo "LocaleEuENs016 Databases" ("LocaleZZITs016 Database").

6)Click destro sul database cemfu, quindi nel menù contestuale selezionare le voci, "LocaleEuENs016 Tasks" ("LocaleZZITs016 Attività"), "LocaleEuENs016 Shrink" ("LocaleZZITs016 Compatta") e infine il comando "LocaleEuENs016LocaleZZITs016 Database".

7)Confermare l'operazione con OK ed attendere.

8)Se necessario: click destro sul database cemfu, quindi nel menù contestuale selezionare le voci, "LocaleEuENs016 Tasks" ("LocaleZZITs016 Attività"), "LocaleEuENs016 Shrink" ("LocaleZZITs016 Compatta") e infine il comando "LocaleEuENs016LocaleZZITs016 File".

9)Confermare l'operazione con OK ed attendere.

Sorgente 1: Immagini allegate alla VR

/*

* Query per recuperare tutte le immagini allegate alla VR

*

* Con indicazione dell'azienda, del progetto, della macchina, della scheda,

* dell'AR e del campo e con il calcolo delle dimensioni in byte.

*

* Ordinato dal più voluminoso al più piccolo.

*/

 

use cemfu; /* Sostituire il nome del database, se diverso */

 

SELECT Azienda.RagioneSociale     AS Azienda,

      Progetto.CI                 AS Progetto,

      Macchina.CI                 AS Macchina,

      FascicoloTecnico.Tipo       AS FT_Tipo,

      FascicoloTecnico.CI         AS FT_Codice,

      docFTVR.dtDoc               AS VR_Data,

      Requisito.CI               AS Requisito_CI,

      Requisito.Titolo           AS Requisito_Titolo,

      docFTVRSchedaAR.CI         AS AR_Codice,

      docFTVRSchedaARCampo.Titolo AS Campo,

      fraBLOB.Tipo               AS Blob_Tipo,

      DATALENGTH(fraBLOB.Oggetto) AS Dimensione

FROM   relVRSchedaRequisito INNER JOIN

      Azienda INNER JOIN

      Progetto ON Azienda.GUID = Progetto.GUIDP_Azienda INNER JOIN

      Macchina ON Progetto.GUID = Macchina.GUIDP_Progetto INNER JOIN

      FascicoloTecnico ON Macchina.GUID = FascicoloTecnico.GUIDP_Macchina INNER JOIN

      docFTVR ON FascicoloTecnico.GUID = docFTVR.GUID INNER JOIN

      docFTVRScheda ON docFTVR.GUID = docFTVRScheda.GUIDP_DOC INNER JOIN

      docFTVRSchedaAR ON docFTVRScheda.GUID = docFTVRSchedaAR.GUIDP_VRScheda INNER JOIN

      docFTVRSchedaARCampo ON docFTVRSchedaAR.GUID = docFTVRSchedaARCampo.GUIDP_AR ON relVRSchedaRequisito.GUIDP_VRScheda = docFTVRScheda.GUID INNER JOIN

      Requisito ON relVRSchedaRequisito.GUID_Requisito = Requisito.GUID INNER JOIN

      relRTFAllegato INNER JOIN

      fraBLOB ON relRTFAllegato.GUID_fraBLOB = fraBLOB.GUID ON docFTVRSchedaARCampo.GUID = relRTFAllegato.GUIDP_RTFField

ORDER BY DATALENGTH(fraBLOB.Oggetto) DESC

 

Sorgente 2: Risorse allegate al FT

/*

* Query per recuperare tutte le risorse allegate al FT

*

* Con indicazione dell'azienda, del progetto e della macchina a cui appartiene

* il documento esterno e con il calcolo delle dimensioni in byte.

*

* Ordinato dal più voluminoso al più piccolo.

*/

 

use cemfu; /* Sostituire il nome del database, se diverso */

 

SELECT Azienda.RagioneSociale       AS Azienda,

      Progetto.CI                 AS Progetto,

      Macchina.CI                 AS Macchina,

      FascicoloTecnico.Tipo       AS FT_Tipo,

      FascicoloTecnico.CI         AS FT_Codice,

      FascicoloTecnico.Titolo     AS FT_Titolo,

      docFTEsterno.GUID           AS FT_Esterno_GUID,

      docFTEsterno.dtDoc           AS FT_Esterno_Data,

      docFTEsterno.PercorsoRisorsa AS PercorsoRisorsa,

      docFTEsterno.GUIDF_fraBLOB   AS GUIDF_fraBLOB,

      datalength(fraBLOB.Oggetto) AS Dimensione

FROM   Azienda INNER JOIN

      Progetto ON Azienda.GUID = Progetto.GUIDP_Azienda INNER JOIN

      Macchina ON Progetto.GUID = Macchina.GUIDP_Progetto INNER JOIN

      FascicoloTecnico ON Macchina.GUID = FascicoloTecnico.GUIDP_Macchina INNER JOIN

      docFTEsterno ON FascicoloTecnico.GUID = docFTEsterno.GUID INNER JOIN

      fraBLOB ON docFTEsterno.GUIDF_fraBLOB = fraBLOB.GUID

ORDER BY datalength(fraBLOB.Oggetto) DESC;