Tutto su SQL Server

SQL Server è un DBMS - Database Management System relazionale sviluppato da Microsoft. Si tratta di una delle piattaforme dati più diffuse al mondo e viene utilizzato per gestire database delle dimensioni e strutture più disparate.


Non ci stancheremo mai di ripeterlo: i dati sono importanti e valorizzarli è fondamentale per qualsiasi azienda. Ecco quindi una panoramica su tutto quello che c'è da sapere sui dati aziendali e la loro elaborazione con il DBMS SQL Server di Microsoft. 

Cos'è Microsoft SQL Server?

SQL Server è un DBMS (Database Management System) relazionale sviluppato da Microsoft. Si tratta di una delle piattaforme dati più diffuse al mondo, assieme ad Oracle e a MySQL. Viene utilizzato per gestire database delle dimensioni e strutture più disparate.


Versioni ed edizioni

Una versione è una distribuzione di SQL Server, aggiornato con migliori funzioni e performance e maggiori affidabilità e sicurezza. Nell'arco di vita di una versione, vengono aggiunte funzionalità e risolte eventuali criticità. La prima versione di SQL Server, la 1.0, risale al 1989. Ogni versione introduce parecchie novità e funzionalità innovate, ad esempio, dalla versione 2016 SQL Server è compatibile anche con i sistemi operativi Linux. L'ultima versione pubblica è SQL Server 2019, disponibile da novembre 2019, che Microsoft definisce rivoluzionaria, grazie al pieno supporto per Kubernets, l'introduzione dei Big Data Cluster, l'aggiunta di Spark e Apache Hadoop File System (HDFS).

Le edizioni, invece, sono le varie tipologie di piattaforma con scopi, utilizzi e prezzi differenti. Le edizioni gratuite disponibili con la versione più aggiornata del DBMS sono la Express e la Developer, mentre a pagamento troviamo le edizioni Standard ed Enterprise, a cui si aggiunge l'edizione Web per uso specializzato, disponibile solo in hosting. Sono inoltre disponibili una serie di edizioni specializzate come Azure SQL Database, completamente in cloud.

Microsoft pubblica in anticipo le date di fine del supporto alle varie versioni di SQL Server, ed è consigliato di utilizzare sempre un prodotto che sia coperto dal Mainstream Support o dal supporto esteso. Questo per diversi motivi: un prodotto aggiornato è più sicuro, più ottimizzato e contiene funzionalità innovative, non disponibili nelle versioni precedenti. Ad esempio, SQL Server 2019 introduce, tra le altre cose, una funzionalità di elaborazione delle query intelligente e i Big Data Cluster.

Tramite la corretta gestione di un'impostazione importante come il livello di compatibilità tra le varie versioni di SQL Server, potremo aumentare le prestazioni del nostro database.


Licenze di SQL Server

Microsoft mette a disposizione due principali tipologie di licenze: quelle per Core, disponibili per le versioni Enterprise e Standard, e quelle per CAL/Server, disponibili solo per la versione Standard. Nella scelta della licenza appropriata per SQL Server ci sono diversi aspetti che conviene prendere in considerazione nel licenziare SQL Server on premises, le regole stabilite da Microsoft e il funzionamento del licensing per quanto riguarda virtualizzazione e Software Assurance


La scelta può risultare complessa, perciò ecco la nostra guida al licensing di SQL Server 2019. A partire da SQL Server 2019 è disponibile anche il licensing per Big Data Cluster.


La manutenzione di SQL Server

Configurare l'infrastruttura e scegliere le licenze adatte non è sufficiente per il corretto funzionamento di SQL Server. Vanno infatti previsti controlli periodici della configurazione e dello stato di salute di server e database, che prendono il nome di Health Check. Grazie a queste verifiche regolari è possibile individuare le criticità e risolvere prima che diventino problemi bloccanti per il business.


Gli Health Check di SQL Server vengono effettuati dall'amministratore di database o DBA, che si occupa in prima persona della gestione dell'istanza e dei database, effettuando la manutenzione e controllando il buon funzionamento del sistema.


Il linguaggio di SQL Server

SQL Server utilizza il linguaggio Transact-SQL, o T-SQL, sviluppato da Microsoft sulla base di SQL (Structured Query Language) di IBM, adottato poi come standard ISO dal 1987, e supporta anche SQL standard. T-SQL impiega delle interrogazioni, dette query, per manipolare i dati contenuti nelle tabelle del database. Per interagire e manipolare i dati in SQL Server, viene solitamente utilizzato SQL Server Management Studio, un programma sviluppato appositamente da Microsoft.


Come in ogni DBMS, anche in SQL Server è fondamentale utilizzare corretti e valutare se vale la pena di sfruttare soluzioni particolari come i tipi di dato GUID o il valore NULL.


SQL Server Management Studio

Questo tool sviluppato da Microsoft è il principale modo per interfacciarsi con SQL Server, e può essere utilizzato per manipolare e interrogare i dati contenuti nei database.


Più precisamente, SQL Server Management Studio è un ambiente per la gestione delle infrastrutture SQL, come database SQL Server on premises o Azure SQL Database, ma anche strumenti per la Business Intelligence come Analysis Services, Integration Services e Reporting Services. Viene utilizzato per monitorare, configurare e gestire istanze e database differenti, lavorando in un unico ambiente. Il tool è in grado di interfacciarsi con tutti i componenti di SQL Server, database SQL di Azure e SQL Data Warehouse.


SQL Server in cloud e Azure

Sempre più aziende scelgono di utilizzare la tecnologia cloud, che si sta rivelando una soluzione ottimale sia per risparmiare sui costi di gestione delle infrastrutture database che per garantire innovazione e digitalizzazione in azienda.


Iaas, Paas e Saas sono tre acronimi che indicano diverse tipologie di servizi cloud. In particolare, indicano una maggiore o minore incidenza del provider cloud nella gestione delle rispettive piattaforme. Facendo riferimento a SQL Server, mentre nelle installazioni on-premises, ovvero in locale, ogni aspetto relativo ai database viene gestito internamente, ovvero da locale, a partire dal database server fino ai dati e alle applicazioni, nella famiglia Azure SQL, a seconda del tipo di servizio scelto, diversi aspetti vengono gestiti direttamente da Microsoft. Uno dei principali vantaggi delle soluzioni Azure SQL è che viene sempre mantenuta come base il motore di database di SQL Server, quindi per utilizzare SQL Server su Azure non vengono richieste nuove competenze rispetto all’utilizzo on-premises.


Tips & Tricks con SQL Server

Ci sono numerosi accorgimenti per migliorare la configurazione e le prestazioni di SQL Server, che si apprendono ed affinano con l'esperienza nella gestione dei database. Ad esempio, una funzionalità come l'autogrowth  deve essere impostata nella maniera corretta per evitare un'eccessiva crescita del database, che può arrivare, in caso di configurazioni errate, ad esaurire rapidamente lo spazio su disco. 


Un'altra funzione utile sono gli Always On Availability Groups disponibili con SQL Server Standard, una soluzione di high availability che supporta un ambiente di failover per un singolo database. 


Per apprendere in modo efficace come si amministra ed utilizza un database SQL Server, abbiamo constatato nella nostra esperienza l'efficacia del metodo training on the job, che affianca la formazione teorica ad esperienze reali, acquisite sul campo e trasmesse in affiancamento. Questo tipo di insegnamento è facilmente modulabile e personalizzabile e consente di concentrarsi sulle reali esigenze aziendali.


Un altro aspetto che conviene sempre sottolineare è l'importanza di aggiornamenti costanti e puntuali, per evitare vulnerabilità specifiche come il recente malware MbrMiner.


Servizi e componenti di SQL Server 

Vediamo quali sono i principali componenti di SQL Server:

  • Motore del database.
  • SQL Server, il servizio che gestisce le varie istanze di Microsoft SQL Server.
  • SQL Server Agent, ricopre il ruolo di Task Scheduler.
  • SQL Server Browser, gestisce le richieste e connette le istanze coinvolte.
  • SQL Server Full-Text Search, per eseguire query di testo.
  • SQL Server VSS Writer, per il backup e il restore dei dati.

In SQL Server è disponibile inoltre un'ampia serie di componenti e servizi aggiuntivi. Si tratta di una serie di funzioni accessorie non fondamentali per il funzionamento del database ma che possiedono un alto valore aggiunto per esigenze specifiche. Tra questi troviamo gli Analysis Services (SASS), gli Integration Services (SSIS) e i Reporting Services (SSRS), tutti ampiamente utilizzati in ambito Business Intelligence.


Esistono anche funzioni particolari per esigenze specifiche, come ad esempio i linked server per far  comunicare SQL Server con un database Oracle. Si trovano inoltre integrati strumenti per realizzare un piano di backup, che dovrebbe essere sempre previsto per qualsiasi sistema informatico. 


Un altro scenario è quello di SQL Server utilizzato in cloud, con la gamma differenziata di servizi di Microsoft Azure SQL.


Certificazioni e competenze Microsoft

Microsoft propone un ricco programma di certificazioni ufficiali e di esami per verificare le competenze dei partner. Datamaze è Microsoft Silver Partner in Data Platform e Data Analytics. Inoltre, ci impegniamo a migliorare ogni giorno le nostre competenze, come attestano le certificazioni ufficiali ottenute dai nostri collaboratori.


Guida alle licenze Microsoft SQL Server