Archive for the ‘Tools’ Category

Recuperare l’ownership della propria istanza Sql Server Express 2008

mercoledì, dicembre 14th, 2011

 

Cercando documentazione relativa al maintenance mode di Sql Server mi sono imbattuto in questo shell script (http://code.msdn.microsoft.com/addselftosqlsysadmin/) che permette di assegnare i privilegi di sysadmin sull’istanza locale di Sql Server Express all’utente con cui ci si è loggati sul proprio OS (o ad un qualsiasi altro specificato come parametro); per farlo, ovviamente, l’utente in oggetto dovrà far parte del gruppo “Administrators” locale.

 

Uno degli scenari dove questo script è particolarmente utile è il seguente:

 

quando sql server express viene installato da uno specifico utente, un secondo utente che proverà ad utilizzare il servizio, godendo dei soli privilegi minimi, non potrà creare database, tabelle o altre tipologie di oggetti. Questo accade perchè l’utente owner dell’installazione è il solo a cui è garantito il ruolo da sysadmin, ergo, il secondo utente pur facendo parte del gruppo degli amministratori del sistema operativo non potrà in alcun modo gestire l’istanza locale del rdbms light di Microsoft. Il problema diventa ancor più grave quando l’utente che ha effettuato l’installazione viene per qualsiasi motivo eliminato dal sistema non potento, quindi, utilizzarlo per poter riassegnare manualmente ad altri utenti il ruolo da sysadmin.

 

Ai tempi di Sql Server Express 2005, Microsoft aveva deciso di garantire il ruolo da sysadmin a tutto il gruppo degli amministratori locali del OS permettendo, quindi, agli utenti di avere l’ownership dell’istanza in maniera praticamente trasparente. Putroppo, con l’introduzione del UAC su Windows Vista questa decisione ha introdotto problemi di usabilità generale ad esempio su Visual Studio. L’UAC, per sua natura, nascondendo il token di sicurezza da “Adminsitrator” al processo di Visual Studio non permetteva la gestione completa del server DB direttamente dalla GUI del IDE Microsoft: l’utente era quindi costretto a lanciare VS in “elevated mode” (per inciso col “Run as Administrator”) che è generalmente una pratica non consigliabile.

 

Lo script automatizza i seguenti steps:

 

    1. restart del servizio SQL Server con l’ozione –m (maintenance mode) che permette una singola connessione da un admin box (aggiunto automaticamente ed in maniera temporanea al ruolo sysadmin del server);
    2. connessione all’istanza SQL e aggiunta dell’utente specificato al ruolo sysadmin;
    3. restart del servizio SQL in modalità standard;

 

.. perfetto per “riguadagnare” la proprietà Winking smile del proprio server in pochissimi secondi.

Tags: , , , , , ,
Posted in IT Pro, Microsoft, Sql Server, Tools | No Comments »

Tempo di aggiornamenti

sabato, luglio 9th, 2011

Oggi, approfittando di un po’ di tempo libero, sono riuscito finalmente ad aggiornare l’ambiente software del mio server su cui si basa questo blog ed altri servizi che ho in hosting.

 

L’app di gestione Plesk del VPS (versione 7.6.1, ormai più che legacy) includeva:

 

PHP 4.3.3

MySQL 4.1

 

Anche se questo server ospita principalmente applicazioni ASP.NET, l’installazione delle versioni più recenti di PHP e MySQL è diventata indispensabile a causa del fatto che l’ultima release di WordPress (3.2)  gira soltanto su PHP 5 o sup. e le estensioni php_mysql, php_pdo_mysql (utilizzate per connettersi al server db) funzionano solo se la versione di MySQL è la 5 o sup.

 

.. insomma un bel circolo vizioso o meglio virtuoso Occhiolino

 

Dopo gli updates, la piattaforma ora si basa su:

 

PHP 5.3.6 su IIS6 + FastCGI

MySQL 5.5.14

 

Una nota : se avete intenzione di continuare ad usare Plesk 7.6.1 per gestire il server e i vari domini, lasciate perdere gli installer basati su wizard di PHP e MySQL, rischiereste di ritrovarvi con la configurazione del server completamente incasinata. Il consiglio è quello di usare i pacchetti di deploy .ZIP per rimpiazzare manualmente le vecchie versioni. Per PHP si tratta essenzialmente di riconfigurare IIS sganciando il gestore basato su ISAPI  a favore di quello fastcgi. Relativamente a MySQL, invece, basta sostituire il folder Data della nuova installazione con quella precedente (compreso il my.ini che contiene tutti i settings dell’istanza) e poi dal prompt comandi con un “mysql_upgrade admin@localhost –force” … forzare l’aggiornamento delle strutture dati di base del servizio.

Ultima cosa relativa al server db: passando dalla versione 4.x alla 5.x andranno reimpostate le pwd degli utenti in modo da poter sfruttare il nuovo algoritmo di hashing e i nuovi meccanismi di persistenza delle credenziali (da PHP, usando le vecchie credenziali, le chiamate a mysql_connect() che sfruttano l’ext mysqli andranno in errore, maggiori info qui: http://dev.mysql.com/doc/refman/5.5/en/old-client.html).

Tags: , , ,
Posted in IT Pro, MySQL, PHP, Tools | No Comments »

Piccoli developers crescono … con Microsoft SmallBasic

martedì, novembre 11th, 2008

I miei primi passi da dev li ho fatti utilizzando il mitico Turbo Pascal di Borland (che strano dopo tutti questi anni mi ritrovo ancora a lavorare con strumenti progettati da Anders Hejlsberg, sarà un caso?? ;) . Successivamente mi buttai rapidamente a capofitto su C/C++ scrivendo videogiochi (piccoli shotemup 2D) utilizzando la lib Allegro (ancora in pieno sviluppo) su compilatori come Cygwin (uno dei porting di gcc su windows) e Watcom C++ (bei tempi quelli dell’extender a 32 bit DOS4GW ;) )

Al giorno d’oggi avvicinare i bambini allo sviluppo software è diventata una pratica molto semplice grazie alla miriade di linguaggi e di strumenti dedicati. Ultimo ritrovato è Microsoft SmallBasic, un progetto dei DevLabs di BigM che fornisce un linguaggio semplice, basato su BASIC, con a supporto un IDE userfriendly dove non mancano funzionalità apprezzate anche dai “grandi” come l’Intellisense e l’instant context sensitive help, il tutto ovviamente con pieno supporto al .NET Framework.

Il linguaggio, completamente imperativo, conta appena 15 keywords, abbastanza per approcciare ai concetti base di qualsiasi linguaggio (statement condizionali, loops, etc.).

image

Il semplice ambiente di sviluppo è composto essenzialmente dalla Toolbar (2) , l’Editor (1) e la Surface Area (3) mentre l’Intellisense sfrutta anche esso l’interfaccia basata su ribbon.

image

Maggiori info sono disponibili nel documento di “getting starting guide” scaricabile dal sito ufficiale dedicato al progetto.

Posted in .NET Framework, Microsoft, Tools | No Comments »

Visual Studio 2008 – Resharper 4.0 : Failed to load supplementary package

giovedì, giugno 5th, 2008

Qualche tempo fa avevo provato una delle night build del famoso AddIn Resharper in versione 4.0. Siccome si trattava di una release alpha il software rendeva l’ambiente di sviluppo di VS 2008 quasi inutilizzabile a causa di problemi di rilascio delle risorse in memoria che praticamente portavano, dopo qualche ora di lavoro, devenv.exe (il processo principale dell’ide VS2008) a saturare quasi completamente la memoria di sistema. A causa di questa anomalia e di altri problemi decisi quindi per una disinstallazione del package per poi aspettare l’uscita di una release più stabile di questo utile tool.
Qualche settimana fa Resharper 4.0 è stato rilasciato in versione RC (release candidate). Siccome questa versione risolve la maggior parte dei bugs che affliggevano le versioni precedenti ho deciso di provarla approfittando dei 30 giorni trial.
Il setup si presenta con una gui differente da quelle delle nigh build anche se le varie opzioni sono rimaste le stesse. Terminata la procedura di installazione, lanciando VS, è subito saltata fuori una message box con il seguente errore :

‘Failed to load the supplementary package ‘0c6e6407-13fc-4878-869a-c8b4016c57fe

Siccome l’archiettura di VS permette di gestire i vari AddIn in maniera completamente separata dal resto dell’applicazione il mancato caricamente del package con quel Guid non pregiudica l’avvio dell’IDE permettendo quindi di continuare a lavorare anche se le funzionalità di Resharper sono tutte disabilitate.

Cercando su google qualche work around al problema sono incappato in un thread sul forum di Jetbrains (produttore di Resharper) dove è indicata chiaramente una soluzione al problema. Praticamente è bastato ricorrere all’uso di una delle opzioni da riga di comando dell’eseguibile devenv.exe ( a questo link è possibile trovare tutte i command line switches per devenv utili al deployment e alla configurazione dei VSPackage ) :

da command prompt lanciato come amministratore:

Devenv.exe /ResetSkipPkgs

ha permesso di resettare tutti i flag di skip loading precedentemente impostati, permettendo, quindi, a VS2K8 di avviarsi senza problemi caricando Resharper in maniera corretta (probabilmente nell’usare la night build avevo segnalato a VS di non fare il loading del pacchetto che mi dava problemi, ma dopo aver provedduto alla disinstallazione della versione alpha, questo flag era rimasto ed ora la RC 4.0 non riusciva a partire proprio perchè VS saltava il caricamento di quello specifico package).

Concludendo : "grazie" a questa problematica con Resharper ho scoperto che devenv con i suoi vari command line switches è uno strumento molto versatile per il build & deploy di progetti sln senza nemmeno avviare la GUI dell’IDE (non conoscevo tutte le varie opzioni disponibili, provate con devenv /?, ci sono cose veramente interessanti).

Posted in Tools, Visual Studio | No Comments »

Firefox e il server web integrato in Visual Studio

martedì, ottobre 23rd, 2007

Utilizzando il suddetto browser con il webserver integrato in Visual Studio 2005 / 2008 è possibile notare la sostanziale lentezza nel caricamento delle pagine richiamate su localhost.

Il problema è dovuto alla risoluzione del nome host e dal sistema che firefox utilizza per gestire l’IPV6.

E’ possibile, quindi, riprodurre questo comportamento su macchine con Windows XP SP2 e stack IPV6 installato ed ovviamente su Windows Vista dove il supporto IPV6 è nativo.

Il problema è di facile risoluzione : basta disabilitare il supporto IPV6 relativamente a Firefox quando lo si utilizza per testing su localhost.

Dalla barra degli indirizzi digitare about:config per accedere alla lista parametri di configurazione del browser; individuare la chiave network.dns.disableIPv6 per cambiare il relativo valore a true.

Fonte : Fixing Firefox Slowness with localhost on Vista.

Posted in Tools, Windows | No Comments »

Uno shell command per rimuovere le cartelle SVN

martedì, ottobre 9th, 2007

Il server di source control Subversion (per gli amici SVN) mantiene lo stato in una serie di cartelle nascoste .svn piazzate all’interno della root folder del progetto. Molte volte mi è capitato di dover pulire il mio progetto dallo stato SVN (fornire una copia pulita della cartella, sharing di rete, etc.). Rimuovere manualmente ".svn" in progetti con alta profondità di path diventa praticamente impossibile, quindi mi ero attrezzato con una procedura batch che ricorsivamente cercava all’interno del progetto le cartelle .svn rimuovendole dal filesystem. Googlando mi sono imbattuto in un post in cui venivano fatti degli esperimenti per confrontare le prestazioni tra una soluzione che faceva uso dei classici comandi di shell windows\dos e un’alternativa implementata con PowerShell; in uno dei commenti al post un lettore proponeva di aggiungere una shell extension nel registro di windows in modo da avere il comando di rimozione sempre a "portata di click". Ecco la soluzione :

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]
@="Delete SVN Folders"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]
@="cmd.exe /c \"TITLE Removing SVN Folders in %1 && COLOR 9A && FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\" \""


Il tutto va ovviamente "incollato" in un file .reg in modo che windows possa aggiungere opportunamente le chiavi di registro.

Da ora basterà un click destro sulla root del progetto e il comando "Delete SVN Folders" si occuperà di tutto.

Se dovesse interessare l’implementazione PowerShell trovate qui il post : Powershell vs Command Prompt on Deleting SVN Directories

Posted in Tools | 1 Comment »

Testare pagine web su Safari da PC Windows

giovedì, maggio 3rd, 2007

Esiste una versione di Safari per Windows? La risposta è no, o meglio quasi. Attualmente, per poter testare il layout delle proprie pagine web su un browser come Safari da una macchina Windows esistono due soluzioni : 

- SWIFT -

Swift è il nome di un browser opensource scritto in C# e basato interamente su WebKit (il motore di rendering,”altrettanto” opensource montato su Mac OS X e utilizzato da Safari).

Si tratta di un progetto in stato embrionale (l’owner del prj cerca anche collaborazioni in questo senso - quindi coders, esperti di UI fatevi pure avanti) che può essere utile per poter giusto testare il layout delle pagine; quindi, almeno per ora, non ci si deve aspettare di riuscire a vedere in funzione ajax, svg o altre tecnologie attualmente supportate da browser più rinomati.

- BROWSRCAMP -

Si tratta un servizio veramente utile e rivoluzionario per i webdesigner. Browscamp permette, gratis, dandogli in pasto la URL del vostro sito, di produrre uno screenshot jpg o png, con risoluzione in larghezza che va da 800px a 1600px, di come Safari 2.0.4 effettua il rendering delle pagine. Inoltre, lo stesso sito, offre un servizio a pagamento di subscription chiamato OSX Livetest che non fa altro che dare accesso per un tempo limitato ad una macchina OSX tramite remote desktop.

Ecco l’elenco dei browsers installati sulla macchina remota :

Camino 1.0.2

Firefox 2.0

Flock 0.7.4.1

iCab 3.0.2 beta

Mozilla 1.7.13

Netscape 7.2

OmniWeb 5.5 beta 2

Opera 9.01.3489

Safari 2.0.4

SeaMonkey 1.0.4

Shiira 2.0 beta 1 e

Concludendo, se non avete la possibilità di avere sotto mano un Mac con su installato Tiger una di queste due soluzioni può essere un ottimo compromesso.

Posted in Tools | No Comments »

Una VPN facile e sicura ? La risposta è Hamatchi

lunedì, aprile 23rd, 2007

Si tratta di un software che permette di configurare una VPN via Internet in modo semplice e veloce. Il sistema di networking è basato interamente su protocollo UDP con una classica architettura peer-to-peer. Infatti ogni nodo appartenente al network Hamachi utilizza un ulteriore nodo, chiamato mediation server, per poter inizializzare la connessione a maglia, dopodichè il collegamento è diretto tra i vari nodi, alcun tipo di traffico passa per il mediation server; questa tecnologia è chiamata comunemente NAT-to-NAT traversal.

Dal lato della sicurezza, invece, Hamachi sfrutta varie tecnologie di autenticazione sicura e codifica dei dati; le identità del client e del server sono garantite da una coppia di chiavi RSA (pubblica e privata) mentre la messaggistica viene crittografata mediante un algoritmo cipher simmetrico (SCA) che si basa sul MAC address della scheda di rete.
Da quello che ho potuto vedere in giro, l’applicazione più comune che si fa di questo software, è quella di organizzare VPN dedicate al gaming multiplayer; la maggior parte delle volte, purtroppo, si tratta di una pratica illegale che permette di bypassare i server centralizzati di gaming e il relativo check sull’autenticità del software, facendo credere al gioco di trovarsi in un ambiente LAN.
Download e maggiori informazioni sono disponibili sul sito ufficiale : http://www.hamachi.it/

Posted in Tools | No Comments »