SQLServerITA

SQL Server e non solo

  • gennaio: 2012
    L M M G V S D
    « Dic   Feb »
     1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031  
  • Blog Stats

    • 17,242 hits
  • Inserisci il tuo indirizzo e-mail per iscriverti a questo blog e ricevere notifiche di nuovi messaggi per e-mail.

    Segui assieme ad altri 6 follower

Archive for gennaio 2012

SQL Server 2008 R2 SP1: Server is in script upgrade mode

Posted by belthazor78 su 30 gennaio 2012


Errore abbastanza allarmante che mi è capitato una volta installata la SP1 su SQL Server 2008 R2.

Inizialmente pensavo fosse dovuto al fatto che non avevo riavviato il computer ma mi ero ricordato di aver disabilitato tutti i servizi di SQL prima di eseguire la SP1, il che mi avrebbe appunto evitato di riavviare il computer.

Tuttivia, appena ho provato ad accedere all’istanza di SQL Server mi è tornato a video l’errore: Login failed for user ‘LoginName’
Reason: Server is in script upgrade mode. Only administrator can connect at this time.

Che fare? Semplice, leggendo su internet dovete dare qualche secondo a SQL Server affinchè possa terminare l’installazione di alcuni script…diciamo una 20ina di secondi dopo aver provato il primo login. Dopo pochi secondi, infatti, sono riuscito a loggarmi su SQL Server senza problemi 😉

Annunci

Posted in SQL+Server+2008+R2 | Leave a Comment »

SQL Server 2008 R2: l’intellisense del SSMS non funziona

Posted by belthazor78 su 19 gennaio 2012


Ad un certo punto mi sono ritrovato con il SQL Server Management Studio con l’intellisense fuori uso…eppure era abilitato correttamente da interfaccia:

Girovagando su internet ho constatato che aggiornando Visual Studio 2010 all’ultima Service Pack è un problema che può capitare. La soluzione più veloce, se non comodissima, è stata quella di reinstallare la SP1 di SQL Server 2008 R2 (e non di Visual Studio) e magicamente l’intellisense è tornato operativo!

😀

Qui http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=26727 il link per la SP1 di SQL 2008 R2

Posted in SQL+Server, SQL+Server+2008+R2 | Leave a Comment »

SQL Server performance quick tips: Disable Index

Posted by belthazor78 su 16 gennaio 2012


In un post precedente vi parlavo circa la possibilità di aumentare le performance di un query che effettuava molti inserimenti quindi un inserimento massiccio. Senza dover aggiungere e/o modificare eventuali indici/statistiche ecco un altro comodo consiglio.

E’ possibile, infatti, poter disabilitare momentaneamente gli indici della tabella in cui stiamo inserendo i dati; come sapete gli indici sono comodi e utili in fase di ricerca ma in fase di inserimento sono comunque un peso. Aggiungendo a questo discorso che solitamente è meglio creare gli indici solo successivamente ad un inserimento massiccio ecco la facile soluzione.

Per ricordarci e come di esempio ecco la query di inserimento con esecuzione normale:

Ed ora proviamo a disabilitare gli indici, eseguire la stored e successivamente riabilitare gli indici:

1 minuto e 44 secondi, che sono circa 3 minuti in meno di esecuzione disabilitando i soli indici; non è male direi come guadagno!

Il problema è che non sempre tutti gli indici possono essere disabilitati, pensiamo alle colonne di tipo IDENTITY, ma è un consiglio da ricordare per inserimenti massicci che richiedono di essere eseguiti nel minor tempo possibile.

Posted in SQL+Server+2008, SQL+Server+2008+R2, Uncategorized | Contrassegnato da tag: , | Leave a Comment »

SQL Server performance quick tips: TABLOCK

Posted by belthazor78 su 15 gennaio 2012


Un piccolo post a cui ne seguiranno degli altri riguardo a piccoli consigli da applicare ad una vostra query per migliorarne le performance. Non parlerò, come vedrete, dei soliti indici e statistiche (quelli già devono esserci e devono essere già deframmentati e aggiornati) e il database engine preso in considerazione è il 2008 R2.

Supponiamo di avere una semplice query che copia dei dati prelevati da più tabelle su un’unica tabella con un volume di dati pari a 5 milioni di righe.

L’esecuzione delle query allo stato “normale” richiede circa 4 minuti e 32 secondi. Un tempo considerevole anche se la query è stata eseguita su un computer abbastanza lento ma un “moving” di 5 milioni di righe da 4 tabelle in join con 15 milioni di dati su un’altra tabella dovrebbe essere un pò più veloce.

La query preleva e sposta circa 30 colonne di vario tipo e, in linea di massima, è come la seguente:

Ovviamente non ho potuto mettere tutti i campi con i loro reali nomi per sicurezza, ma la sostanza non cambia.

Ora, aggiungendo un semplice HINT come il WITH (TABLOCK) al comando di INSERT (quindi alla tabella dove dovranno essere inseriti i dati) le performance ne hanno risentito in positivo.

In pratica trasformando il comando INSERT INTO CIVICI… in INSERT INTO CIVICI WITH (TABLOCK)… ecco il risultato:

3 minuti e 20 secondi, cioè circa 1 minuto e 10 secondi più veloce con un semplice HINT aggiunto alla query senza dover modificare a livello di database alcun dato.

Un bel risparmio ovviamente, ma c’è da pagare qualche cosa in termini di usabilità della tabella in cui inseriamo i dati; l’Hint “WITH (TABLOCK)” infatti, crea un blocco totale della tabella di tipo “shared” in cui stiamo per copiare dei dati e questo ovviamente facilita gli inserimenti dei dati ma allo stesso tempo blocca eventuali operazioni di altre transazioni su quella tabella.

Maggior info per gli hint: http://msdn.microsoft.com/en-us/library/ms187373.aspx

Nelle prossime “puntate” vi descriverò altri piccole tips da applicare per poter ridurre i tempi di esecuzione di una query.

Posted in SQL+Server | Contrassegnato da tag: , , | Leave a Comment »

SQL Server 2012 Virtual Labs

Posted by belthazor78 su 9 gennaio 2012


Una raccolta di tanto virtual labs anche per SQL Server 2012 che vi permetteranno di vedere le prime novità più importanti di SQL Server oltre ad altri concetti, senza dover installare nulla sul vostro pc (bisogna scaricare solo un piccolo eseguibile da eseguire con IE)

Ecco il link http://www.microsoft.com/sqlserver/en/us/learning-center/virtual-labs.aspx

Posted in SQL+Server, SQL+Server+2012 | Contrassegnato da tag: , , | Leave a Comment »