SQLServer Flex – Managed MSSQL auf STACKIT
Viele Unternehmensanwendungen setzen auf Microsoft SQL Server. Mit SQLServer Flex bietet STACKIT einen managed MSSQL-Service, der dir Hochverfügbarkeit, automatisierte Backups und Skalierung abnimmt – ohne dass du dich um Patching oder Infrastruktur kümmern musst.
Was ist SQLServer Flex?
SQLServer Flex ist der managed Microsoft SQL Server-Dienst auf STACKIT:
- Vollständig verwaltet – STACKIT übernimmt Betrieb, Updates und Sicherheitspatches
- Hochverfügbarkeit – Automatisches Failover und Replikation für Produktionsworkloads
- Automatisierte Backups – Tägliche Backups mit konfigurierbarer Aufbewahrungsdauer
- Flexible Skalierung – CPU, RAM und Storage unabhängig voneinander anpassen
- DSGVO-konform – Daten bleiben in deutschen Rechenzentren
:::info SQLServer Flex eignet sich besonders für .NET-Anwendungen und bestehende Workloads, die auf T-SQL und MSSQL-Features angewiesen sind. :::
Tutorial: SQLServer Flex einrichten und verbinden
1. Instanz erstellen
stackit sqlserverflex instance create \
--name my-mssql \
--project-id your-project-id \
--flavor-id your-flavor-id \
--storage-size 20
2. Datenbank und Benutzer anlegen
stackit sqlserverflex database create \
--instance-id your-instance-id \
--project-id your-project-id \
--name appdb
stackit sqlserverflex user create \
--instance-id your-instance-id \
--project-id your-project-id \
--username appadmin \
--roles "db_owner"
3. Verbindung mit sqlcmd
sqlcmd -S your-mssql-host,1433 \
-U appadmin \
-P "your-password" \
-d appdb \
-C
4. Tabelle erstellen und Daten einfügen
CREATE TABLE Kunden (
Id INT IDENTITY(1,1) PRIMARY KEY,
Name NVARCHAR(100) NOT NULL,
Email NVARCHAR(255) UNIQUE,
ErstelltAm DATETIME2 DEFAULT GETDATE()
);
INSERT INTO Kunden (Name, Email)
VALUES
(N'Max Mustermann', N'max@example.com'),
(N'Erika Musterfrau', N'erika@example.com');
SELECT * FROM Kunden;
5. Verbindung aus einer .NET-Anwendung
using Microsoft.Data.SqlClient;
var connectionString =
"Server=your-mssql-host,1433;" +
"Database=appdb;" +
"User Id=appadmin;" +
"Password=your-password;" +
"Encrypt=True;" +
"TrustServerCertificate=False;";
await using var connection = new SqlConnection(connectionString);
await connection.OpenAsync();
await using var command = new SqlCommand(
"SELECT Name, Email FROM Kunden", connection);
await using var reader = await command.ExecuteReaderAsync();
while (await reader.ReadAsync())
{
Console.WriteLine($"{reader["Name"]} – {reader["Email"]}");
}
6. Backup und Wiederherstellung
stackit sqlserverflex backup list \
--instance-id your-instance-id \
--project-id your-project-id
stackit sqlserverflex instance restore \
--instance-id your-instance-id \
--project-id your-project-id \
--restore-time "2026-03-25T12:00:00Z"
:::warning Teste regelmäßig deine Wiederherstellungsprozeduren, um im Ernstfall vorbereitet zu sein. :::
Nächste Schritte
- Konfiguriere IP-Whitelisting, um den Zugriff auf deine Instanz einzuschränken
- Richte Monitoring für Query-Performance und Ressourcenverbrauch ein
- Implementiere Connection Pooling in deiner Anwendung für bessere Performance
- Evaluiere Read-Replicas für leseintensive Workloads