Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

SQL Server 2008 Web Edition, il DBMS per il Web

Un DBMS dedicato alle applicazioni Web, con supporto per PHP 5
Un DBMS dedicato alle applicazioni Web, con supporto per PHP 5
Link copiato negli appunti

In un articolo precedente abbiamo introdotto SQL Server 2008, l'ultima versione del DBMS prodotto da Microsoft. Esso è disponibile in diverse edizioni, tra cui la Web Edition, che va a posizionarsi tra le versioni Express e Workgroup: comprende un sottoinsieme delle funzionalità di SQL Server 2008 rivolte specificatamente per l'utilizzo in applicazioni che devono essere fruibili via Internet (quindi, in particolare, siti Web e Web service). In questo articolo cercheremo di analizzare più in dettaglio quali sono queste funzionalità.

Caratteristiche principali

SQL Server 2008 Web Edition è disponibile per piattaforme a 32 e 64 bit e può essere installato su Windows XP Professional con SP2 o successivo, Windows Server 2003 con SP2, Windows Vista (dall'edizione Business in su) e, naturalmente, Windows Server 2008, che rappresenta la sua piattaforma ideale.

Supporta fino a 4 processori (le CPU dual o quad-core sono considerate come un unico processore ai fini di questa limitazione), mentre la massima quantità di RAM gestibile dipende dal sistema operativo. Per un suo utilizzo efficiente, si consiglia di disporre di almeno 2 GB di memoria (è possibile consultare l'apposita sezione di MSDN per maggiori dettagli sui requisiti hardware e software). Inoltre, non vi è alcuna limitazione sulla dimensione massima dei database gestibili.

Su MSDN è disponibile l'elenco completo delle funzionalità offerte da SQL Server 2008 Web Edition, confrontate con quelle delle altre edizioni. Evidenziamo comunque alcune caratteristiche espressamente indicate per il settore a cui il prodotto si rivolge:

  • Log Shipping, che Microsoft consiglia sia per realizzare il backup delle informazioni , sia per mantenere sincronizzate diverse copie della propria base di dati, accessibili in sola lettura, in modo da dividere il traffico Web su più server, garantendo così tempi di risposta migliori
  • Full-Text Search, molto importante nel contesto delle applicazioni Web, come nel caso della realizzazione di motori di ricerca interni ai siti
  • Reporting Services, utile ad esempio per creare report professionali a partire da una serie di informazioni, renderli accessibili via Web ed esportarli in formato PDF ed Excel

Non sono invece inclusi Analysis Services e gli strumenti di Data Warehousing e Data Mining, per utilizzare i quali ci si deve rivolgere alle più complete edizioni Standard ed Enterprise.

Funzionalità per sviluppatori

Anche SQL Server 2008 Web Edition supporta l'Intellisense e il debug di stored procedure e funzioni, come evidenziato nell'articolo introduttivo al DBMS.

La Web Edition, inoltre, include il driver di SQL Server per PHP, con cui è possibile accedere a basi di dati SQL Server da siti Web realizzati in PHP 5 su piattaforma Windows. Il suo utilizzo è familiare per chi ha dimestichezza con gli script PHP, come si può vedere dal seguente esempio (tratto dalla documentazione ufficiale):

<?php
/* Connect to the local server using Windows Authentication and
   specify the AdventureWorks database as the database in use. */

$serverName = "(local)";
$connectionInfo = array( "Database"=>"AdventureWorks");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn === false )
{
  echo "Could not connect.n";
  die( print_r( sqlsrv_errors(), true));
}

/* Set up and execute the query. Note that both ReviewerName and
   Comments are of SQL Server type nvarchar. */
$tsql = "SELECT ReviewerName, Comments 
         FROM Production.ProductReview
         WHERE ProductReviewID=1";

$stmt = sqlsrv_query( $conn, $tsql);

if( $stmt === false )
{
  echo "Error in statement preparation/execution.n";
  die( print_r( sqlsrv_errors(), true));
}

/* Make the first row of the result set available for reading. */
if( sqlsrv_fetch( $stmt ) === false)
{
  echo "Error in retrieving row.n";
  die( print_r( sqlsrv_errors(), true));
}

/* Note: Fields must be accessed in order.
   Get the first field of the row. Note that no return type is
   specified. Data will be returned as a string, the default for
   a field of type nvarchar.*/
$name = sqlsrv_get_field( $stmt, 0);
echo "$name: ";

/* Get the second field of the row as a stream.
   Because the default return type for a nvarchar field is a
   string, the return type must be specified as a stream. */
$stream = sqlsrv_get_field( $stmt, 1, 
                            SQLSRV_PHPTYPE_STREAM( SQLSRV_ENC_CHAR));
while( !feof( $stream ))
{ 
  $str = fread( $stream, 10000);
  echo $str;
}

/* Free the statement and connection resources. */
sqlsrv_free_stmt( $stmt);
sqlsrv_close( $conn);
?>

Se si desidera utilizzare tale funzionalità, è consigliabile scaricare la versione aggiornata del driver, disponibile gratuitamente. Esso è compatibile sia con la versione 2005 sia con la 2008 di SQL Server; utilizzato in combinazione con quest'ultimo, consente anche di sfruttare i nuovi tipi di dati gerarchici e geospaziali, come esemplificato nel blog del team di sviluppo.

Su CodePlex, inoltre, sono disponibile il codice sorgente del driver, scritto in linguaggio C++.

Naturalmente, oltre a PHP, SQL Server 2008 Web Edition, al pari di tutte le edizioni di SQL Server 2008, garantisce un pieno supporto a .NET 3.5 SP1, quindi permette di accedere alle basi di dati attraverso LINQ, di sfruttare nativamente i nuovi tipi di dati e di realizzare stored procedure, trigger e funzioni in uno qualunque dei linguaggi di .NET.

Conclusioni

Le funzionalità offerte da SQL Server 2008 Web Edition, risultano particolarmente interessanti per piccole e medie imprese che hanno necessità di costruire basi di dati accessibili via Web. Questa edizione, a detta della stessa Microsoft, non è invece indicata per realizzare le cosiddette applicazioni line of business (come CRM, Content Relationship Management, ed ERM, Enterprise Resource Management): tali scenari, infatti, spesso richiedono funzionalità, come partizionamento dei dati e funzionalità di Data Warehousing, che non sono supportati dalla Web Edition.

Ti consigliamo anche