SQL Server-database: maken, wijzigen, verwijderen en herstellen

⚡ Slimme samenvatting

SQL Server-databases zijn containers die tabellen, weergaven, opgeslagen procedures en andere objecten bevatten. Het aanmaken, wijzigen en verwijderen van databases is mogelijk met SQL Server.pingHet herstellen van een database kan via SQL Server Management Studio of met Transact-SQL-instructies.

  • Database: Een SQL Server-database slaat tabellen, weergaven, procedures en functies op in één georganiseerde, onderling verbonden container.
  • 🧩 Systeem versus gebruiker: Systeemdatabases (master, msdb, model, tempdb, resource) worden automatisch geïnstalleerd; gebruikersdatabases moet u zelf aanmaken.
  • Maken: Voeg een database toe via het dialoogvenster 'Nieuwe database' in de Objectverkenner of met de CREATE DATABASE-instructie.
  • Wijzigen: U kunt een database hernoemen of de bestanden en opties ervan wijzigen met behulp van ALTER DATABASE of het menu Hernoemen.
  • 🗑️ Drop: Een gebruikersdatabase verwijderen met DROP DATABASE of de optie Verwijderen; systeemdatabases kunnen niet worden verwijderd.
  • 💾 Herstellen: Herbouw een database vanuit een .bak-back-upbestand met behulp van de opdracht RESTORE DATABASE.

SQL Server-databases maken, wijzigen, verwijderen en herstellen

Wat is een database?

Een database is een verzameling objecten zoals tafels, weergaven, opgeslagen procedures, triggers en functies. In SQL ServerEen database is de georganiseerde thuisbasis waar al deze gerelateerde objecten worden opgeslagen en met elkaar verbonden.

Laten we een paar voorbeelden uit de praktijk bekijken:

  • Een boekenkast is de plek waar boeken staan.
  • Een huis is waar we wonen.
  • Een parkeerplaats is een plek waar voertuigen geparkeerd staan, en daar zijn talloze voorbeelden van.

Een database is in feite een soort thuisbasis voor al onze tabellen, weergaven en opgeslagen procedures. Technisch gezien slaat een database gegevens op een goed georganiseerde manier op, zodat ze gemakkelijk toegankelijk en opvraagbaar zijn. In SQL Server zijn er twee soorten databases:

  • Systeemdatabases: Deze databases worden automatisch aangemaakt tijdens de installatie van SQL Server. Ze spelen een cruciale rol in de server, met name om ervoor te zorgen dat databaseobjecten correct functioneren. Voorbeelden van SQL Server-systeemdatabases zijn master, msdb, model, tempdb en resource.
  • Gebruikersdatabases: Deze worden gemaakt door databasegebruikers zoals u, die toegang hebben gekregen om databases aan te maken.

Regels voor het maken van een database

Allereerst moet je de basisregels voor het aanmaken van een nieuwe database kennen:

  • Databasenamen moeten uniek zijn binnen een exemplaar van SQL Server.
  • Databasenamen mogen maximaal 128 tekens lang zijn.
  • De CREATE DATABASE-instructie moet in auto-commit-modus worden uitgevoerd.

De onderstaande afbeelding toont de twee beschikbare methoden voor het aanmaken van een database in SQL Server.

Twee manieren om een ​​SQL Server-database te maken: Management Studio en Transact-SQL.

Er zijn twee manieren om een ​​database in SQL Server aan te maken:

Hoe u een database maakt in SQL Server Management Studio

Hieronder vindt u een stapsgewijze handleiding voor het aanmaken van een database in SQL Server Management Studio:

Stap 1) Klik met de rechtermuisknop op 'Database' in het venster 'Objectverkenner' en selecteer vervolgens 'Nieuwe database'.

Het contextmenu met de optie 'Nieuwe database' wordt hieronder weergegeven.

Klik met de rechtermuisknop op het knooppunt Database in Objectverkenner en selecteer Nieuwe database.

Stap 2) Het scherm 'Nieuwe database' verschijnt. Voer een 'Databasenaam' in. De kolom 'Logische naam' wordt automatisch ingevuld met:

  • Edu – Bestandstype: Rijgegevens en bestandsgroep: PRIMAIR
  • Edu_log – Bestandstype: LOG en Bestandsgroep: 'Niet van toepassing'

Het dialoogvenster 'Nieuwe database' met de databasenaam en de bijbehorende logische bestanden wordt hieronder weergegeven.

Het dialoogvenster 'Nieuwe database' toont de databasenaam Edu en de logische bestanden Edu en Edu_log.

Hier:

  • A) Edu (Bestandstype: Rijgegevens, Bestandsgroep: PRIMAIR) is het .mdf-gegevensbestand.
  • B) Edu_log (Bestandstype: LOG, Bestandsgroep: 'Niet van toepassing') is het .ldf-logbestand.

Stap 3) (Optioneel) Voor complexere instellingen kunt u naar de pagina's 'Opties' en 'Bestandsgroepen' gaan. Voor beginners is het aanmaken van de database via het tabblad 'Algemeen' voldoende.

De pagina's Opties en Bestandsgroepen worden hieronder weergegeven.

Nieuwe pagina's voor databaseopties en bestandsgroepen voor geavanceerde instellingen.

Stap 4) Klik op 'Toevoegen' (de OK-knop) om de database aan te maken.

De knop waarmee de aanmaak bevestigd kan worden, is hieronder gemarkeerd.

De OK-knop in het dialoogvenster 'Nieuwe database' waarmee de Edu-database wordt aangemaakt.

Resultaat: De database 'Edu' wordt aangemaakt. Je kunt de database 'Edu' uitbreiden, die tabellen, weergaven, enzovoort zal bevatten. Deze zijn in eerste instantie leeg totdat je nieuwe tabellen, weergaven, enzovoort aanmaakt.

Objectverkenner toont de nieuw aangemaakte Edu-database met de bijbehorende lege mappen.

Bekijk de bronquery: U kunt de bronquery van de zojuist aangemaakte 'Edu'-database bekijken. Ga als volgt te werk: Klik met de rechtermuisknop op de databasenaam > Database scripten als > Aanmaken naar > Nieuw query-editorvenster.

Scriptdatabase als CREATE naar nieuw query-editorvenster contextmenu

Queryvenster: Het gegenereerde CREATE-script wordt geopend in een nieuw queryvenster, zoals hieronder weergegeven.

Het query-editorvenster toont het automatisch gegenereerde CREATE DATABASE-script voor Edu.

Script maken:

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 )

Database maken met T-SQL

Een andere methode is om een ​​T-SQL-query te schrijven om een ​​database aan te maken en deze vervolgens uit te voeren. Laten we eens kijken naar de eenvoudigste T-SQL-query voor het aanmaken van een database.

Syntax:

CREATE DATABASE <Database_name>

Query:

CREATE DATABASE [Edu_TSQL_file]

Klik op 'Uitvoeren' om de query uit te voeren, zoals hieronder weergegeven.

De knop 'Uitvoeren' in de SSMS-werkbalk wordt gebruikt om de CREATE DATABASE-query uit te voeren.

Resultaat: Je kunt het aangemaakte bestand Edu_TSQL_file zien in de SQL Object Explorer.

Objectverkenner toont de Edu_TSQL_file-database die is gemaakt met Transact-SQL.

Laten we nu eens kijken hoe je een database kunt maken met expliciete .mdf- en .ldf-bestanden. Hier kun je de bestandslocatie expliciet in de query opgeven.

Syntax:

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 )

De aangemaakte database, inclusief de bijbehorende data- en logbestanden, verschijnt in Object Explorer, zoals hieronder weergegeven.

Objectverkenner toont de Edu_TSQL_file-database die is aangemaakt met expliciete .mdf- en .ldf-bestanden.

Database wijzigen

Net als bij de CREATE DATABASE-query kunt u een database ook wijzigen. U kunt de database hernoemen, de locatie of instelling van een bestand wijzigen en meer.

Basisregels voor het wijzigen van een database:

  • De ALTER DATABASE-instructie moet in auto-commit-modus worden uitgevoerd.
  • ALTER DATABASE is niet toegestaan ​​in een expliciete of impliciete transactie.

Er zijn twee manieren om een ​​database in SQL Server te wijzigen:

  • SQL Server Management Studio
  • Transactie-SQL

Database wijzigen in SQL Server Management Studio

Hieronder volgen de stappen om een ​​database te wijzigen in SQL Server Management Studio. Laten we proberen de naam van onze vooraf aangemaakte database 'Edu' te wijzigen. De vooraf aangemaakte Edu-database wordt hieronder weergegeven in Object Explorer.

Vooraf aangemaakte Edu-database geselecteerd in de databaselijst van Object Explorer

Stap 1) Hernoem de database. Klik met de rechtermuisknop op de databasenaam en klik op 'Hernoemen'.

Klik met de rechtermuisknop op de Edu-database en selecteer de optie 'Naam wijzigen' in het contextmenu.

Stap 2) De databasenaam kan nu worden bewerkt. Voer de nieuwe naam in en druk op Enter.

Bewerkbaar veld voor de naam van de Edu-database, klaar voor een nieuwe naam.

Resultaat: De database is nu hernoemd van 'Edu' naar 'Edu_Alter'.

Objectverkenner toont de database die is hernoemd van Edu naar Edu_Alter.

Database wijzigen met Transact-SQL

Laten we nu een database wijzigen met behulp van T-SQL.

Syntax:

ALTER DATABASE <Databse_name>              
MODIFY NAME = <New Name>

Query:

ALTER DATABASE Edu_TSQL
MODIFY NAME = Edu_TSQL_Alter;

Voer de bovenstaande query uit door op 'Uitvoeren' te klikken.

Resultaat: De database is nu hernoemd van 'Edu_TSQL' naar 'Edu_TSQL_Alter', zoals hieronder weergegeven.

Objectverkenner toont de database die na het uitvoeren van ALTER DATABASE is hernoemd naar Edu_TSQL_Alter.

Algemene syntaxis: De volledige ALTER DATABASE-syntaxis ondersteunt veel opties, waaronder hernoemen, sorteren, bestandsopties en het compatibiliteitsniveau.

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 }   
} ;

Let op: De hierboven weergegeven compatibiliteitsniveaus hebben betrekking op oudere versies. De huidige versies voegen niveau 150 (SQL Server 2019), 160 (SQL Server 2022) en 170 (SQL Server 2025) toe, terwijl ze nog steeds verschillende eerdere niveaus ondersteunen.

De bestandsnaam van het .mdf/.ldf-bestand wijzigen

Query:

Alter DATABASE Edu_TSQL_Alter;
MODIFY FILE ( NAME = Edu_TSQL, NEWNAME = Edu_TSQL_newName );

Het hernoemde logische bestand wordt weergegeven in de database-eigenschappen, zoals hieronder te zien is.

Database-eigenschappen die het hernoemde logische bestand Edu_TSQL_newName bevestigen.

De locatie van het .mdf/.ldf-bestand wijzigen

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' );

Het bijgewerkte bestandspad voor de database wordt hieronder weergegeven.

Databasebestandpagina waarop de nieuwe locatie van het .ldf-logbestand wordt weergegeven

Database verwijderen

Er zijn twee manieren om een ​​database in SQL Server te verwijderen (droppen):

  • SQL Server Management Studio
  • Transactie-SQL

Database verwijderen in SQL Server Management Studio

Hieronder wordt de procedure beschreven voor het verwijderen van een database in SQL Server Management Studio. Laten we proberen onze vooraf aangemaakte database 'Edu_Alter' te verwijderen.

Stap 1) Klik met de rechtermuisknop op de database, klik op 'Verwijderen' en vervolgens op 'OK'.

Dialoogvenster 'Object verwijderen' voor slepenping de Edu_Alter-database in SSMS

Resultaat: 'Edu_Alter' is verwijderd uit de databaselijst 'Object Explorer'.

Lijst met databases in Object Explorer nadat de Edu_Alter-database is verwijderd

Database verwijderen met Transact-SQL

Laten we proberen onze vooraf aangemaakte database 'Edu_TSQL_Alter' te verwijderen.

Syntax:

DROP DATABASE <Databse_name>

Query:

USE master;  
GO  
DROP DATABASE Edu_TSQL_Alter;  
GO

Voer de bovenstaande query uit door op 'Uitvoeren' te klikken.

Resultaat: 'Edu_TSQL_Alter' wordt verwijderd uit de databaselijst van 'Object Explorer', zoals hieronder weergegeven.

Lijst met databases in Object Explorer nadat de Edu_TSQL_Alter-database is verwijderd met T-SQL.

Database herstellen in SQL Server

U kunt een database aanmaken door een database te herstellen die u eerder hebt geback-upt. Dit kan door de opdracht RESTORE DATABASE uit te voeren, die de volgende syntaxis heeft:

restore Database <database name> from disk = '<Backup file location + filename>

De query moet, net als de vorige opdrachten, binnen het queryvenster worden uitgevoerd. Bijvoorbeeld:

restore database Edu from disk = 'C:\Backup\Edu_full_backup.bak'

Je kunt ook de grafische gebruikersinterface (GUI) gebruiken: Klik met de rechtermuisknop op Database > Database herstellen > Apparaat > importeer het back-upbestand > klik op OK.

Veelgestelde vragen

Voor het aanmaken van een database zijn de machtigingen CREATE DATABASE, CREATE ANY DATABASE of ALTER ANY DATABASE in de masterdatabase vereist. Hiervoor is een lid van de serverrol sysadmin of dbcreator nodig, of een gebruiker met de juiste machtigingen. Log in, kan de verklaring uitvoeren.

Een enkele SQL Server-instantie kan maximaal 32,767 databases bevatten. Dat aantal is een harde architectonische limiet; in de praktijk maken geheugen, opslag en beheerkosten het raadzaam om veel kleinere aantallen te gebruiken voor goede prestaties.

Nee. Systeemdatabases zoals master, model, msdb, tempdb en resource zijn nodig voor de engine en kunnen niet worden verwijderd. Alleen gebruikersdatabases die u zelf aanmaakt, kunnen worden verwijderd met DROP DATABASE of de optie Verwijderen.

SIZE stelt de initiële bestandsgrootte in, MAXSIZE stelt de maximale grootte in waartoe het bestand kan groeien, en FILEGROWTH stelt in hoeveel ruimte er wordt toegevoegd telkens wanneer het bestand wordt uitgebreid. Deze parameters zijn van toepassing op zowel data- als logbestanden.

COMPATIBILITY_LEVEL bepaalt welk queryverwerkingsgedrag een database gebruikt. Huidige waarden zijn 140 (SQL Server 2017), 150 (2019), 160 (2022) en 170 (2025). ALTER DATABASE SET COMPATIBILITY_LEVEL wijzigt dit zonder de database naar een nieuwe server te verplaatsen.

DROP DATABASE verwijdert de database en de bijbehorende .mdf- en .ldf-bestanden permanent. Een database uitschakelen (Takeing a database OFF)LINE Dit blokkeert alleen de toegang, terwijl de bestanden op de schijf blijven staan, zodat u ze later zonder herstel kunt terugzetten.

Ja. GitHub-copiloot U kunt CREATE DATABASE-, ALTER DATABASE- en DROP DATABASE-instructies opstellen vanuit natuurlijke taalprompts in SSMS of uw editor. Controleer altijd de gegenereerde bestandspaden, -groottes en -opties voordat u ze op een echte server uitvoert.

AI en machine learning ondersteunen de provisioning door aanbevelingen te doen voor bestandsgroottes en groei-instellingen, capaciteit te voorspellen, configuratieafwijkingen op te sporen en risicovolle DROP- of ALTER-bewerkingen te signaleren. Ze ondersteunen de databasebeheerder in plaats van een zorgvuldige controle te vervangen.

Vat dit bericht samen met: