ottobre 2007 - Posts

Risorse per clustering

Rispondendo al quesito di un frequentatore del forum di Aspitalia.com, mi sono reso conto della quantità impressionante di documentazione che esiste sul clustering. Il punto di partenza è rappresentanto sicuramente dal Cluster Server Resource Center presente sul sito Microsoft. Scendendo nello specifico, per quanto riguarda SQL Server, c'è la possibilità di scaricare questo white paper (già linkato nel "cluster server resource center"). Anche al di fuori del sito MS le fonti di documentazione non mancano ed una delle più ricche è questa.

Il cluster è sicuramente la soluzione per eccellenza in grado di offrire livelli di servizio elevati, ma una non adeguata conoscenza della tecnologia che si utilizza può rappresentare una bomba a mano con la spoletta estratta in grado di esplodere da un momento all'altro. Per questo motivo è indispensabile predisporre un ambiente di test, magari realizzato con virtual machine, su cui fare la necessaria esperienza. In questo link vengono fornite informazioni utili per creare un cluster con Virtual Server.

Bye

 

Certificati digitali e permessi NTFS

Mente si stanno tenendo le ultime sessioni della WPC mi trovo sul treno che mi riporta a casa dove mi stavo interrogando sulle cause per le quali una delle demo che avevo preparato per la sessione non ha funzionato.
Si trattava della demo a cui tenevo di più, quella dove mostravo l'utilizzo del service broker per mettere in comunicazione 2 istanze di SQL Server, su macchine differenti, facendo uso di certificati digitali.

Così come nel database mirroring, in assenza di un dominio l'unico modo per autenticare una istanza nei confronti dell'altra è attraverso un certificato digitale, sia esso prodotto da una CA esterna che auto-generato da SQL Server (o attraverso l'utiity makecert.exe).
Nel momento cruciale, quando si è trattato di importare il certificato nella seconda delle 2 istanze (nella prima era andato tutto ok), al comando

CREATE CERTIFICATE ArielTRANCert
FROM FILE = 'C:\WPC2007\Cert\ArielTRANcert.cer'
WITH PRIVATE KEY ( FILE = 'C:\WPC2007\Cert\ArielTRANcert.pvk' ,
   DECRYPTION BY PASSWORD = 'PrivateKey' )
ACTIVE FOR BEGIN_DIALOG = ON;
GO

ho ottenuto un bel messaggio di errore

Msg 15208, Level 16, State 1, Line 1
The certificate, asymmetric key, or private key file does not exist or has invalid format.

Il primo pensiero è andato alla possibilità che avessi sbagliato il percorso dove si trovava il certificato o la sua private key, ma così non era. La seconda ipotesi è stata quella che il certificato fosse scaduto; l'ultima prova della demo l'avevo fatta ieri pomeriggio e tutto era andato come doveva ma non potevo escludere che la legge di Murphy ci avesse messo del suo facendo scadere il certificato tra ieri sera e questa mattina. Ma non era neanche così perchè mi ricordavo di aver specificato una "expiry date" molto lontana nel tempo ed infatti le proprietà del certificato mi confermavano che sarebbe scaduto nel 2040 (ed in questo ero stato molto previdente... :-) ).
Che cosa poteva essere? Seppur non del tutto convinto pensavo che potesse essersi danneggiato il file del certificato o quello della sua private key ma Per motivi di tempo ho deciso di soprassedere scusandomi con chi aveva avuto la pazienza di ascoltarmi fino a quel momento. Sono quindi andato avanti con le altre demo ma sempre con un angolo della mia testa a rimuginare in background sulle possibili cause.

Pochi minuti fa l'illuminazione. Mi sono ricordato che ieri sera, dopo l'ultima prova delle demo, ho riallineato tutti i file presenti sul mio portatile con quelli presenti sulle 2 virtual machine; con questa operazione sono stati resettati i permessi NTFS presenti sulla cartella di destinazione ed ereditati i nuovi dalla cartella parent. Lo stesso è avvenuto, ovviamente, per la cartella, sull'altra virtual machine, contenente i certificati relativi all'istanza sulla quale tutto è andato liscio ma la differenza sta nel fatto che mentre quest'ultima veniva eseguita nel contesto di LocalSystem (lo so, dico sempre di non utilizzarlo, ma qui si trattava di una demo... :-) ), l'altra istanza veniva eseguita come Network Service (è il default per SQL Express). Sarebbe stato sufficiente riassegnare i permessi NTFS per far girare il tutto correttamente oppure, come facevo le altre volte, non copiare l'intera cartella, ma allineare solo i file relativi ai certificati.

Bene, mi dispiace per la demo fallita, ma sono cose che possono succedere nel corso di una sessione dove il tempo è solitamente tiranno ed ancora di più questa volta dove le sessioni erano di 60 minuti. Decisamente pochi per presentare efficacemente argomenti come questo...

Bye

 

Posted by lbianchi with 2 comment(s)
Filed under: ,

WPC: domani ATE e venerdì la mia sessione

WPC è iniziato lunedì scorso ma per me inizierà domani.

Arrivo con un giorno di anticipo sulla mia sessione, dedicata questa volta al Service Broker, per essere presente all' Ask the Expert presso l'angolo MVP. Oltre ad essere l'occasione per rivedere alcuni amici con cui ci si incontra solo in eventi come questo, sarà l'occasione per dare un volto alle persone che frequentano le varie community. Chi c'è si faccia avanti e sarà l'occasione per conoscerci, oltre che online, anche di persona.

Bye

 

 

Posted by lbianchi with 2 comment(s)
Filed under: ,

Non clusterizzate quel servizio...

...o almeno leggete prima questo articolo della kb, pubblicato ieri, dove vengono descritte delle strade alternative per offrire fault tolerance ad Integration Services (SSIS).

SSIS non è una risorsa cluster-aware ma è pur sempre possibile creare una risorsa di tipo "generic service" nello stesso gruppo di risorse del servizio SQL Server o in un suo gruppo dedicato. Ci sono pro e contro di ciascuna di queste 2 possibilità così come ci sono pro e contro nel decidere di clusterizzare SSIS o meno. Prima di prendere qualunque decisione è importante leggere, oltre all'articolo indicato sopra, anche questa pagina del BOL e tutti i link in essa indicati.

Bye

 

Configurazione di rete in SQL Express

Fino a qualche tempo fa la domanda posta più frequentemente nei newsgroup/forum relativi a SQL Server riguardava l'utilizzo "anomalo" della memoria da parte del processo SQL Server (che anomalo non era) che finiva con l'utilizzare tutta, o quasi, la RAM disponibile sulla macchina. Da qualche tempo, probabilmente dopo le innumerevoli risposte date sui newsgroup/forum, sembra che si siano comprese le ragioni di tale ottimizzazione ed il quesito in cima alla top 10 è diventato quello che riguarda l'utilizzo in rete di SQL Server (in particolare la versione Express).

Come noto (ma evidentemente non a tutti), al termine dell'installazione della versione Express di SQL Server è possibile accedere all'istanza solo in locale; prima di poter utilizzare il database server in una lan è indispensabile che siano state abilitate le connessioni di rete e, se si tratta di una istanza con nome, è altresì indispensabile che sia in esecuzione il servizio SQLBrowser (salvo che sia stata specificata per l'istanza una porta statica e che questa sia stata inclusa nella connection string). Ovviamente è altresì necessario che tra client e server non vi siano apparati di rete che in qualche modo filtrino il traffico, siano essi apparati hw che firewall sw come quello portato nativamente da Windows XP SP2 e da Vista.

In questo articolo vengono indicate le attività da eseguire al termine dell'installazione qualora si voglia consentire un accesso via rete all'istanza. L'articolo fa parte della serie dedicata a SQL Server Express e di cui avevo già parlato in questo post. Nel frattempo la raccolta si è ulteriormente arricchita con altri 2 articoli rappresentando un validissimo aiuto per chi si avvicina a SQL Server.

Bye

 

Posted by lbianchi with no comments

Un altro bug nella versione localizzata di SQL Server

Qualcuno ricorda i problemi di MSDE nella versione italiana riguardante i job multistep? Che lo ricordiate o no ormai è passato tanto tempo, ma se volete trovate le indicazioni in questo post di Lorenzo Benaglia.

Sembra che i problemi delle versioni localizzate continuino ancora in SQL Server 2005 dove un problema che dovrebbe essere stato risolto con il SP1 nella versione inglese sembra ancora vivo nella versione italiana. Ancora una volta a segnalare il problema è stato un utente del newsgroup microsoft.public.it.sql che in questo thread fa stato della cosa. Questa volta ad essere coinvolti sono i sistemi x64 con installata la versione italiana di SQL Server 2005 dove non si riesce a configurare SQL Server Agent per l'utilizzo di Database Mail.

Bye

 

Posted by lbianchi with no comments
Filed under: ,