Database SQL Server: creazione, modifica, eliminazione e ripristino
⚡ Riepilogo intelligente
I database di SQL Server sono contenitori che contengono tabelle, viste, stored procedure e altri oggetti. Creazione, modifica, eliminazionepingIl ripristino di un database può essere effettuato tramite SQL Server Management Studio o con istruzioni Transact-SQL.

Cos'è il database?
Un database è una raccolta di oggetti come con tabelle, viste, stored procedure, trigger e funzioni. In SQL ServerUn database è la struttura organizzata in cui tutti questi oggetti correlati vengono archiviati e interconnessi.
Consideriamo alcuni esempi tratti dalla vita reale:
- Una libreria è il luogo in cui vengono riposti i libri.
- Una casa è il luogo in cui viviamo.
- Un parcheggio è un luogo dove vengono parcheggiati i veicoli, e gli esempi in tal senso sono innumerevoli.
Allo stesso modo, un database è una sorta di contenitore per tutte le nostre tabelle, viste e stored procedure. Tecnicamente, un database memorizza i dati in modo ben organizzato per facilitarne l'accesso e il recupero. In SQL Server esistono due tipi di database:
- Database di sistema: Questi database vengono creati automaticamente durante l'installazione di SQL Server. Svolgono un ruolo cruciale nel server, soprattutto per garantire il corretto funzionamento degli oggetti del database. Esempi di database di sistema di SQL Server includono master, msdb, model, tempdb e resource.
- Database degli utenti: Questi vengono creati da utenti di database come te, ai quali è stato concesso l'accesso per la creazione di database.
Regole per creare un database
Innanzitutto, è necessario conoscere le regole di base per la creazione di un nuovo database:
- I nomi dei database devono essere univoci all'interno di un'istanza di SQL Server.
- I nomi dei database possono contenere un massimo di 128 caratteri.
- L'istruzione CREATE DATABASE deve essere eseguita in modalità auto-commit.
L'immagine seguente illustra i due approcci disponibili per la creazione di un database in SQL Server.
Esistono due modi per creare un database in SQL Server:
- SQL Server Management Studio
- Transazioni SQL
Come creare un database in SQL Server Management Studio
Ecco una procedura dettagliata per creare un database in SQL Server Management Studio:
Passo 1) Nella finestra "Esplora oggetti", fai clic con il pulsante destro del mouse su "Database" e seleziona "Nuovo database".
Il menu contestuale che appare cliccando con il tasto destro del mouse e che include l'opzione "Nuovo database" è mostrato di seguito.
Passo 2) Viene visualizzata la schermata "Nuovo database". Immettere un "Nome database". La colonna "Nome logico" viene compilata automaticamente con:
- Edu – Tipo di file: Righe Dati e gruppo di file: PRIMARY
- Edu_log – Tipo di file: LOG e Gruppo di file: 'Non applicabile'
Di seguito viene mostrata la finestra di dialogo Nuovo database con il nome del database e i relativi file logici.
Qui:
- A) Edu (Tipo di file: Dati di riga, Gruppo di file: PRIMARY) è il file di dati .mdf.
- B) Edu_log (Tipo di file: LOG, Gruppo di file: 'Non applicabile') è il file di log .ldf.
Passo 3) (Facoltativo) Per impostazioni più complesse, è possibile accedere alle pagine "Opzioni" e "Gruppi di file". A livello principiante, la creazione del database dalla scheda Generale sarà sufficiente.
Le pagine Opzioni e Gruppi di file sono mostrate qui sotto.
Passo 4) Fai clic su "Aggiungi" (il pulsante OK) per creare il database.
Il pulsante che conferma la creazione è evidenziato qui sotto.
Risultato: Il database 'Edu' è stato creato. È possibile espandere il database 'Edu', che conterrà tabelle, viste e così via. Inizialmente questi database sono vuoti finché non si creano nuove tabelle, viste, ecc.
Visualizza la query di origine: È possibile visualizzare la query sorgente del database "Edu" appena creato. Procedere come segue: fare clic con il pulsante destro del mouse sul nome del database > Script Database come > CREA in > Nuova finestra Editor query.
Finestra di interrogazione: Lo script CREATE generato si apre in una nuova finestra di query, come mostrato di seguito.
Crea sceneggiatura:
USE [master] GO CREATE DATABASE [Edu] CONTAINMENT = NONE ON PRIMARY ( NAME = N'Edu', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB ) LOG ON ( NAME = N'Edu_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )
Crea database con T-SQL
Un altro metodo consiste nello scrivere una query T-SQL per creare un database e poi eseguirla. Analizziamo la query T-SQL più semplice per la creazione di un database.
Sintassi:
CREATE DATABASE <Database_name>
Query:
CREATE DATABASE [Edu_TSQL_file]
Fai clic su "Esegui" per avviare la query, come mostrato di seguito.
Risultato: È possibile visualizzare il file Edu_TSQL_file creato nell'Esplora oggetti SQL.
Vediamo ora come creare un database con file .mdf e .ldf espliciti. In questo caso, è possibile specificare il percorso del file come parte esplicita della query.
Sintassi:
CREATE DATABASE database_name [ CONTAINMENT = { NONE | PARTIAL } ] [ ON [ PRIMARY ] <filespec> [ ,...n ] [ , <filegroup> [ ,...n ] ] [ LOG ON <filespec> [ ,...n ] ] ];
Query:
CREATE DATABASE [Edu_TSQL_file] CONTAINMENT = NONE ON PRIMARY ( NAME = N'Edu_TSQL_file', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_TSQL_file.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB ) LOG ON ( NAME = N'Edu_TSQL_file_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_TSQL_file_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )
Il database creato, completo di dati espliciti e file di registro, viene visualizzato in Esplora oggetti, come mostrato di seguito.
Come modificare il database
Analogamente alla query CREATE DATABASE, è possibile anche modificare un database. Si può rinominare il database, cambiare la posizione o le impostazioni di un file e altro ancora.
Regole di base per la modifica di un database:
- L'istruzione ALTER DATABASE deve essere eseguita in modalità auto-commit.
- ALTER DATABASE non è consentito in una transazione esplicita o implicita.
Esistono due modi per modificare un database in SQL Server:
- SQL Server Management Studio
- Transazioni SQL
Come modificare il database in SQL Server Management Studio
Di seguito sono riportati i passaggi per modificare un database in SQL Server Management Studio. Proviamo a modificare il nome del nostro database preesistente "Edu". Il database preesistente "Edu" è mostrato di seguito in Esplora oggetti.
Passo 1) Rinominare il database. Fare clic con il pulsante destro del mouse sul nome del database e selezionare "Rinomina".
Passo 2) Il nome del database diventa modificabile. Inserisci il nuovo nome e premi Invio.
Risultato: Il database è stato rinominato da 'Edu' a 'Edu_Alter'.
Modificare il database con Transact-SQL
Ora modifichiamo un database utilizzando T-SQL.
Sintassi:
ALTER DATABASE <Databse_name> MODIFY NAME = <New Name>
Query:
ALTER DATABASE Edu_TSQL MODIFY NAME = Edu_TSQL_Alter;
Eseguire la query precedente facendo clic su "Esegui".
Risultato: Il database è stato rinominato da 'Edu_TSQL' a "Edu_TSQL_Alter", come mostrato di seguito.
Sintassi generale: La sintassi completa di ALTER DATABASE supporta numerose opzioni, tra cui la ridenominazione, la collazione, le opzioni dei file e il livello di compatibilità.
ALTER DATABASE { database_name | CURRENT } { MODIFY NAME = new_database_name | COLLATE collation_name | <file_and_filegroup_options> | SET <option_spec> [ ,...n ] [ WITH <termination> ] | SET COMPATIBILITY_LEVEL = { 140 | 130 | 120 | 110 | 100 | 90 } } ;
Nota: I livelli di compatibilità indicati sopra si riferiscono a versioni precedenti. Le versioni attuali aggiungono il supporto per la versione 150 (SQL Server 2019), la 160 (SQL Server 2022) e la 170 (SQL Server 2025), pur continuando a supportare diverse versioni precedenti.
Modifica del nome del file .mdf/.ldf
Query:
Alter DATABASE Edu_TSQL_Alter; MODIFY FILE ( NAME = Edu_TSQL, NEWNAME = Edu_TSQL_newName );
Il file logico rinominato si riflette nelle proprietà del database, come mostrato di seguito.
Modifica del percorso del file .mdf/.ldf
Query:
Alter DATABASE Edu_TSQL_Alter; MODIFY FILE ( NAME = Edu_TSQL_NewName, FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\New_File\Edu_TSQL_log.ldf' );
Il percorso aggiornato del file del database è mostrato di seguito.
Elimina database
Esistono due modi per eliminare (rimuovere) un database in SQL Server:
- SQL Server Management Studio
- Transazioni SQL
Come eliminare il database in SQL Server Management Studio
Di seguito viene descritta la procedura per eliminare un database in SQL Server Management Studio. Proviamo a eliminare il database preesistente 'Edu_Alter'.
Passo 1) Fai clic con il pulsante destro del mouse sul database, seleziona "Elimina" e poi fai clic su "OK".
Risultato: 'Edu_Alter' è stato eliminato dall'elenco del database 'Esplora oggetti'.
Elimina il database utilizzando Transact-SQL
Proviamo a eliminare il database preesistente 'Edu_TSQL_Alter'.
Sintassi:
DROP DATABASE <Databse_name>
Query:
USE master; GO DROP DATABASE Edu_TSQL_Alter; GO
Eseguire la query precedente facendo clic su "Esegui".
Risultato: 'Edu_TSQL_Alter' viene eliminato dall'elenco del database in 'Esplora oggetti', come mostrato di seguito.
Ripristina il database in SQL Server
È possibile creare un database ripristinando un database di cui era stato precedentemente eseguito il backup. Questa operazione può essere eseguita tramite il comando RESTORE DATABASE, che ha la seguente sintassi:
restore Database <database name> from disk = '<Backup file location + filename>
La query deve essere eseguita all'interno della finestra di query, proprio come i comandi precedenti. Ad esempio:
restore database Edu from disk = 'C:\Backup\Edu_full_backup.bak'
È possibile utilizzare anche la navigazione tramite interfaccia grafica: fare clic con il pulsante destro del mouse su Database > Ripristina database > Dispositivo > importare il file di backup > fare clic su OK.





















