none
SQLServer Porte x piu DB RRS feed

  • Domanda

  • Vorrei un consiglio

     

    Ho un Server con dentro 4 DB nella unica istanza predefinita

    ( dei 4 DB 2 non sono miei pertanto non li conosco bene )

    ______________________________________________________

    per l'accesso non ho specificato nessuna porta ma ho abilitato SQLBrowser

    Ho dato la eccezione al Firewall per SQLServer   e SQLBrowser

    _________________________________________________________

     

    Il tutto funziona con un piccolo neo,

    Spesso al mattino l'applicativo di un DB non mio mi da questo messaggio:

    _______

    Attenzione: la connessione al database XXXXX è troppo lenta.

    Probabilmente il firewall del SERVER SQL non è configurata correttamente, oppure la risoluzione del nome del server non avviene correttamente.

    Si consiglia di impostare indirizzi IP statici sui client che dovranno utilizzare XXXXXX NET e di memorizzare in ‘C:Windows\System32\drivers\etc\hosts’ il nome del server SQL ed il relativo indirizzo IP.

    Per la configurazione del firewall si consiglia di consultare ‘http://msdn.microsoft.com/it-it/library/cc646023.aspx’

    ________

    Ma dopo funziona

     

    _____________________________________________

    Secondo voi da cosa potrebbe dipendere ???

     

    Forse 4 DB tutti sulla 1433 sono troppi ???

     

     

    Grazie

     

     

     

     

     

     


    • Modificato Mancini, mercoledì 28 dicembre 2011 13:55
    mercoledì 28 dicembre 2011 13:53

Risposte

Tutte le risposte

  • Ciao,

    credo che potrebbe essere utile qualche informazione aggiuntiva per capire meglio il problema. In particolare specifiche del server e dell'istanza (versione SQL Server installata), numero approssimativo di client che si connettono ai DB contemporaneamente, se si presentano altri problemi di lentezza a carico durante l'attività lavorativa normale.

    Così "a naso" ti direi che se il problema si presenta sempre sullo stesso DB, mentre gli altri non presentano mai problemi similari, per capire il problema mi concentrerei inizialmente sull'applicativo incriminato. Sembra che il numero di informazioni che questo applicativo recupera alla prima connessione sia tale da andare in timeout in fase di connessione (è per caso un applicativo Access? In che fase del software si verifica il problema: avvio, prima apertura di una maschera/ricerca particolare?).

    Questo dopo aver fatto fare una verifica sullo stato di salute degli apparecchi di rete (se non l'hai già fatto) e della rete in genere, che non guasta mai.

    Grazie mille! :)

    Francesco

     


    Francesco Milano // .NET & SQL Server Consultant // blog // twitter

    mercoledì 28 dicembre 2011 16:39
  • In particolare specifiche del server e dell'istanza (versione SQL Server installata), numero approssimativo di client che si connettono ai DB contemporaneamente, se si presentano altri problemi di lentezza a carico durante l'attività lavorativa normale.

    SQL 2008 R2 Express   3/4 Client   

    Nessun altro problema di lentezza ad eccezione di quello citato che avviene quasi
    regolarmente al mattino dopo il riavvio del server  ( Noi di notte soegnamo )

     

    Fino a 1 mese fa i DB giravano "Felicemente" su SQL 2005

    sui miei 2 DB ho agiornato gli indici, 

    sugli altri 2 non miei ( e il problema si presenta su uno di quei 2 )
    non ho certezza dell'aggiornamento degli indici

     

     

    Così "a naso" ti direi che se il problema si presenta sempre sullo stesso DB,

    Si   sempre lo stesso

     

    (è per caso un applicativo Access? In che fase del software si verifica il problema: avvio, prima apertura di una maschera/ricerca particolare?).

    No  non è Access       
    Mi dicono sia fatto con Visual Basic

     

    Il problema e sempre solo la prima apertura del mattino dopo la riaccensione del server
    alla prima maschera di LogIn

     

     

     

    Questo dopo aver fatto fare una verifica sullo stato di salute degli apparecchi di rete (se non l'hai già fatto) e della rete in genere, che non guasta mai.

    La rete non la ho ancora verificata   
    Ma non mi ha mai dato rogne  ( poi si tratta di uno switch e pochi PC + Server )

     

    Ai tempi facevo il Ping     Provero a rifarlo

     

     

    _______________________________________________________________________

     

    Ho sentito il produttore del Soft  che ( naturalmente ) accusa la rete

     

    Ma io che sono un pò amministratore di rete e un pò DBAdministrator penso che
    sarebbe buona cosa ricostruire gli indici del DB

    Ritengo che nell'ultimo decennio ( questa è l'eta del DB )
    nessuno gli ha mai fatto manutenzione.

     

    anche il recente passaggio da 2005 a 2008  è stato fatto con
    un semplice RESTORE sul nuovo Server.

     

    ___________________________________________________________

     

    Se avete consigli o ipotesi   Ringrazio

     


    • Modificato Mancini, mercoledì 28 dicembre 2011 22:07
    mercoledì 28 dicembre 2011 22:03
  • Ho sentito il produttore del Soft  che ( naturalmente ) accusa la rete

     

    Ma io che sono un pò amministratore di rete e un pò DBAdministrator penso che
    sarebbe buona cosa ricostruire gli indici del DB

    Ritengo che nell'ultimo decennio ( questa è l'eta del DB )
    nessuno gli ha mai fatto manutenzione.

     

    anche il recente passaggio da 2005 a 2008  è stato fatto con
    un semplice RESTORE sul nuovo Server.

     

    Se avete consigli o ipotesi   Ringrazio

     

    Fossi in te eseguirei un full backup e procederei alla ricostruzione di tutti gli indici del db. Se i problemi persistono avvia una sessione con il Profiler ed identifica la query che manda in timeout il client, analizzane il piano di esecuzione e valuta se l'aggiunta di qualche indice può giovare.

    Ciao!


    Lorenzo Benaglia
    Microsoft MVP - SQL Server
    http://blogs.dotnethell.it/lorenzo
    http://social.technet.microsoft.com/Forums/it-IT/sqlserverit
    mercoledì 28 dicembre 2011 22:10
    Moderatore
  • Stavo meditando esattamente la stessa cosa

     

    Sto facendo una ricerca nel Forum per trovare uno script che mi ricostruisca tutti gli
    indici di tutte le tabelle

     

     

    Provero innanzitutto su un Server di prova per mettere a punto lo script
    poi lo lancio sul server di produzione

     

     

    Saluti

    mercoledì 28 dicembre 2011 22:56
  • Stavo meditando esattamente la stessa cosa

     

    Sto facendo una ricerca nel Forum per trovare uno script che mi ricostruisca tutti gli
    indici di tutte le tabelle

     

     

    Provero innanzitutto su un Server di prova per mettere a punto lo script
    poi lo lancio sul server di produzione

     

     

    Saluti


    Si come anche suggerito da Lorenzo l'idea di partire dagli indici è ottima (ricordati il backup prima :P), per poi passare al profiler nel caso il problema non si risolvesse. Ti consiglierei di dare un'occhiata alla sempre ottima soluzione di manutenzione di Ola Hallengren (http://ola.hallengren.com/), che tra le altre cose contiene anche un ottimo script per fare rebuild e reorganize degli indici di un db.

    Ciao!


    Francesco Milano // .NET & SQL Server Consultant // blog // twitter
    mercoledì 28 dicembre 2011 23:39
  • salve,

    a quanto gia' detto, vorrei anche aggiungere che i database generati su istanze SQLExpress utilizzano come impostazione predefinita AUTOCLOSE=TRUE, quindi il lo storage engine (parte di SQL Server) provvede ad eseguire il shutdown del database quando non piu' utilizzato... cio' ovviamente comporta che, alla prima chiamata (la mattina), lo stesso componente debba prima provvedere a riportare in linea attiva il database prima di poter provvedere al suo utilizzo... questa attivita' solitamente non e' troppo penalizzante, ma spesso e' stata identificata come collo di bottiglia in molte circostanze... prova quindi per un paio di mattine a vedere cosa succedere modificando tale impostazione...

    ricorda pero' che essa e' stata definita come default a tutela e protezione dei database utilizzati con questa edizione di SQL Server, che solitamente non risiede su macchine di classe server con protezioni a livello di alimentazione e quant'altro, quindi per questo motivo il servizio chiude i database inattivi proteggendoli da ipotetici crash di sistema o problemi di alimentazione...

    saluti


    http://www.asql.biz - DbaMgr2k - DbaMgr and further SQL Tools http://www.hotelsole.com/
    giovedì 29 dicembre 2011 00:04
    Moderatore
  • Sto facendo una ricerca nel Forum per trovare uno script che mi ricostruisca tutti gli

    indici di tutte le tabelle

    Una soluzione bruta la puoi ottenere con il comando non documentato DBCC DBREINDEXALL. Dopo una prima ricostruzione massiva puoi schedulare una manutenzione ad esempio settimanale in modo più granulare mediante il comando ALTER INDEX...REBUILD. Verifica anche l'ipostazione di auto close come suggerito da Andrea. Se implementi una corretta politica di backup basata sugli strumenti nativi di SQL Server (ad esempio il comando T-SQL BACKUP DATABASE), puoi tranquillamente impostarla a OFF mediante il comando ALTER DATABASE.

    Ciao!


    Lorenzo Benaglia
    Microsoft MVP - SQL Server
    http://blogs.dotnethell.it/lorenzo
    http://social.technet.microsoft.com/Forums/it-IT/sqlserverit
    • Contrassegnato come risposta Mancini, lunedì 2 gennaio 2012 01:33
    giovedì 29 dicembre 2011 10:03
    Moderatore
  • Come al solito i Vs consigli sono preziosi

     

    Grazie e Buon Anno

    lunedì 2 gennaio 2012 01:35