Chi opera nel settore dell’IT e delle infrastrutture aziendali legate alle tecnologie digitali non può ignorare uno dei temi fondamentali. Vale a dire Microsoft SQL Server, un DBMS simile a PostgreSQL e Oracle database (con le dovute differenze) che permette di gestire un insieme di informazioni strutturate.
Stiamo parlando di un database management system capace di fare la differenza quando si lavora su progetti di natura e dimensioni differenti. Infatti, una delle caratteristiche fondamentali di SQL Server è la sua flessibilità: è una soluzione adatta ad aziende con esigenze enterprise ma anche per piccoli progetti, PMI, startup. Il tema è centrale per chi lavora nell’universo dell’IT management, ecco una guida base per iniziare.
Indice dei contenuti
Cos’è SQL Server, una definizione
SQL Server è un DBMS relazionale, un software sviluppato dalla Microsoft per creare e gestire database in ambito corporate. Quindi, è un prodotto rivolto ad aziende che hanno la necessità di impostare e ottimizzare un insieme di dati. Ovviamente, nel tempo si è migliorato con una serie di novità e aggiornamenti SQL.
Uno degli aspetti fondamentali è l’ampia varietà di soluzioni che ti consentono di orientare la scelta come preferisci: dalle versioni gratuite – anche per il solo sviluppo – a quelle dedicate alla gestione di strutture imponenti e con responsabilità elevate. Ancora un motivo per scegliere SQL Server per gestire i tuoi database? Esiste un’ampia community con una documentazione infinita come supporto.
Aspetti tecnici, come lavora questo software?
Il prodotto SQL Server si basa sul linguaggio SQL – condiviso da altri software per gestire database come MySQL – ma nel caso del prodotto firmato dalla Microsoft si utilizza una versione specifica.
Ovvero Transact-SQL o T-SQL. Quali sono le caratteristiche tecniche di questa versione di SQL sviluppata da Microsoft e Sybase che la usa su Adaptive Server Enterprise? Come suggerisce Wikipedia, vengono riprese le funzioni già in essere approfondendo il controllo di flusso con keyword come BEGIN
e END
, BREAK
, CONTINUE
, GOTO
, IF
e ELSE
, RETURN
, WAITFOR
, e WHILE
.
Vengono migliorate le funzioni di DELETE
e UPDATE
, ottimizzando anche aspetti relativi a variabili locali, manipolazione di stringhe e di altri elementi come espressioni matematiche e date. SQL Server, risponde sulla porta 1433, per le comunicazioni utilizza il Tabular Data Stream (TDS).
Vale a dire un protocollo di livello applicazioni per le reti di calcolatori. Per la gestione ottimale di questo software è possibile utilizzare uno strumento ufficiale: SQL Server Management Studio (SSMS).
Ovvero un ambiente integrato a qualsiasi struttura SQL che ti consente di monitorare, aggiornare e amministrare le istanze, eseguire query, progettare database, gestire data warehouse.
Architettura di SQL Server: come funziona?
SQL Server si basa su tabelle composte da righe che sono collegate fra di loro attraverso delle relazioni. Questo è utile per evitare ridondanze di dati mentre il motore del database controlla più aspetti:
- Archiviazione.
- Memorizzazione.
- Accesso.
- Elaborazione.
- Sicurezza dei dati.
Questo elemento include un motore relazionale che elabora comandi e query, più uno di archiviazione che si occupa di file, tabelle, pagine, indici, buffer e transazioni. SQL Server offre la possibilità di sviluppare logiche applicative performanti utilizzando Viste, Stored Procedure, Funzioni e Trigger.
Qualche dettaglio sull’architettura? Nel motore del database si trova l’SQL Server Operating System (SQLOS) per funzioni di livello inferiore: gestione di input e output, pianificazione dei lavori e blocco dati. Il protocollo Tabular Data Stream di Microsoft facilita le interazioni di richiesta e risposta con i server di database.
SQL Server comprende al suo interno più database, quelli di sistema e quelli creati dall’utente per memorizzare i dati. I database di sistema sono fondamentali per il funzionamento. Eccoli:
- Master: contiene informazioni di configurazione SQL Server, database utente e account di login.
- Model: serve da modello per i nuovi database creati.
- Msdb: utilizzato per la gestione delle attività come backup, invio email e job automatici.
- Tempdb: utilizzato per memorizzare dati temporanei, tabelle, transazioni per i processi di lavoro.
- Resource: database nascosto di sola lettura con tabelle, viste, funzioni e stored procedure di sistema.
Versioni ed edizioni di SQL Server?
Chi conosce il settore dei software come SQL Server sa che si susseguono le versioni, distribuzioni che si aggiornano per migliorare il prodotto, avere nuove funzioni e implementare la sicurezza. La prima versione di SQL Server di Microsoft è del 1993 – SQL Server 4.2 – nota con il codice SQLNT. Qui le varie evoluzioni:
- 1995 – 6.0, SQL95
- 1996 – 6.5, Hydra
- 1998 – 7.0, Sphinx
- 1999 – 7.0 OLAP, Plato
- 2000 – 32-bit, Shiloh
- 2003 – 64-bit, Liberty
- 2005 – 32-bit e 64-bit, Yukon
- 2008 – 32-bit e 64-bit, Katmai
- 2010 – R2, Kilimangiaro
- 2012 – 32-bit e 64-bit, Denali
- 2014 – 32-bit e 64-bit, SQL14
- 2016 – 64-bit, SQL16
- 2017 – 64-bit, Helsinki
- 2019 – 64-bit, Seattle
- 2022 – 64-bit, Dallas
Ci sono diverse edizioni con due versioni gratuite, Express e Developer: entrambe hanno massimo 4 core, fino a 1 GB di RAM per istanza e dimensione massima del database di 10 GB. Differenza tra le due opzioni?
La seconda è dedicata solo allo sviluppo. Per chi cerca delle soluzioni avanzate ci sono le edizioni Standard ed Enterprise, dove abbiamo delle risorse maggiori. In particolar modo la Enterprise è dedicata a condizioni in cui si esige massima performance a causa di un critical system. Ovvero, quando manca il funzionamento si generano errori di entità considerevole. In questi casi, quindi, abbiamo risorse praticamente illimitate.
Express, Web e Azure: cosa sono?
Mettiamo un attimo da parte le versioni dedicate alle aziende e concentriamoci su tre opzioni molto interessanti di SQL Server di Microsoft. Iniziamo dall’edizione Web. Di cosa si tratta? In pratica, è una versione del software per la gestione dei database rivolta solo ai provider. Ovvero i servizi che vendono:
- Hosting.
- VPS.
- Server dedicati.
- Altri servizi IT.
Le risorse sono elevate – 16 core, 64 GB RAM per istanza, 524 PB di database – anche se il funzionamento è simile al modello Express, vale a dire la versione SQL Server gratuita. Vuoi metterla alla prova? Puoi scaricare il programma dalla pagina ufficiale (microsoft.com/it-it/sql-server/sql-server-downloads) e utilizzarlo su contenitori Windows, Linux e Docker. Senza dimenticare che esiste una soluzione cloud.
Azure SQL è il nome di una serie di software basati su SQL Server all’interno dell’ambiente cloud. Sono perfetti per sviluppare applicazioni e sfruttare al massimo la potenza dell’intelligenza artificiale: il compito del database administrator sarà anche quello di gestire questa soluzione.
Come usare SQL Server al meglio
Come anticipato, il buon uso di questo software passa in primo luogo dalla giusta scelta in base alle necessità aziendali nella versione specifica. Poi si può sfruttare la versatilità di SQL Server Management Studio (SSMS) per la gestione in ambienti Windows di qualsiasi infrastruttura grazie ai numerosi editor di script avanzati. Ma ci sono alcuni aspetti critici da valutare per rispettare criteri di sicurezza e affidabilità della piattaforma SQL.
Monitoraggio di SQL Server
Il primo passo da considerare per monitorare SQL Server è la possibilità di attivare notifiche proattive in modo da anticipare le richieste in termini di sicurezza e manutenzione dei database. Soprattutto quando il database è molto grande e complesso, possono presentarsi delle criticità importanti come una lentezza eccessiva o delle query che bloccano il sistema.
Questi sono solo una parte dei possibili problemi, ecco perché si possono utilizzare degli strumenti come Solarwinds, Paessler PRTG, Quest Foglight e Red Gate SQL Monitor che possono essere abbinati a SQL Server per anticipare e gestire in modo proattivo le criticità.
Performance e tuning
Con il termine performance tuning in SQL Server si intende il percorso di ottimizzazione di diversi aspetti. In primis hardware e settaggio delle macchine. Poi si lavora sui file di log, sulle query e sugli indici degli ambienti SQL Monitor. Il percorso però non si limita all’intervento: bisogna analizzare le performance, individuare i punti da migliorare, intervenire in modo accurato e ripetere dei test per registrare i risultato.
Proprio come avviene in un ciclo di DEMING, anche il lavoro di performance e tuning di SQL Server Microsoft esige tempo e osservazione. Questo permette di ottimizzare le query che possono essere riscritte in modo da evitare rallentamenti o blocchi.
Ed è giusto ricordare però che i migliori risultati si ottengono attraverso un approccio di performance by design, quando l’efficienza viene perseguita dalla scelta dell’hardware e dalla progettazione del database.
Backup e restore
Il lavoro di recupero dei dati a seguito di un evento non preventivato (legato a errori umani, attacchi alla sicurezza o problemi tecnici) deve essere certosino. Per questo SQL Server ha un sistema di backup strutturato che consente di fare recupero dati completo con il comando RESTORE DATABASE
o differenziale.
In quest’ultimo caso effettui il ripristino delle modifiche effettuate al database a partire dal backup completo più recente. Si tratta di una procedura più veloce e si effettua con RESTORE DATABASE
con WITH NORECOVERY
. C’è anche il restore delle transazioni (Transaction Log Restore), ovvero il backup che recupera le transazioni.
Un dettaglio sulla sicurezza del database SQL Server
Impossibile chiudere una guida dedicata a questo software senza un accenno alla sicurezza del Database Management System: ovvero un nodo sensibile che può diventare problematico se non si seguono determinate procedure. Sia a livello software che hardware.
Per quanto concerne SQL Server, un punto essenziale riguarda le chiavi primarie o primary key, vale a dire un elemento (impostato come non NULL
) che identifica in modo univoco le linee delle tabelle e che diventa fondamentale nella progettazione dei database relazionali.
Sempre a proposito di chiavi, ricordiamo la centralità Database Master Key (DMK) in SQL Server, ovvero un elemento di sicurezza a livello di database per crittografare le altre chiavi.
Crittografia che su SQL Server di Microsoft trova largo spazio con Transparent Data Encryption (TDE), un sistema per proteggere i dati e gli asset. Creando un firewall. Questo potrebbe impattare sulle prestazioni?
Per niente, il lavoro avviene a livello di pagina prima che siano scritte su disco e decriptate nella lettura in memoria. Questo significa che il tuo database resta performante. O comunque non rallenta a causa del TDE.
I danni provocati da una mancanza di attenzione alla sicurezza sono ben più gravi. Ecco perché la nostra idea è quella di investire sempre il giusto nella cyber security. Anche in questo caso specifico.
Desideri parlare con un nostro esperto? Contattaci
Ultime News Data Center
-
-
Quali sono le differenze tra SQL Server e Oracle?
13 Maggio 2024 -
Cos’è e come fare monitoraggio di Microsoft SQL Server
23 Aprile 2024 -
FaaS: Cos’è, Come funziona, Vantaggi, Casi d’uso ed Esempi
26 Febbraio 2024 -
Cos’è un server, come funziona, tipologie
15 Febbraio 2024 -
Data Governance: Cos’è, Importanza, Strumenti e Best Practices
13 Febbraio 2024
Gestione dati e analisi
-
Tutte le novità di SQL Server e le funzionalità aggiuntive
18 Luglio 2024 -
Come fare manutenzione dei database SQL Server
8 Luglio 2024 -
OLTP: Cos’è, Come funziona, Vantaggi ed Esempi
28 Dicembre 2023 -
OLAP: Cos’è, Come funziona, Caratteristiche e Tipologie
27 Novembre 2023 -
OLTP vs OLAP: Cosa sono, Differenze, Vantaggi e Svantaggi
8 Ottobre 2023 -
ETL vs ELT: differenze chiave e il migliore
25 Settembre 2023 -
Data mesh: cos’è, differenze e architettura
14 Settembre 2023 -
ETL (Extract, Transform, Load): Cos’è e come funziona
28 Luglio 2023