SQL Server Express auf einem Windows-VPS installieren
Diese Anleitung zeigt, wie Sie SQL Server Express oder eine andere Edition von SQL Server auf einem Windows-VPS installieren: Wahl der Edition, Installation mit dem Assistenten oder über die Befehlszeile, SSMS, Netzwerkzugriff, Sicherheit und Backups. Sie gilt für SQL Server 2025, die aktuelle Version, auf Windows Server 2025. SQL Server gehört nicht zum gelieferten System.
Die Edition von SQL Server wählen
| Edition | Größe einer Datenbank | Pufferpool-Speicher | Prozessor | Lizenz |
|---|---|---|---|---|
| Express | 50 GB pro Datenbank | 1.410 MB | 1 Sockel oder 4 Kerne | Kostenlos |
| Standard Developer, Enterprise Developer | Wie Standard oder Enterprise | Wie Standard oder Enterprise | Wie Standard oder Enterprise | Kostenlos, nur für Entwicklung und Tests |
| Standard | 524 PB | 256 GB | 4 Sockel oder 32 Kerne | Kostenpflichtig |
| Enterprise | 524 PB | Maximum des Betriebssystems | Maximum des Betriebssystems | Kostenpflichtig |
Für die Entwicklung einer Anwendung wählen Sie eine Developer-Edition. In der Produktion genügt Express, solange jede Datenbank unter 50 GB bleibt. Darüber hinaus oder für Hochverfügbarkeit brauchen Sie Standard oder Enterprise mit einer Lizenz von Microsoft oder einem Händler.
Express hat keinen SQL Server Agent und komprimiert keine Backups. Der Abschnitt zu den Backups zeigt die passende Methode. Verlangt Ihre Anwendung SQL Server 2022 Express, bietet Microsoft es weiter zum Download an. Das Vorgehen ist gleich, mit einer Grenze von 10 GB pro Datenbank.
Den VPS vorbereiten
| Komponente | Minimum | Empfohlen |
|---|---|---|
| Arbeitsspeicher | 512 MB (Express), 1 GB (andere Editionen) | 1 GB (Express), 4 GB oder mehr (andere Editionen) |
| Prozessor | x64, 1,4 GHz | 2,0 GHz oder schneller |
| Festplatte | 6 GB frei | Je nach Größe Ihrer Datenbanken |
| System | Windows Server 2019 oder neuer | Windows Server 2025 |
SQL Server 2025 benötigt .NET Framework 4.7.2, das Windows Server 2025 bereits mitbringt. Prüfen Sie Windows-Version, Arbeitsspeicher und freien Platz.
# Windows-Version
Get-ComputerInfo | Select-Object WindowsProductName, OsHardwareAbstractionLayer
# Installierter Arbeitsspeicher (in Byte)
Get-CimInstance Win32_PhysicalMemory | Measure-Object -Property capacity -Sum
# Speicherplatz auf C:
Get-PSDrive C | Select-Object Used, Free
Legen Sie dann getrennte Ordner für Daten, Protokolle und Backups an. Auf einem VPS mit einer Festplatte hält das die Dateien geordnet und erleichtert die Sicherung.
New-Item -ItemType Directory -Path "C:\SQLData" -Force
New-Item -ItemType Directory -Path "C:\SQLLogs" -Force
New-Item -ItemType Directory -Path "C:\SQLBackups" -Force
SQLData nimmt die Dateien .mdf und .ndf auf, SQLLogs die Protokolle .ldf, SQLBackups die Backups .bak.
SQL Server herunterladen
Die Editionen Express und Developer finden Sie auf der Download-Seite von SQL Server. Das Installationsprogramm bietet drei Modi.
| Modus | Was er tut | Wann er passt |
|---|---|---|
| Basic | Minimale Installation mit Standardeinstellungen | Ein schneller Test |
| Custom | Kontrolle über Funktionen, Ordner, Konten und Authentifizierung | Jede dauerhafte Installation |
| Download Media | Lädt das vollständige Medium für eine Offline-Installation herunter | Installation ohne Internetzugang oder über die Befehlszeile |
SQL Server mit dem Assistenten installieren
Die Bezeichnungen des Installationsprogramms stehen auf Englisch, in der Sprache des gelieferten Systems. Wählen Sie Custom und folgen Sie diesen Schritten.
Öffnen Sie im Installationscenter Installation › New SQL Server standalone installation or add features to an existing installation.
Wählen Sie die gewünschte kostenlose Edition oder geben Sie Ihren Schlüssel für Standard oder Enterprise ein.
Haken Sie unter Feature Selection die Option Database Engine Services an. Lassen Sie Analysis Services, Integration Services und PolyBase weg, sofern Sie sie nicht brauchen.
Behalten Sie unter Instance Configuration die Standardinstanz
MSSQLSERVERfür einen einzigen SQL Server auf dem VPS. Eine benannte Instanz, zum BeispielSQLPROD, erreichen Sie dann mit.\SQLPROD.Behalten Sie unter Server Configuration das virtuelle Konto
NT Service\MSSQLSERVER. Haken Sie Grant Perform Volume Maintenance Task privilege an: Anlegen und Wiederherstellen von Datenbanken gehen schneller.Wählen Sie unter Database Engine Configuration, Tab Server Configuration, den Mixed Mode und geben Sie dem Konto
saein langes, komplexes Passwort. Fügen Sie Ihr Windows-Konto als Administrator hinzu.Tragen Sie im Tab Data Directories
C:\SQLDatafür Daten,C:\SQLLogsfür Protokolle undC:\SQLBackupsfür Backups ein.Sehen Sie im Tab TempDB eine Datei pro Kern vor, höchstens 8. Auf einem VPS mit 4 vCPU sind das 4 Dateien.
Prüfen Sie die Zusammenfassung und klicken Sie auf Install.
Im gemischten Modus melden Sie sich zusätzlich zu Windows-Konten mit einem SQL-Konto wie sa an. Das ist auf einem VPS ohne Domäne praktisch.
SQL Server über die Befehlszeile installieren
Die unbeaufsichtigte Installation dient zum Automatisieren oder zum Wiederholen einer Konfiguration auf mehreren VPS. Starten Sie sie in PowerShell als Administrator aus dem Ordner mit setup.exe (Medium, das mit Download Media geladen wurde). Ersetzen Sie das sa-Passwort.
.\setup.exe /Q `
/ACTION=Install `
/FEATURES=SQLEngine,Replication,FullText `
/INSTANCENAME=MSSQLSERVER `
/SQLSVCACCOUNT="NT Service\MSSQLSERVER" `
/SQLSYSADMINACCOUNTS="BUILTIN\Administrators" `
/AGTSVCACCOUNT="NT Service\SQLSERVERAGENT" `
/AGTSVCSTARTUPTYPE=Automatic `
/SQLSVCINSTANTFILEINIT="True" `
/SQLUSERDBDIR="C:\SQLData" `
/SQLUSERDBLOGDIR="C:\SQLLogs" `
/SQLBACKUPDIR="C:\SQLBackups" `
/TCPENABLED=1 `
/SECURITYMODE=SQL `
/SAPWD="Ch@ngeMe-Now!" `
/IACCEPTSQLSERVERLICENSETERMS `
/SUPPRESSPRIVACYSTATEMENTNOTICE
| Parameter | Rolle |
|---|---|
/Q | Stiller Modus ohne Oberfläche |
/FEATURES | Datenbank-Engine, Replikation und Volltextsuche |
/SQLSYSADMINACCOUNTS | Administratorkonten von SQL Server, hier die lokalen Administratoren |
/SQLSVCINSTANTFILEINIT | Beschleunigt das Anlegen von Datenbankdateien |
/TCPENABLED=1 | Aktiviert TCP/IP schon bei der Installation |
/SECURITYMODE=SQL, /SAPWD | Gemischter Modus und Passwort des Kontos sa |
/IACCEPTSQLSERVERLICENSETERMS, /SUPPRESSPRIVACYSTATEMENTNOTICE | Annahme der Lizenz und des Datenschutzhinweises, im stillen Modus Pflicht |
Das Ergebnis steht in C:\Program Files\Microsoft SQL Server\170\Setup Bootstrap\Log\Summary.txt. Der Ordner 170 gehört zu SQL Server 2025, 160 zu SQL Server 2022.
SSMS installieren und verbinden
SQL Server Management Studio (SSMS), die Verwaltungsoberfläche, wird separat installiert. Laden Sie die neueste Version von der SSMS-Seite von Microsoft herunter und installieren Sie sie mit den Standardoptionen.
Geben Sie beim Start localhost als Servernamen ein (oder .\SQLPROD für eine benannte Instanz) und wählen Sie die Windows- oder die SQL-Server-Authentifizierung mit dem Konto sa. Ohne SSMS fragt sqlcmd den Server über die Befehlszeile ab.
sqlcmd -S localhost -Q "SELECT @@VERSION"
Den Netzwerkzugriff öffnen
Standardmäßig nimmt SQL Server nur lokale Verbindungen an. Damit sich ein anderer Rechner verbinden kann, aktivieren Sie TCP/IP.
Öffnen Sie den SQL Server Configuration Manager über das Startmenü.
Gehen Sie zu SQL Server Network Configuration › Protocols for MSSQLSERVER.
Klicken Sie mit der rechten Maustaste auf TCP/IP und dann auf Enable.
Doppelklicken Sie auf TCP/IP, Tab IP Addresses. Stellen Sie ganz unten unter IPAll den TCP Port auf
1433oder einen anderen Port.Starten Sie den Dienst SQL Server neu.
Öffnen Sie den Port danach in der Windows-Firewall, am besten nur für eine Adresse: die Ihres Rechners oder Ihres Anwendungsservers.
# Port 1433 für alle offen (in der Produktion vermeiden)
New-NetFirewallRule -DisplayName "SQL Server (TCP 1433)" `
-Direction Inbound -Protocol TCP -LocalPort 1433 -Action Allow
# Port 1433 nur für eine Adresse (empfohlen)
New-NetFirewallRule -DisplayName "SQL Server - Allowed IP" `
-Direction Inbound -Protocol TCP -LocalPort 1433 `
-RemoteAddress "203.0.113.10" -Action Allow
Prüfen Sie die Installation: Der Port antwortet, der Dienst läuft und eine Abfrage geht durch.
Test-NetConnection -ComputerName localhost -Port 1433
Get-Service -Name MSSQLSERVER
sqlcmd -S localhost -Q "SELECT @@VERSION, GETDATE() AS ServerDate"
Die Anleitung Port in der Windows Firewall freigeben erklärt Regeln für einzelne Adressen. Um einen Anwendungsserver ohne Umweg über das Internet anzubinden, nutzen Sie das private Netzwerk für VPS.
SQL Server absichern
Deaktivieren oder benennen Sie das Konto
saum, das erste Ziel von Brute-Force-Angriffen.Legen Sie pro Anwendung ein SQL-Konto an, mit Rechten nur auf ihre Datenbank.
Beschränken Sie den SQL-Port auf bekannte Adressen, wie oben gezeigt.
Nehmen Sie die SQL-Ordner von der Echtzeitprüfung durch Microsoft Defender aus.
Lassen Sie riskante Funktionen wie
xp_cmdshelldeaktiviert.Stellen Sie in SSMS unter den Servereigenschaften, Seite Security, Login auditing auf Both failed and successful logins.
-- xp_cmdshell deaktivieren
EXEC sp_configure 'show advanced options', 1; RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 0; RECONFIGURE;
# Ausnahmen in Microsoft Defender für die SQL-Ordner
Add-MpPreference -ExclusionPath "C:\SQLData","C:\SQLLogs","C:\SQLBackups"
Die Datenbanken sichern
Dieses T-SQL-Skript sichert eine Datenbank in eine datierte Datei. Ersetzen Sie AppDb durch den Namen Ihrer Datenbank.
DECLARE @file NVARCHAR(260) = N'C:\SQLBackups\AppDb_' + CONVERT(NVARCHAR(8), GETDATE(), 112) + N'.bak';
-- Unter Standard oder Enterprise COMPRESSION in die WITH-Klausel aufnehmen
BACKUP DATABASE [AppDb] TO DISK = @file WITH STATS = 10;
Mit dem SQL Server Agent (Standard, Enterprise, Developer)
Starten Sie den Agent und stellen Sie ihn auf automatischen Start.
Set-Service -Name SQLSERVERAGENT -StartupType Automatic
Start-Service -Name SQLSERVERAGENT
Legen Sie in SSMS unter SQL Server Agent mit New Job einen Auftrag an. Fügen Sie einen T-SQL-Schritt mit dem Skript hinzu und dann einen täglichen Zeitplan, zum Beispiel um 2 Uhr.
Mit der Aufgabenplanung (Express)
Express hat keinen Agent. Speichern Sie das Skript unter C:\Scripts\sql-backup.sql und planen Sie sqlcmd ein. Das Konto der Aufgabe muss Administrator von SQL Server sein; der Befehl fragt nach seinem Passwort.
schtasks /create /tn "SQL-Backup-AppDb" /tr "sqlcmd -S localhost -E -i C:\Scripts\sql-backup.sql" /sc DAILY /st 02:00 /ru Administrator /rp
Diese Dateien bleiben auf dem VPS. Um sie anderswo abzulegen, folgen Sie der Anleitung Backup eines Windows Server VPS erstellen.
Häufige Fehler beheben
Der Dienst SQL Server startet nicht
Oft ist Port 1433 schon belegt, oder das Dienstkonto hat keine Rechte auf die Datenordner. Prüfen Sie den Port und lesen Sie dann die genaue Meldung in der Ereignisanzeige, Protokoll Application, Quelle MSSQLSERVER.
netstat -ano | findstr :1433
Keine Verbindung zu localhost
Prüfen Sie mit Get-Service MSSQLSERVER, ob der Dienst läuft, ob TCP/IP im SQL Server Configuration Manager aktiv ist und ob Sie den richtigen Namen verwenden. Eine benannte Instanz erreichen Sie mit .\INSTANZNAME, nicht mit localhost.
Login failed for user 'sa'
Entweder ist der gemischte Modus nicht aktiv, oder das Konto sa ist deaktiviert. Wählen Sie in SSMS unter den Servereigenschaften, Seite Security, SQL Server and Windows Authentication mode und starten Sie den Dienst neu. So aktivieren Sie sa wieder:
ALTER LOGIN sa ENABLE;
ALTER LOGIN sa WITH PASSWORD = 'Ch@ngeMe-Now!';
Ein ausstehender Neustart blockiert die Installation
Windows hat ausstehende Umbenennungen von Dateien. Existiert der Wert unten, starten Sie den VPS neu und starten Sie die Installation erneut.
Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager" `
-Name PendingFileRenameOperations -ErrorAction SilentlyContinue
Eine .NET-Komponente fehlt
Windows Server 2025 bringt .NET Framework 4.8.1 mit, was für SQL Server 2025 genügt. Verlangt eine ältere Komponente .NET Framework 3.5, installieren Sie es, bei Bedarf mit dem ISO von Windows Server als Quelle. Sonst laden Sie .NET Framework bei Microsoft herunter.
Install-WindowsFeature Net-Framework-Core
Install-WindowsFeature Net-Framework-Core -Source "D:\sources\sxs"
Die Leistung sinkt
Fügen Sie unter Standard oder Enterprise TempDB-Dateien bis zu einer pro Kern hinzu (höchstens 8). Express nutzt nur eine TempDB-Datei.
-- Beispiel für 4 Kerne
ALTER DATABASE tempdb ADD FILE (NAME = tempdev2, FILENAME = 'C:\SQLData\tempdb2.mdf', SIZE = 64MB);
ALTER DATABASE tempdb ADD FILE (NAME = tempdev3, FILENAME = 'C:\SQLData\tempdb3.mdf', SIZE = 64MB);
ALTER DATABASE tempdb ADD FILE (NAME = tempdev4, FILENAME = 'C:\SQLData\tempdb4.mdf', SIZE = 64MB);
Begrenzen Sie außerdem den Arbeitsspeicher von SQL Server, damit Windows mindestens 20 % bleiben. Auf einem VPS mit 8 GB sind das etwa 6.400 MB.
EXEC sp_configure 'show advanced options', 1; RECONFIGURE;
EXEC sp_configure 'max server memory', 6400; RECONFIGURE;
Haben Sie das Recht bei der Installation nicht angehakt, gewähren Sie dem Dienstkonto in secpol.msc das Recht Perform volume maintenance tasks.
Brauchen Sie Hilfe?
Eröffnen Sie ein Ticket über Tickets › Ticket öffnen oder über die Kachel Support kontaktieren unten auf der VPS-Seite. Wählen Sie im Feld Betreffender Dienst den VPS aus, das spart dem Team Zeit. Sie können Ihre Frage auch auf dem Discord von OuiHeberg stellen.
Windows Server 2025 inklusive Lizenz, Remotedesktop-Zugang und Verwaltung im Kundenbereich.
Angebote ansehen →