In questo articolo parleremo di Microsoft SQL Server.
SQL Server nasce inizialmente da uno sforzo congiunto di Microsoft, Sybase and Ashton-Tate che nel 1989 creano tale prodotto avente come target OS/2.
Dopo alcune vicessitudini Microsoft si smarca da Sybase e SQL Server versione 6.0 è la prima versione per Windows NT che non ha più dipendenze di copyright da Sybase.
In SQL Server version 6.5 and earlier, stored procedures were a way to partially precompile an execution plan. At the time the stored procedure was created, a partially compiled execution plan was stored in a system table. Executing a stored procedure was more efficient than executing an SQL statement because SQL Server did not have to compile an execution plan completely, it only had to finish optimizing the stored plan for the procedure. Also, the fully compiled execution plan for the stored procedure was retained in the SQL Server procedure cache, meaning that subsequent executions of the stored procedure could use the precompiled execution plan.
SQL Server 2000 and SQL Server version 7.0 incorporate a number of changes to statement processing that extend many of the performance benefits of stored procedures to all SQL statements.
- Una buona compatibilità con la sintassi di Sybase
- Tool di sviluppo gratuiti piuttosto buoni (come il SQL Management Studio Express)
- Strumenti evoluti come la ricerca full-text anche nella versione gratuita
- Grazie ad un linguaggio per creare stored procedure piuttosto amichevole, è possibile spostare molta business logic lato server ed integrarlo anche con altri linguaggi (es PHP, Java,…)
- I tool a corredo permettono uno scripting delle operazioni molto agile. Quello che normalmente avreste solo con TOAD per Oracle, qui lo trovate gratis
Volendo fare un paragone SQL Server può essere considerato una specie di MySQL con in più il supporto alle transazioni e feature tipiche di un prodotto di fascia medio-alta.
Per le nostre prove ci siamo serviti di un server con virtualizzato vmware, per mettere alla prova le performance di SQL Server anche in un ambiente a basse prestazioni
Tra i punti negativi:
- La versione embedded di SQL Server (Compact Edition) risulta non molto compatibile a livello di SQL e di tool (la maggiorparte dei tool di mapping, incluso Linq2SQL non vanno).
Da questo punto di vista SQLite risulta una migliore alternativa nel segmento embedded, usato perfino da Apple per il so iPhone.
Per questa ragione sconsigliamo la valutazione della CompactEdition - Durante il passaggio di parametri alle stored procedure, ogni tanto i dati vengono troncati senza comunicare l’errore. Se per esempio inviate una stringa di 10 caratteri in un campo dichiarato lungo 5, non sempre viene comunicato un errore di troncamento arbitrario.
- Installare SQL Server Express 2008 R2 su Windows XP SP3 è un po’ tortuoso perché dovete aggiornarvi il Windows installer e installarvi a mano la PowerShell. Tutte cose che potevano essere incluse, ma si sa, la semplicità in un azienda grande come Microsoft non è facile da imporre…