none
windows Server 2012 64 bit con SQL Server 2008 R2 Express RRS feed

  • Domanda

  • Salve a tutti.

    Abbiamo un server con Windows Server 2008 R2 64 bit + SQL Express 2008 R2 su cui gira una nostra applicazione che semplicemente compila tabelle di un database SQL leggendo i dati da un sistema IBM. L'inserimento di circa 80.000 record impiega circa 3 minuti.

    Abbiamo allestito un server nuovo con la stessa configurazione ma con Windows Server 2012 Foundation 64 bit. La stessa operazione sopra citata impiega circa 30 minuti ! In realtà abbiamo notato che subito dopo il riavvio della macchina la velocità della prima compilazione è paragonabile a quella del vecchio sistema ma le operazioni successive rallentano notevolmente. Inoltre, nella stessa sessione di compilazione, si nota un progressivo rallentamento delle operazioni di insert man mano che vengono inseriti records. Non riusciamo a capire dove sia il problema ....

    Grazie per i suggerimenti

    Filippo

    lunedì 16 febbraio 2015 11:37

Tutte le risposte

  • Per cominciare io controllerei il modello di recupero del db e magari verificare in INSERT se scattano trigger che in qualche modo possano rallentare le operazioni. Il sottosistema dischi è a posto? Sistemi di ridondanza sui dischi?

    Dacci altri dettagli.

    P.Ceglie


    Questo post è fornito "così com'è". Non conferisce garanzie o diritti di alcun tipo. Ricorda di usare la funzione "segna come risposta" per i post che ti hanno aiutato a risolvere il problema e "deseleziona come risposta" quando le risposte segnate non sono effettivamente utili. Questo è particolarmente utile per altri utenti che leggono il thread, alla ricerca di soluzioni a problemi similari. ENG: This posting is provided "AS IS" with no warranties, and confers no rights. Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.

    lunedì 16 febbraio 2015 11:53
  • Il sosttosistema dischi sembra a posto e non ci sono trigger sul database. Che informazioni potrei inoltrarvi ?
    lunedì 16 febbraio 2015 15:11
  • Sarebbe utile avere la definizione delle foreign key, degli indici e magari verificare che in fase di INSERT Sql non si debba anche preoccupare dell'autogrow del db.

    ...e magari avere il piano di esecuzione della INSERT.


    Questo post è fornito "così com'è". Non conferisce garanzie o diritti di alcun tipo. Ricorda di usare la funzione "segna come risposta" per i post che ti hanno aiutato a risolvere il problema e "deseleziona come risposta" quando le risposte segnate non sono effettivamente utili. Questo è particolarmente utile per altri utenti che leggono il thread, alla ricerca di soluzioni a problemi similari. ENG: This posting is provided "AS IS" with no warranties, and confers no rights. Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.


    lunedì 16 febbraio 2015 15:17
  • Il databse utilizzato è un database di lavoro molto semplice. Vengono inseriti i record in una decina di tabelle tramite istruzione INSERT. La tabelle hanno un unico indice primario, nessuna chiave esterna. L'autogrow in questo momento è attivo con i valori di default. La cosa strana è che con la stessa versione di SQL su un sistema è performante sull'altra molto meno a parità di dischi. L'altra cosa strana è che se riavvio la macchina la prima volta che viene lanciato il programma di compilazione del database l'operazione è veloce, poi rallenta notevolmente sulle successive .... la differenza findamentale fra i due sistemi è il sistema operativo: Windows server 2008 su quella performante, Winidwos Server 2012 sull'altra, entrambi 64 bit
    lunedì 16 febbraio 2015 15:32
  • prova a dare un'occhiata qui


    Questo post è fornito "così com'è". Non conferisce garanzie o diritti di alcun tipo. Ricorda di usare la funzione "segna come risposta" per i post che ti hanno aiutato a risolvere il problema e "deseleziona come risposta" quando le risposte segnate non sono effettivamente utili. Questo è particolarmente utile per altri utenti che leggono il thread, alla ricerca di soluzioni a problemi similari. ENG: This posting is provided "AS IS" with no warranties, and confers no rights. Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.

    lunedì 16 febbraio 2015 15:54
  • Ho controllato e la soluz<ione proposta è l'ultimo service pack di SQL che è già installato. Comunqu la CPU utilizzata da SQL nel mio caso è molto bassa ...
    lunedì 16 febbraio 2015 16:20
  • Questo il risultato della query select * from sys.dm_os_wait_stats order by wait_time_ms desc:

    LAZYWRITER_SLEEP 8698 4388558 3367103 39
    REQUEST_FOR_DEADLOCK_SEARCH 878 4385241 5000 4385241
    XE_TIMER_EVENT 160 4380042 29999 4379924
    LOGMGR_QUEUE 27952 4376684 3388649 170
    CHECKPOINT_QUEUE 46 4350236 3396172 1
    XE_DISPATCHER_WAIT 2 4170118 4170118 0
    BROKER_TO_FLUSH 500 3877268 3366892 6
    SLEEP_TASK 2353 515009 1029 11
    WRITELOG 27632 233746 238 215
    BROKER_TASK_STOP 4 40003 10001 0
    SERVER_IDLE_CHECK 2 22000 20000 0
    SQLTRACE_INCREMENTAL_FLUSH_SLEEP 6 20002 4000 0
    martedì 17 febbraio 2015 10:00