SQL Server-Datenbank: Erstellen, Ändern, Löschen und Wiederherstellen

⚡ Intelligente Zusammenfassung

SQL-Server-Datenbanken sind Container, die Tabellen, Sichten, gespeicherte Prozeduren und andere Objekte enthalten. Erstellen, Ändern, LöschenpingDie Wiederherstellung einer Datenbank kann über SQL Server Management Studio oder mit Transact-SQL-Anweisungen erfolgen.

  • 🗄️ Datenbank: Eine SQL-Server-Datenbank speichert Tabellen, Sichten, Prozeduren und Funktionen in einem organisierten, miteinander verknüpften Container.
  • 🧩 System vs. Benutzer: Systemdatenbanken (master, msdb, model, tempdb, resource) werden automatisch installiert; Benutzerdatenbanken werden von Ihnen erstellt.
  • 🖱️ Erstellen: Fügen Sie eine Datenbank über den Dialog „Neue Datenbank“ im Objekt-Explorer oder mit der Anweisung CREATE DATABASE hinzu.
  • Alter: Eine Datenbank kann mithilfe von ALTER DATABASE oder dem Menü „Umbenennen“ umbenannt oder ihre Dateien und Optionen geändert werden.
  • 🗑️ Drop: Eine Benutzerdatenbank kann mit DROP DATABASE oder der Option "Löschen" entfernt werden; Systemdatenbanken können nicht gelöscht werden.
  • 💾 Wiederherstellen: Mit dem Befehl RESTORE DATABASE kann eine Datenbank aus einer .bak-Sicherungsdatei wiederhergestellt werden.

SQL Server-Datenbanken erstellen, ändern, löschen und wiederherstellen

Was ist eine Datenbank?

Eine Datenbank ist eine Sammlung von Objekten wie zum Beispiel Tabellen, Ansichten, gespeicherte Prozeduren, Trigger und Funktionen. In SQL ServerEine Datenbank ist der organisierte Speicherort, an dem all diese zusammengehörigen Objekte gespeichert und miteinander verknüpft sind.

Betrachten wir einige Beispiele aus dem wirklichen Leben:

  • Ein Bücherregal ist der Ort, an dem Bücher aufbewahrt werden.
  • Ein Zuhause ist der Ort, an dem wir leben.
  • Ein Parkplatz ist ein Ort, an dem Fahrzeuge abgestellt werden, und solche Beispiele gibt es unzählige.

Ähnlich wie eine Datenbank dient sie als zentrale Anlaufstelle für alle Tabellen, Ansichten und gespeicherten Prozeduren. Technisch gesehen speichert eine Datenbank Daten übersichtlich und strukturiert, um einen einfachen Zugriff und Abruf zu ermöglichen. In SQL Server gibt es zwei Arten von Datenbanken:

  • Systemdatenbanken: Diese Datenbanken werden bei der Installation von SQL Server automatisch erstellt. Sie spielen eine entscheidende Rolle für den Server, insbesondere um sicherzustellen, dass Datenbankobjekte korrekt ausgeführt werden. Beispiele für SQL Server-Systemdatenbanken sind master, msdb, model, tempdb und resource.
  • Benutzerdatenbanken: Diese werden von Datenbankbenutzern wie Ihnen erstellt, denen die Berechtigung zum Erstellen von Datenbanken erteilt wurde.

Regeln zum Erstellen einer Datenbank

Zunächst müssen Sie die Grundregeln für die Erstellung einer neuen Datenbank kennen:

  • Datenbanknamen müssen innerhalb einer Instanz von SQL Server eindeutig sein.
  • Datenbanknamen dürfen maximal 128 Zeichen lang sein.
  • Die CREATE DATABASE-Anweisung muss im Auto-Commit-Modus ausgeführt werden.

Die folgende Abbildung veranschaulicht die beiden verfügbaren Vorgehensweisen zum Erstellen einer Datenbank in SQL Server.

Es gibt zwei Möglichkeiten, eine SQL-Server-Datenbank zu erstellen: Management Studio und Transact-SQL.

Es gibt 2 Möglichkeiten, eine Datenbank in SQL Server zu erstellen:

So erstellen Sie eine Datenbank in SQL Server Management Studio

Hier ist eine schrittweise Anleitung zum Erstellen einer Datenbank in SQL Server Management Studio:

Schritt 1) Klicken Sie im Fenster „Objekt-Explorer“ mit der rechten Maustaste auf „Datenbank“ und wählen Sie dann „Neue Datenbank“.

Das Kontextmenü mit der Option „Neue Datenbank“ wird unten angezeigt.

Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf den Knoten „Datenbank“, wenn „Neue Datenbank“ ausgewählt ist.

Schritt 2) Der Bildschirm „Neue Datenbank“ wird angezeigt. Geben Sie einen „Datenbanknamen“ ein. Die Spalte „Logischer Name“ wird automatisch mit folgenden Daten ausgefüllt:

  • Edu – Dateityp: Zeilendaten und Dateigruppe: PRIMÄR
  • Edu_log – Dateityp: LOG und Dateigruppe: 'Nicht zutreffend'

Im Folgenden wird der Dialog „Neue Datenbank“ mit dem Datenbanknamen und den zugehörigen logischen Dateien angezeigt.

Neues Datenbankdialogfeld mit Anzeige des Datenbanknamens „Edu“ und der logischen Dateien „Edu“ und „Edu_log“.

Hier:

  • A) Edu (Dateityp: Zeilendaten, Dateigruppe: PRIMÄR) ist die .mdf-Datendatei.
  • B) Edu_log (Dateityp: LOG, Dateigruppe: 'Nicht anwendbar') ist die .ldf-Protokolldatei.

Schritt 3) (Optional) Für komplexere Einstellungen können Sie die Seiten „Optionen“ und „Dateigruppen“ aufrufen. Für Anfänger genügt es, die Datenbank über die Registerkarte „Allgemein“ zu erstellen.

Die Seiten „Optionen“ und „Dateigruppen“ werden unten angezeigt.

Neue Seiten für Datenbankoptionen und Dateigruppen für erweiterte Einstellungen

Schritt 4) Klicken Sie auf „Hinzufügen“ (die Schaltfläche „OK“), um die Datenbank zu erstellen.

Die Schaltfläche zur Bestätigung der Erstellung ist unten hervorgehoben.

Klicken Sie im Dialogfeld „Neue Datenbank“ auf die Schaltfläche „OK“, die die Edu-Datenbank erstellt.

Ergebnis: Die Datenbank „Edu“ wurde erstellt. Sie können die Datenbank „Edu“ erweitern, die dann Tabellen, Ansichten usw. enthält. Diese sind zunächst leer, bis Sie neue Tabellen, Ansichten usw. erstellen.

Der Objekt-Explorer zeigt die neu erstellte Edu-Datenbank mit ihren leeren Ordnern an.

Sehen Sie sich die Quellabfrage an: Sie können die Quellabfrage der neu erstellten Datenbank „Edu“ anzeigen. Gehen Sie dazu wie folgt vor: Klicken Sie mit der rechten Maustaste auf den Datenbanknamen > Datenbank als Skript erstellen > ERSTELLEN in > Neues Abfrage-Editor-Fenster.

Skriptdatenbank als CREATE In Neues Abfrageeditorfenster Kontextmenü

Abfragefenster: Das generierte CREATE-Skript öffnet sich in einem neuen Abfragefenster, wie unten dargestellt.

Abfrageeditorfenster, das das automatisch generierte CREATE DATABASE-Skript für Edu anzeigt

Skript erstellen:

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 )

Erstellen Sie eine Datenbank mit T-SQL

Eine weitere Methode besteht darin, eine T-SQL-Abfrage zum Erstellen einer Datenbank zu schreiben und diese anschließend auszuführen. Betrachten wir die einfachste T-SQL-Abfrage zum Erstellen einer Datenbank.

Syntax:

CREATE DATABASE <Database_name>

Abfrage:

CREATE DATABASE [Edu_TSQL_file]

Klicken Sie auf „Ausführen“, um die Abfrage auszuführen, wie unten gezeigt.

Die Schaltfläche „Ausführen“ in der SSMS-Symbolleiste wird verwendet, um die Abfrage CREATE DATABASE auszuführen.

Ergebnis: Die erstellte Edu_TSQL_Datei können Sie im SQL-Objekt-Explorer sehen.

Objekt-Explorer listet die mit Transact-SQL erstellte Datenbank Edu_TSQL_file auf.

Schauen wir uns nun an, wie man eine Datenbank mit expliziten .mdf- und .ldf-Dateien erstellt. Hier können Sie den Dateispeicherort als expliziten Teil der Abfrage angeben.

Syntax:

CREATE DATABASE database_name   
[ CONTAINMENT = { NONE | PARTIAL } ]  
[ ON   
      [ PRIMARY ] <filespec> [ ,...n ]   
      [ , <filegroup> [ ,...n ] ]   
      [ LOG ON <filespec> [ ,...n ] ]   
];

Abfrage:

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 )

Die mit ihren expliziten Daten- und Protokolldateien erstellte Datenbank wird im Objekt-Explorer angezeigt, wie unten dargestellt.

Der Objekt-Explorer zeigt die mit expliziten .mdf- und .ldf-Dateien erstellte Edu_TSQL_file-Datenbank an.

So ändern Sie die Datenbank

Ähnlich wie bei der Abfrage CREATE DATABASE können Sie auch eine Datenbank ändern. Sie können die Datenbank umbenennen, den Speicherort einer Datei oder eine Einstellung ändern und vieles mehr.

Grundregeln für die Änderung einer Datenbank:

  • Die ALTER DATABASE-Anweisung muss im Auto-Commit-Modus ausgeführt werden.
  • ALTER DATABASE ist in einer expliziten oder impliziten Transaktion nicht zulässig.

Es gibt 2 Möglichkeiten, eine Datenbank in SQL Server zu ändern:

  • SQL Server Management Studio
  • SQL-Transaktion

So ändern Sie die Datenbank in SQL Server Management Studio

Im Folgenden werden die Schritte zum Ändern einer Datenbank in SQL Server Management Studio beschrieben. Wir versuchen, den Namen unserer bereits erstellten Datenbank „Edu“ zu ändern. Die Datenbank „Edu“ wird unten im Objekt-Explorer angezeigt.

In der Datenbankliste des Objekt-Explorers wurde die vordefinierte Edu-Datenbank ausgewählt.

Schritt 1) Benennen Sie die Datenbank um. Klicken Sie mit der rechten Maustaste auf den Datenbanknamen und wählen Sie „Umbenennen“.

Klicken Sie mit der rechten Maustaste auf das Kontextmenü der Edu-Datenbank und wählen Sie die Option „Umbenennen“.

Schritt 2) Der Datenbankname kann nun bearbeitet werden. Geben Sie den neuen Namen ein und drücken Sie die Eingabetaste.

Das bearbeitbare Namensfeld der Edu-Datenbank ist bereit für einen neuen Namen.

Ergebnis: Die Datenbank wurde von „Edu“ in „Edu_Alter“ umbenannt.

Der Objekt-Explorer zeigt die von Edu in Edu_Alter umbenannte Datenbank an.

Datenbank mit Transact-SQL ändern

Nun wollen wir eine Datenbank mithilfe von T-SQL verändern.

Syntax:

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

Abfrage:

ALTER DATABASE Edu_TSQL
MODIFY NAME = Edu_TSQL_Alter;

Führen Sie die obige Abfrage aus, indem Sie auf „Ausführen“ klicken.

Ergebnis: Die Datenbank wurde nun von 'Edu_TSQL' in „Edu_TSQL_Alter“ umbenannt, wie unten dargestellt.

Der Objekt-Explorer zeigt die Datenbank an, die nach ALTER DATABASE in Edu_TSQL_Alter umbenannt wurde.

Allgemeine Syntax: Die vollständige Syntax von ALTER DATABASE unterstützt viele Optionen, darunter Umbenennung, Sortierung, Dateioptionen und den Kompatibilitätsgrad.

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

Hinweis: Die oben aufgeführten Kompatibilitätsstufen beziehen sich auf ältere Versionen. Aktuelle Versionen unterstützen zusätzlich 150 (SQL Server 2019), 160 (SQL Server 2022) und 170 (SQL Server 2025) und bieten weiterhin Unterstützung für mehrere ältere Stufen.

Ändern des .mdf/.ldf-Dateinamens

Abfrage:

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

Die Umbenennung der logischen Datei wird in den Datenbankeigenschaften widergespiegelt, wie unten dargestellt.

Datenbankeigenschaften, die die Umbenennung der logischen Datei Edu_TSQL_newName bestätigen

Ändern des Speicherorts der .mdf/.ldf-Datei

Abfrage:

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

Der aktualisierte Dateipfad für die Datenbank wird unten angezeigt.

Datenbankdateiseite mit Anzeige des neuen Speicherorts der .ldf-Protokolldatei

Datenbank löschen

Es gibt 2 Möglichkeiten, eine Datenbank in SQL Server zu löschen (zu entfernen):

  • SQL Server Management Studio
  • SQL-Transaktion

So löschen Sie eine Datenbank in SQL Server Management Studio

Im Folgenden wird der Vorgang zum Löschen einer Datenbank in SQL Server Management Studio beschrieben. Versuchen wir, unsere zuvor erstellte Datenbank „Edu_Alter“ zu löschen.

Schritt 1) Klicken Sie mit der rechten Maustaste auf die Datenbank, klicken Sie auf „Löschen“ und anschließend auf „OK“.

Dialogfeld „Objekt löschen“ für Dropping die Edu_Alter-Datenbank in SSMS

Ergebnis: Der Eintrag „Edu_Alter“ wurde aus der Datenbankliste „Objekt-Explorer“ gelöscht.

Liste der Objekt-Explorer-Datenbank nach dem Löschen der Edu_Alter-Datenbank

Datenbank mit Transact-SQL löschen

Versuchen wir, unsere zuvor erstellte Datenbank 'Edu_TSQL_Alter' zu löschen.

Syntax:

DROP DATABASE <Databse_name>

Abfrage:

USE master;  
GO  
DROP DATABASE Edu_TSQL_Alter;  
GO

Führen Sie die obige Abfrage aus, indem Sie auf „Ausführen“ klicken.

Ergebnis: Der Eintrag 'Edu_TSQL_Alter' wurde aus der Datenbankliste des 'Objekt-Explorers' gelöscht, wie unten dargestellt.

Liste der Objekt-Explorer-Datenbank, nachdem die Datenbank Edu_TSQL_Alter mit T-SQL gelöscht wurde

Datenbank in SQL Server wiederherstellen

Sie können eine Datenbank erstellen, indem Sie eine zuvor gesicherte Datenbank wiederherstellen. Dies geschieht durch Ausführen des Befehls RESTORE DATABASE, der folgende Syntax hat:

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

Die Abfrage sollte, genau wie die vorherigen Befehle, innerhalb des Abfragefensters ausgeführt werden. Zum Beispiel:

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

Alternativ können Sie die Navigation über die grafische Benutzeroberfläche nutzen: Klicken Sie mit der rechten Maustaste auf Datenbank > Datenbank wiederherstellen > Gerät > importieren Sie die Sicherungsdatei > klicken Sie auf OK.

Häufig gestellte Fragen

Zum Erstellen einer Datenbank ist die Berechtigung CREATE DATABASE, CREATE ANY DATABASE oder ALTER ANY DATABASE in der Masterdatenbank erforderlich. Dies kann von einem Mitglied der Serverrolle „sysadmin“ oder „dbcreator“ oder einem entsprechend berechtigten Benutzer durchgeführt werden. login, kann die Anweisung ausführen.

Eine einzelne SQL-Server-Instanz kann bis zu 32,767 Datenbanken verwalten. Diese Zahl stellt eine feste architektonische Grenze dar; in der Praxis sind aufgrund des Speicherbedarfs, des Speicherplatzes und des Verwaltungsaufwands deutlich kleinere Zahlen für eine gute Leistung empfehlenswert.

Nein. Systemdatenbanken wie Master, Model, msdb, tempdb und Resource werden von der Engine benötigt und können nicht gelöscht werden. Nur von Ihnen erstellte Benutzerdatenbanken können mit DROP DATABASE oder der Option „Löschen“ gelöscht werden.

SIZE legt die anfängliche Dateigröße fest, MAXSIZE die maximale Größe, auf die die Datei anwachsen kann, und FILEGROWTH bestimmt, wie viel Speicherplatz bei jeder Dateierweiterung hinzugefügt wird. Diese Einstellungen gelten sowohl für Daten- als auch für Protokolldateien.

Der Wert COMPATIBILITY_LEVEL steuert das Abfrageverarbeitungsverhalten einer Datenbank. Aktuelle Werte sind 140 (SQL Server 2017), 150 (2019), 160 (2022) und 170 (2025). Mit dem Befehl ALTER DATABASE SET COMPATIBILITY_LEVEL kann der Wert geändert werden, ohne die Datenbank auf einen neuen Server zu verschieben.

DROP DATABASE löscht die Datenbank und ihre .mdf- und .ldf-Dateien endgültig. Eine Datenbank vom Netz nehmenLINE Der Zugriff wird lediglich unterbrochen, die Dateien bleiben jedoch auf der Festplatte erhalten, sodass Sie die Festplatte später ohne Wiederherstellung wieder online bringen können.

Ja. GitHub-Copilot Sie können CREATE DATABASE-, ALTER DATABASE- und DROP DATABASE-Anweisungen anhand von natürlichsprachlichen Eingabeaufforderungen in SSMS oder Ihrem Editor erstellen. Überprüfen Sie immer die generierten Dateipfade, -größen und -optionen, bevor Sie sie auf einem produktiven Server ausführen.

KI und maschinelles Lernen unterstützen die Bereitstellung, indem sie Dateigrößen und Wachstumseinstellungen empfehlen, Kapazitäten prognostizieren, Konfigurationsabweichungen erkennen und riskante DROP- oder ALTER-Operationen kennzeichnen. Sie unterstützen den Datenbankadministrator, ersetzen aber nicht die sorgfältige Überprüfung.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: