Windows 2012

Aside

Ho recentemente installato il mio primo server Microsoft (r)Windows 2012 (r) Standard, su  un IBM Xseries 3630. Il primo contatto è stato assolutamente positivo, si vede una discreta innovazione rispetto 2008, dal punto di vista grafico, molto vicino a windows 8. Ma rimane un server. Ho faticato un attimo per eseguire lo shrink del disco, non trovandolo da GUI sono ricorso alla Power Shell. Poi mi sono divertito con le creazioni dei vari dischi, trattandosi di un server-nas, usando l’array RAID6 (che è un optional, Feature-on-Demand, per IBM). Parlando di Windows 2012, lo trovo un prodotto molto bello esteticamente ma anche decisamente maturo per il mercato. Se un decennio fa, forse, non avrei consigliato windows 2000 Server, oggi consiglio fortemente il mondo Windows server, sia 2008 che 2012. Un plauso a Microsoft, che negli anni ha investito molto nei progetti di evoluzione tanto da cambiare il modo di leggere “ah, microsoft”, da superficiale e scontento ad approfondito e appagato. Ho provato anche qualche comando da Power Shell, che mi diletta molto, e ovviamente la macchina è stata decisamente veloce a rispondere. Penso che questa macchina ci darà delle soddisfazioni, sia per la velocità della macchina, sia per l’interfaccia divertente di Windows 2012. Lasciatemi dire che anche l’occhio vuole la sua parte, e con questa il mio è appagato. Nei prossimi giorni mi addentrerò meglio nel mondo Windows 2012, anche perchè mi devo chiarire dei concetti sulla gestione logica e fisica dei dischi (abbiamo montato 12 dischi da 2 Tb per lo storage e 2 dischi da 300 Gb per il Sistema) per cui vorrei capire bene come gestirli al meglio PRIMA di mettere la macchina in produzione e non DOPO!. Divertente anche la gestione hardware IBM delle schede di Rete. Quando viene consegnata, la scheda di rete numero 2 è dedicata alla IMM, per cui occorre entrare nel BIOS (ha un altro nome, lo so, ma è per capirsi meglio) e modificare le impostazioni delle schede di rete. La numero 2, cambia da dedicata alla sola IMM a condivisa, per poter attivare il Teaming sulle schede 1 e 2. L’interfaccia di gestione del Teaming è integrato direttamente in Windows 2012. Tra parentesi, avere anche le schede 3 e 4 è una FoD, per cui l’hardware è già presente, ma occorre attivarle via software.

restate sintonizzati!

Passare parametri su SSIS, da padre a figlio…

La tecnica o filosofia di vita della riutilizzazione del codice (WORE) insegna scrivi una volta e riusa per sempre. Questo quando si usa un linguaggio e si cambia piattaforma, tipo Java, oppure quando si allestiscono dei pacchetti da far girare in ambiente di produzione e identicamente in ambiente di test. In questo caso, se ho due SSIS, un padre ed un figlio, nel padre richiamerò il figlio avendo l’accortezza di configurare i parametri che voglio che siano trasmessi. Come fare? in Control Flow del figlio, click con il tasto destro e selezionare package configuration. Qui, abilitando Package Configuration, occorre dichiarare quali variabili ereditare dal Parent Package. In Run Time, quando il padre chiamerà il figlio, gli passerà anche le variabili elencate (in realtà, sarà il figlio che ne accetterà i valori in base allo schema concordato). NB: le variabili devono esistere sia nel padre che nel figlio e devono avere lo stesso nome. Per screenshot e delucidazioni, guarda questo articolo.

Quanto è grossa una tabella su SQL Server? come si monitorizza?

La grandezza di una tabella, anche in SQL Server (2005, 2008 e 2012) è sempre un dato da considerare, soprattutto se la tabella ha milioni di righe. Nel caso di decine di colonne, anche qualche migliaio di righe può però inputare degli oneri computazionali. Questo articolo offre un interessante spunto di riflessione, oltre che un valido strumento per calcolare la dimensione delle tabelle e dei database. Si fa sempre uso delle viste di sistema e delle procedure (funzioni) di sistema, in questo caso dbo.sysobjects che restituisce l’elenco delle tabelle e sp_spaceused che restituisce informazioni circa la tabella che viene passata come primo parametro. Non si tratta di nulla di trascendentale, ma che può essere utile in ambienti Enterprise.

Motori a razzo… e altro.

Sapete chi è Wernher von Braun? Colui che ha fatto andare sulla luna gli Stati Uniti. La Germania nazista portò la propulsione a razzo ai massimi livelli, con i progetti V1 e V2 e von Braun era il capo della progettazione di quei motori. Alla fine del conflitto iniziò a lavorare con gli Stati Uniti d’America, e fu il capo della NASA dal 1960 al 1970. Suoi sono i motori del Saturn V che hanno portato l’Apollo 11 sulla luna (grazie al fallimento dell’analogo progetto della Marina degli Stati Uniti). Sapete che lo Space Shuttle è il veicolo riutilizzabile per andare in orbita ma non sapete che i razzi di colore bianco/nero che si trovano a destra ed a sinistra del grande serbatoio marrone sono i razzi più potenti mai costruiti. Per darvi una idea della potenza, la vostra automobile ha una coppia compresa tra i 150 e 300 Newton/metro. Ciascuno di questi razzi ha una coppia di 13 MEGAnewton/metro. Da allora, in questo campo, poco o nulla è stato fatto.

Sempre in ambito motori, pensate che il record di volo per idrovolanti a pistoni, di oltre 700 km/h è stabilito dal 1933 sul lago di Garda e che già allora i motori a pistoni erano molto raffinati (MC72, con 3000 cavalli e 50 litri di volume), tanto da chiedersi, quale sia stato il progresso dei motori a pistoni dagli anni 30 ad oggi.

Ciò per chiedersi se veramente vi sia una evoluzione nel campo dei motori, o se invece sia comodo rimanere così, per essere schiavi di qualcuno o qualcosa. in questi giorni mi viene l’idea di una automobile a Pellets…

XP_cmdshell su SQL Server

XP_cmdshell è il super accrocchio che permette di mescolare il Database con il sistema operativo. Infatti potrebbe essere necessario dover mescolare interrogazioni al sistema operativo con informazioni contenute in Tabelle. Il grande Pinal Dave ci fornisce la sua versione, e i comandi (da SQL 2005 in poi) sono i seguenti:
EXEC sp_configure ‘show advanced options’, 1
GO
RECONFIGURE
GO
EXEC sp_configure ‘xp_cmdshell’, 1
GO
RECONFIGURE
GO
Per SQL Server 2000 (8.0) invece non serve eseguire questi comandi perchè XP_cmdshell è acceso di Default. Personalmente preferisco tenerlo disabilitato, perchè può generare problemi, non perchè funzioni male, anzi, ma perchè è una porta aggiuntiva lasciata ai bontemponi che si dilettano a buttare giù sistemi. Avete letto bene, questo arnese, molto potente, è una fantastica Back Door per poter derubare o peggio distruggere il sistema informativo. Ad esempio è possibile lanciare il Format c: ! Prima di accenderlo, insomma, ci penserei bene…

Microsoft dice che…

IBM i Series (As400) Vs. Microsoft SQL Server 2008 R2

Fantastico, semplicemente Fantastico. dopo anni e anni di deliri, trucchi e gabole finalmente c’è un modo per avere l’AS400 interrogabile e gestibile tramite la Management Console di SQL Server. Basta avere almeno i Series versione V5R4M0 con i Series Access alla versione SI37892 montata sul server DB. con pochi click, dichiarando AS400 come linked server, basta usare

SELECT * from Openquery (as400,’select * from <libreria>.<tabella>’)

per avere il risultato come se fosse una tabella di SQL Server. Esiste anche DELETE openquery e UPDATE openquery. Questo permette una migliore integrazione tra i due mondi che nella azienda moderna inizia ad essere veramente necessaria, in quanto i Series è solitamente l’ambiente di ERP e Gestionale e SQL Server è l’ambiente naturale per tutti i DB di produzione moderni.

 

La guerra immateriale

Una volta, quando un popolo ne voleva prevaricare un altro, gli dichiarava guerra per la prima sciocchezza disponibile. Oggi è più facile, prendi dei colletti bianchi, ne fai un team e lo mandi alla conquista della collina degli stivali. In questi giorni, c’è l’ennesima battaglia per la ancestrale guerra per il dominio del mondo. Il carro armato si chiama Dollaro e tramite della fanteria fb sta cercando di riguadagnare quota mediante spargimento di fumo. La solita vecchia storia, non sai e non hai, ma al nemico devi far credere che sai e che hai. Devi cioè “Bluffare” sperando che poi non venga a vedere le tue carte perchè gli hai fatto paura. Il divertente è che nel mezzo c’è qualcuno che gode, solitamente i mercanti a borsa nera. Questa volta c’è di più, i cowboy sono diventati indiani, e quindi se la storia insegna che tutto si ripete, stavolta rimane nella storia che le parti si sono invertite. Ma la sorte degli indiani, come è noto, non è stata bellissima. Presto avremo uno sconvogimento del mondo che conosciamo, e va a sapere cosa accadrà. La sola cosa certa della guerra è la distruzione. Speriamo nella rinascita.

tempDB

Il famigerato, fantomatico, enigmatico ma quanto mai strategico tempDB. Ci sono ricette in ogni angolo, per gestire questo recipiente in cui SQL Server fa tutto, ma proprio tutto. E quanti file dare a tempDB? 1, 2 o centomila? Ho provato personalmente che non c’è una regola “a priori” per sapere/capire quanti file devono essere dati a tempDB, solo l’evidenza sperimentale può confermare il successo dell’Ingegnerizzazione di questo database temporaneo. Ho anche sperimentato che non è banale aggiungere datafile (file .ndf), perchè la lavorazione del singolo statement SQL muta radicalmente, tanto da poter far crollare una applicazione enterprise, se questa non è scritta diligentemente. E a me, è successo, di vedere sbriciolata una applicazione, ma non per i tempi biblici di elaborazione, bensi per il frantumarsi degli assiomi che i programmatori si sono fissati nella propria mente e che non sono il frutto di alcun rigore scientifico. Non è neanche detto che il Raid su cui si trova il disco muti radicalmente i tempi di utilizzo dell’applicazione che sfrutta SQL Server. È tutto un gigantesco e delicato castello di carte… in cui occorre stare attenti a non giocare il jolly nel momento sbagliato (volevo scrivere ‘la matta’…).

A rigore di quanto descritto, rammento che secondo Linus Torvalds solo il tempo e gli utenti del software possano dichiarare un software migliore di un altro. Ergo, solo il tempo e gli utenti possono dichiarare soddisfacente una implementazione di un server database e l’implementazione dell’applicativo cui fa da fondamenta.

 

Dove mettere i server?

Spesso, vagando per aziende, ho visto server ‘appoggiati’ dove capita. Navigando per internet (in realtà in un sito che conosco benissimo) mi sono imbattuto in questo aggeggio e sono voluto andare a vederlo. Una grande scatola, in cui un individuo di 1,80 metri può entrare restando in piedi ed in cui si può collocare un rack o più da 36 unità ma non da 42. Come da descrizione è coibentato e con poche modifiche tra cui quella dell’adozione di un condizionatore, può benissimo diventare una sala server (anche da viaggio!). In definitiva è una soluzione economica per risolvere l’annosa questione ‘sala server’ che deve stare a 20 gradi, non ci si dovrebbe lavorare, che ha un inquinamento acustico non indifferente, con un discreto impatto elettromagnetico, che a sua volta è sensibile a questo argomento e che dovrebbe avere un impianto elettrico staccato da quello aziendale. Un bell’asso di briscola!