tumblr page counter

July, 2011

  • Italian Premier Center for SQL Server

    SQL vs. SEQUEL

    • 1 Comments

    Post un po’ anomalo questo, ma visto che ultimamente sia clienti che colleghi mi hanno girato, in varie forme, la seguente domanda, perché non scriverci sopra due righe così la prossima volta girerò direttamente un link ?


    La domanda è questa:

    Perché l’acronimo SQL non viene pronunciato in stretta osservanza alla pronuncia inglese ?


    In effetti è vero, il modo in cui viene pronunciato tale acronimo, che sta per “Structured Query Language” corrisponde al termine “SEQUEL” e non “SQL”.


    Dopo un attimo di smarrimento iniziale mi sono ricordato di quanto mi aveva detto il mio vecchio professore di informatica delle scuole superiori (grazie prof.Vasellini ! :-) ) e da buon ex-IBM mi svelò il mistero i cui dettagli potete trovare su Wikipedia e di cui qui riassumo la frase chiave:


    http://it.wikipedia.org/wiki/SQL

    “….L' SQL nasce nel 1974 ad opera di Donald Chamberlin, nei laboratori dell'IBM. Nasce come strumento per lavorare con database che seguano il modello relazionale. A quel tempo però si chiamava SEQUEL (la corretta pronuncia IPA è [ˈɛsˈkjuˈɛl], quella informale [ˈsiːkwəl]). Nel 1975 viene sviluppato un prototipo chiamato SEQUEL-XRM; con esso si eseguirono sperimentazioni che portarono, nel 1977, a una nuova versione del linguaggio, che inizialmente avrebbe dovuto chiamarsi SEQUEL/2 ma che poi divenne, per motivi legali, SQL.”

    Che dire ? Grazie Big Blue…. :-)


    --Igor Pagliai—

  • Italian Premier Center for SQL Server

    Cumulative Update Review: SQL 2008 SP2 CU5 e SQL 2008 R2 SP1 CU1

    • 0 Comments

    Salve, periodo prolifico questo mese di Luglio, non appena una settimana fa è stata rilasciata la primaService Pack” (SP) per SQL Server 2008 R2, e già abbiamo la primaCumulative Update” (CU):

    Cumulative update package 1 for SQL Server 2008 R2 Service Pack 1

    http://support.microsoft.com/kb/2544793/en-us

    NOTA: La build number della CU1 per SP1 di SQL 2008 R2 è “10.50.2769.0”.

    Se non avete già letto il mio precedente post sulla SP1 di SQL 2008 R2, Vi invito a farlo ora a questo link per meglio comprendere quello che dirò in seguito:

    http://blogs.technet.com/b/italian_premier_center_for_sql_server/archive/2011/07.aspx

    Ed eccoci alla domanda cruciale che molti clienti fanno ad ogni rilascio della prima CU per ogni SP: “Ho appena installato la SP1 di SQL 2008 R2, devo anche installare la CU1 ?

    L’informazione fondamentale da tener presente è che la SP1 di SQL 2008 R2 contiene tutte le CU (per SQL 2008 R2 RTM) fino alla CU6 compresa, lasciando fuori quindi la CU7 (build 10.50.1777.0) e la CU8 (build 10.50.1797.0):

    • Se siete stati dei DBA “spregiudicati” e avete installato una di queste due CU, e poi avete passato la SP1 nonostante l’avvertenza del mio precedente post J, allora dovete immediatamente installare anche la CU1 per SP1 perché avete appena portato indietro nel tempo la Vostra installazione ai livelli della CU6 .

     

    • Se invece siete stati dei DBA “morigerati”, ed avete in produzione una versione di SQL Server 2008 R2 con CU7 o CU8, allora ora è il momento di installare la SP1 ed immediatamente dopo anche la CU1 per SP1.

     

    • Se, infine, siete stati dei DBA “conservativi” ed avete in produzione una versione di SQL Server 2008 R2 con CU6 (build 10.50.1765.0) o build inferiore, allora la raccomandazione ufficiale di Microsoft è di installare solamente la SP1, a meno che non abbiate  bisogno di fissare uno dei problemi descritti negli articoli relativi alla CU7 – CU8 per SQL 2008 R2 RTM o CU1 per SQL 2008 R2 SP1:

     

    A supported cumulative update package is now available from Microsoft. However, it is intended to correct only the problems that are described in this article. Apply it only to systems that are experiencing these specific problems. This cumulative update package may receive additional testing. Therefore, if you are not severely affected by any of these problems, we recommend that you wait for the next SQL Server 2008 R2 service pack that contains the hotfixes in this cumulative update package.

     

     

    OK, smarcata la CU1 per SQL 2008 R2 con SP1, diamo un’occhiata a quello che contiene la CU5 per SQL 2008:

    Cumulative update package 5 for SQL Server 2008 Service Pack 2

    http://support.microsoft.com/kb/2555408/en-us

     

    NOTA: La build number della CU5 per SP2 di SQL 2008 è “10.00.4316.0”.

    La prima importante informazione è che questa CU5 include la fix per il recente security bulletin MS11-049, se state sobbalzando sulla sedia perché pensate che sia il primo security bug di SQL 2008, allora non avete letto uno dei nostri precedenti post J:

    http://blogs.technet.com/b/italian_premier_center_for_sql_server/archive/2011/06/27/il-primo-security-bug-per-il-database-engine-di-sql-2008.aspx

    Per quanto riguarda la lista dei problemi fissati, ci sono diversi aggiornamenti molto importanti:

    • Come tutti i bug di questa classe, e cioè la possibile erronea produzione di risultati da parte di una query, è caldamente consigliato considerare questo problema relativo alle INSERT con UNION ALL:

     

    Incorrect results when you run an INSERT SELECT UNION ALL statement in SQL Server 2008

    http://support.microsoft.com/kb/2530921/en-us

     

    • Sebbene la funzionalità di “Change Tracking” non sia molto popolare in Italia (ne ignoro il motivo L), nel caso dobbiate abilitarla o lo abbiate già fatto, attenzione al seguente problema che causa il fallimento dei task di backup:

     

    A backup operation on a SQL Server 2008 or SQL Server 2008 R2 database fails if you enable change tracking on this database 

    http://support.microsoft.com/kb/2522893/en-us

     

    • Questo è un problema apparentemente innocuo, ma se siete in configurazione cluster potrebbe causarVi molti fastidi, come è successo al sottoscritto, non sottovalutatelo perché i tempi di messa online dei database potrebbero prolungarsi enormemente:

     

    Recovery takes longer than expected for a database in a SQL Server 2008 environment 

    http://support.microsoft.com/kb/2524743/en-us

     

    Infine, per gli amanti della replica di tipo transazionale e “merge”, un prezioso consiglio: installate questa CU perché ci sono due grossi problemi risolti relativi alla convergenza della prima e ad un crash dell’agent di replica per la secondo.

     

    Buon lavoro a tutti….

     

    --Igor Pagliai--

  • Italian Premier Center for SQL Server

    Rilasciata la SP1 per SQL Server 2008 R2 con una novità (ed una avvertenza)

    • 0 Comments

    Salve, avevamo promesso che su questo blog non saremmo mai scesi nel banale con post del tipo “E’ uscita la Service Pack tal dei tali, etc….”, non Vi preoccupate, scrivendo questo post non stiamo violando tale impegno, leggete e capirete che quello che sto per dirVi non è immediatamente deducibile dal marasma di link, readme, release notes e materiale vario che sta inondando Internet da questa notte.

    Dunque, partiamo con la cosa fondamentale, il link per il download della SP1:

    Microsoft® SQL Server® 2008 R2 Service Pack 1

    http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=26727

     Provate ad aprire questo link e Vi troverete una sorpresa:

    E’ quello che sembra ? Posso confermarVi di si, dopo aver espanso i primi due package con il solito flag “-x”: questi due pacchetti, uno per piattaforma x86 ed uno per x64 per Itanium come è noto non c’è console SQL L, contengono gli aggiornamenti necessari per fissare il solo “SQL Server Management Studio e tutte le sue “dipendenze”.

    La domanda meno banale è: “Ma se devo aggiornare un server dove sono installati sia il Management Studio sia il motore SQL, devo installare entrambi i pacchetti ?” In questo caso, il pacchetto principale è sufficiente per aggiornare tutto quanto, non c’è bisogno di una doppia installazione.

     Altra questione che causa molta confusione è quella riguardante l’inclusione, in generale, delle varie Cumulative Update (CU) in ogni Service Pack (SP):  dato che al momento della “chiusura” della lista delle hotfix da includere in una certa SP al momento del rilascio della suddetta SP passa del tempo, il ciclo di sviluppo delle CU va avanti, quindi una certa SP non include tutte le CU rilasciate al momento del rilascio della SP stessa. Frase un po’ contorta, lo ammetto, per dire che in questo caso la SP1 di SQL Server 2008 R2 include solamente le CU dalla (1) alla (6), ma non la (7) e la (8) ! Se avete, quindi, già installato la CU7 o la CU8 per SQL 2008 R2, è caldamente consigliato aspettare il rilascio della CU1 per SQL Server 2008 R2 SP1 , attenzione che questa CU è differente dalla dalla CU1 per SQL Server 2008 R2 in quanto si riferiscono ad una “base” diversa.

    IMPORTANTE: La SP1 di SQL 2008 R2 contiene anche la fix necessaria per fissare il security bug MS11-049 di recente rilascio, magari se non lo avete già fatto andate a rileggerVi il mio precedente post sull’argomento per capire se effettivamente avete bisogno di questa security fix:

    Il primo Security Bug per il Database Engine di SQL 2008 ?

    http://blogs.technet.com/b/italian_premier_center_for_sql_server/archive/2011/06/27/il-primo-security-bug-per-il-database-engine-di-sql-2008.aspx

     Terzo ed ultimo punto di attenzione, ricordateVi che il pacchetto di aggiornamento di ogni Service Pack di SQL (SP), non include alcune componenti “accessorie” che devono essere quindi scaricate separatamente, come ad esempio:

    • Microsoft® SQL Server® 2008 R2 SP1 Feature Pack

    http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=26728

     

    • Microsoft® SQL Server® 2008 R2 BooksOnline

    http://www.microsoft.com/download/en/details.aspx?id=9071

    NOTA: Il link dei “ BooksOnline” è ancora in fase di aggiornamento, controllare la data e la versione di rilascio prima di scaricare.

    Infine, è sempre bene ricordare che:

    • Le “Service Pack” (SP) di SQL Server 2008 e SQL Server 2008 R2 possono essere rimosse, ma specificatamente per la SP1 di SQL 2008 R2 fate attenzione al seguente problema:

     The SQL Server Service Cannot Start after You Uninstall SP1 for SQL Server 2008 R2 if a UCP Exists in the Instance of SQL Server

    http://social.technet.microsoft.com/wiki/contents/articles/microsoft-sql-server-2008-r2-sp1-release-notes.aspx

     

    • Le “Service Pack” (SP) di SQL Server 2008 e SQL Server 2008 R2 supportano l’installazione in modalità “slipstream”, cioè l’installazione in unica soluzione sia di SQL Server che della relativa SP (ed anche CU), come da istruzioni seguenti:

     

    How to slipstream SQL Server 2008 R2 and a SQL Server 2008 R2 Service Pack 1 (SP1)
    http://blogs.msdn.com/b/petersad/archive/2011/07/13/how-to-slipstream-sql-server-2008-r2-and-a-sql-server-2008-r2-service-pack-1-sp1.aspx 

    • Le “Service Pack” (SP) di SQL Server 2008 e SQL Server 2008 R2 supportano, in configurazione cluster, la cosiddetta “Rolling Upgrade” per minimizzare i tempi di aggiornamento dell’istanza SQL Server, partendo dai nodi passivi e terminando con il nodo attivo; in breve la sequenza dei passi, su un ipotetico cluster a 5 nodi, sarebbe:

     

      • Supponendo che l’istanza SQL che si vuole aggiornare sia sul nodo(1), installare la SP1 su tutti i nodi passivi da (2) a (5) senza nessun particolare ordine; ); da notare che questo non causerà nessun disservizio.
      • ATTENZIONE: quando eseguirete il setup sul terzo nodo, cioè il nodo(4) se andate in ordine di numerazione, cioè raggiunta la quota del (50% + 1) dei nodi del cluster, la procedura eseguirà automaticamente il failover dell’istanza SQL dal nodo(1) non ancora “patchato” ad uno dei nodi già aggiornati con la SP1(nodi (2), (3) oppure(4)); questo di fatto aggiornerà la struttura dei database di sistema dell’istanza e da questo momento in poi SQL Server non potrà fare “failover” sui nodi non aggiornati a SP1 (nodi (1) e (5)).
        • Se non volete che questo avvenga, perché magari volete gestire Voi direttamente quando l’istanza SQL dovrà fare failover su uno dei nodi “patchati”, allora dovete lanciare il setup della SP1 con l’opzione “/CLUSTERPASSIVE”;
      • Supponendo che il failover automatico abbia portato l’istanza sul nodo(2), installate la SP1 sui nodi rimanenti, cioè nodo(1) e nodo(5), da notare che questo non causerà nessun disservizio.

    Credo sia tutto, ho in previsione di aggiornare questo post in caso si presentino “Known Issues” sulla SP1 di SQL 2008 R2, quindi Vi consiglio di controllare periodicamente questo blog :-) ....

    Buon lavoro a tutti !

    --Igor Pagliai--

     

  • Italian Premier Center for SQL Server

    Cumulative Update Review: SQL 2008 R2 CU8

    • 1 Comments

    Salve, questo mese l’oggeto del presente post è passare in rassegna le hotfix contenute nelle ultima “Cumulative Update” (CU8) per SQL 2008 R2 e gli eventuali punti di attenzione, avvertenze ed eventuali problemi. Prima di andare avanti, però, è bene ricordare la policy ufficiale Microsoft menzionata nel post seguente:

    http://blogs.technet.com/b/italian_premier_center_for_sql_server/archive/2011/05/24/devo-installare-l-ultima-cumulative-update-cu-di-sql-server-un-nuovo-servizio-dal-gruppo-italian-premier-center-for-sql-server-solo-per-i-clienti-italiani.aspx

    L’articolo ufficiale del presente aggiornamento è il seguente;

    Cumulative Update package 8 for SQL Server 2008 R2

    http://support.microsoft.com/kb/2507770/en-us

     

    La “build” di questo aggiornamento è la “10.50.1797.0”, come al solito potete trovare la lista completa dei precedenti aggiornamenti al seguente link:

    The SQL Server 2008 R2 builds that were released after SQL Server 2008 R2 was released

    http://support.microsoft.com/kb/981356

     

    Al momento del download della specifica CU, attenzione che avrete più di un file a disposizione, assicuratevi di scaricarli tutti e provvedere eventualmente all’installazione in base ai componenti installati; la presente CU contiente infatti i seguenti pacchetti (per x64):

    • 2008R2_RTM_SNAC_CU8_2534352_10_50_1797_x64”: aggiornamento per la compoente SQL Native Client (SNAC);
    • 2008R2_RTM_SapBI_CU8_2534352_10_50_1797_x64”: aggiornamento per la componente di integrazione con la BI di SAP;
    • 2008R2_RTM_MDS_CU8_2534352_10_50_1797_x64”: aggiornamento per la nuova componente/features introdotta in SQL Server 2008 R2 denominata Master Data Service (MDS);
    • 2008R2_RTM_PPExcel_CU8_2534352_10_50_1797_x64”: aggiornamento per la nuova componente/features introdotta in SQL Server 2008 R2 denominata “Power Pivot for Excel”;
    • SQLServer2008R2_RTM_CU8_2534352_10_50_1797_x64”: aggiornamento principale per il database engine di SQL Server;
    • 2008R2_RTM_RSShrPnt_CU8_2534352_10_50_1797_x64”: aggiornamento per la componente   denominata “Microsoft SQL Server 2008 R2 Reporting Services Add-in for Sharepoint 2010 Products”;

    Per quanto riguarda questo aggiornamenti, segnaliamo le due seguenti importanti hotfix:

    FIX: "A time-out occurred while waiting for buffer latch" error when many transactions concurrently update a database in SQL Server 2008 R2 if the database uses the snapshot isolation level

    http://support.microsoft.com/kb/2545989/en-us

     

    FIX: A backup operation on a SQL Server 2008 or SQL Server 2008 R2 database fails if you enable change tracking on this database 

    http://support.microsoft.com/kb/2522893/en-us

     

    Nel dettaglio:

    • Per quanto riguarda la prima hotfix, si tratta essenzialmente di un problema di performance sul TEMPDB nel caso uno o più dei Vostri database utilizzi gli isolation level di tipo “snapshot”, cioè “Read Committed Snapshot” o “Snapshot”: a causa di una strategia di allocazione non ottimale da parte di SQL Server, questo problema di performance può talvolta degradare fino a causare dei gravi problemi interni al database engine come appunto un “latch timeout”; l’eventuale workaround contenuto nell’articolo parla infatti, per mitigare ma non per risolvere il problema, di migliorare le performance del TEMPDB.
    • Per quanto riguarda la seconda hotfix, la sua pericolosità sta nel fatto che può causare fallimenti nelle procedure di backup, che se non periodicamente monitorate, potrebbero causare una pericolosa falla nella strategia effettiva di “disaster recovery” della Vostra istanza SQL; lo scenario è chiaro, tale problema si può verificare solo se avete la funzionalità di “Change Tracking” attiva, in caso contrario potete stare tranquilli.

    NOTA: Lo stesso problema è presente anche in SQL Server 2008 SP1.

    Ricordiamo inoltre che:

    • Fate attenzione alla base a cui si riferiscono; ad esempio, la CU3 per SQL 2008 R2 RTM (RTM = Release To Manifacturing = No SP !) è ben diversa dalla CU3 per SQL 2008 R2 SP1 (anche se non è ancora uscita J).
    • Le CU sono cumulative, la CU(n) contiene tutti gli aggiornamenti  nell’intervallo [1..(n-1)];
    • Le CU di SQL Server 2008 e SQL Server 2008 R2 possono essere rimosse;
    • Il singolo pacchetto CU contiene gli aggiornamenti per tutte le lingue supportate da SQL Server;

    Anche per questa CU è tutto, buon lavoro a tutti.

    -- Igor Pagliai--

     

  • Italian Premier Center for SQL Server

    I Report del SQL Management Studio non funzionano più

    • 0 Comments

    Sebbene non sia un problema recente, ho deciso di creare questo post sul nostro blog per cercare di fare chiarezza su un problema strisciante, sebbene non grave, che da diverso tempo affligge SQL Server 2008 dalla “Service Pack 1” in poi e che, fino ad oggi, non ha avuto l’onore di avere un articolo di Knowledge Base Microsoft ufficiale. Cercando di visualizzare uno degli “Standard Reports” dal SQL Management Studio, Vi è mai capitato di ricevere il seguente errore ?

    A beneficio dei motori di ricerca, includo anche la stringa completa del messaggio di errore sicuro che i motori di indicizzazione renderanno questo post visibile:

    The file 'Microsoft.ReportViewer.WinForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' cannot be opened. Do you want to remove the reference from the Recent list?

    In base alla mia esperienza diretta, questo problema ha iniziato a manifestarsi a partire dalla CU3 per SQL Server 2008 SP1, è continuato con la CU4, è stato apparentemente risolto con il rilascio della CU5 ma si è ripresentato sia in CU8 per SP1 che con la CU2 per SP2. Al momento, come ho avuto modo di testare direttamente, il problema non si è manifestato con SQL Server 2008 R2 in versione definitiva, dove avrebbe dovuto essere fissato (e così sembra almeno fino ad ora) dato che in alcune versione pre-release l’inconveniente era stato riscontrato:

    https://connect.microsoft.com/SQLServer/feedback/details/523972/sql-2008-r2-nov-ctp-management-studio-reports-fail-on-opening

    La difficoltà nell’accertare con certezza quali CU e quali SP sono afflitte dal problema sta nel fatto che i Clienti si trascinano dietro il problema da tempo e non subito se ne accorgono, e dal fatto che è un problema che affligge solo la console di SQL ed essendo questa installata in giro per molte macchine, non solo sui server di produzione dove a dire la verità non dovrebbe stare. In ogni modo, la soluzione a questo problema è molto semplice e non richiede alcun reboot, è sufficiente (re)installare la seguente componente su tutte le macchine dove si trova installato il “SQL Server Management Studio (SSMS)”, non necessariamente quelle dove è installato il database engine di SQL Server 2008:

    Microsoft Report Viewer 2008 SP1 Redistributable

    http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=bb196d5d-76c2-4a0e-9458-267d22b6aac6

     

    Buon lavoro a tutti !

    -- Igor Pagliai --

     

Page 1 of 1 (5 items)