Datenbanken aus STACKIT S3 Buckets importieren
Zuletzt aktualisiert am
Sie können jederzeit On-Demand-Importe eines SQLServer Backups in Ihre SQLServer Flex Instanz (Single und HA) aus einen STACKIT S3 Bucket durchführen.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“Um die auf dieser Seite beschriebenen Schritte durchführen zu können, müssen die folgenden Bedingungen erfüllt sein:
-
Ihr Unternehmen hat ein Kundenkonto.
(Siehe: Kundenkonto erstellen) -
Sie haben ein Benutzerkonto mit den erforderlichen Berechtigungen.
(Siehe: Ein Benutzerkonto erstellen) -
Sie haben ein Projekt in Ihrem Kundenkonto.
(Siehe: Ein Projekt erstellen) -
Sie haben ein Dienstkonto erstellt.
(Siehe: Ein Dienstkonto erstellen) -
Sie haben diesem Dienstkonto die erforderlichen Projektberechtigungen zugewiesen.
(Siehe: Berechtigungen für ein Dienstkonto zuweisen) -
Sie haben ein Zugriffstoken für dieses Dienstkonto erstellt.
(Siehe: Authentifizierungstoken einem Dienstkonto zuweisen) -
Sie haben eine SQLServer Flex-Instanz erstellt.
(Siehe: Erstellen einer SQLServer Flex-Instanz) -
Sie sind mit der SQLServer Flex-Instanz verbunden.
(Siehe: Verbindung zu einer SQLServer Flex-Instanz) -
Sie haben zuvor eine Datenbank erstellt.
(Siehe: Datenbanken in SQLServer Flex-Instanzen erstellen) -
Sie haben zuvor einen Benutzer erstellt und ihm die richtige Serverrolle zugewiesen
(Siehe: Benutzer erstellen)
(Siehe: Server-, Projektrollen und Berechtigungen) -
Sie haben ein STACKIT S3 Bucket.
-
Sie haben die zu importierende Datenbank als .bak-Datei(en) in den STACKIT S3 Bucket hochgeladen.
Hinweis: Nur unverschlüsselte Backups -
Die zu importierende Datenbank existiert nicht auf der zu importierenden SQLServer Flex Instanz (Single und HA).
Importieren einer Datenbank aus einem STACKIT S3 Bucket
Abschnitt betitelt „Importieren einer Datenbank aus einem STACKIT S3 Bucket“Weiter Voraussetzungen:
- Zugriffstoken mit der Berechtigung
sqlserver-flex.restore.trigger(oder gleichwertig für v3alpha1). - S3 Access Key und Secret mit Lesezugriff auf den Bucket.
Importieren
Abschnitt betitelt „Importieren“Senden Sie eine Datenbankwiederherstellungsanforderung von einer externen S3-Quelle mit einem POST-Aufruf.
Ersetzen Sie die Platzhalter durch Ihre tatsächlichen Projekt- und Instanzdetails.
Curl Beispiel
curl https://mssql-flex-service.api.eu01.stackit.cloud/v3alpha1/projects/$PROJECT_ID/regions/$REGION/instances/$INSTANCE_ID/restores \-D- \-X POST \-H "Authorization: Bearer $TOKEN" \-H "Content-Type: application/json" \-d '{ "database_name": "'$NEW_DB_NAME'", "source": { "database_owner": "'$DBUSER'", "logging_guid": "1", "s3_details": { "s3_access_key": "'$S3_ACCESS_KEY'", "s3_access_secret": "'$S3_SECRET_KEY'", "s3_bucket": "s3://object.storage.eu01.onstackit.cloud/$BUCKET_PATH/", "s3_files": [ { "file_number": 1, "file_path": "s3://object.storage.eu01.onstackit.cloud/$BUCKET_PATH/file.bak" } ] }, "type": "EXTERNAL_S3" }}'Parameterwerte
| Parameter | Beschreibung |
|---|---|
| TOKEN | Gültiges Zugriffstoken mit Wiederherstellungsberechtigung |
| PROJECT_ID | Projekt-ID, in der sich die Instanz befindet |
| REGION | Region, in der die Instanz erstellt wurde (z.B. eu01) |
| INSTANCE_ID | SQLServer Flex Instanz ID |
| NEW_DB_NAME | Der Name, den die Datenbank nach dem Import haben wird |
| S3_ACCESS_KEY | Zugriffsschlüssel für den S3-Bucket von STACKIT |
| S3_SECRET_KEY | Geheimschlüssel for the STACKIT S3 bucket |
| s3_files.file_path | Vollständiger S3-URI zur .bak Datei (z.B., s3://host/path/file.bak) |
Rückgabewert
Bei einem erfolgreich initiierten Datenbankimport antwortet die API mit einem 202 Accepted HTTP-Statuscode.
Der eigentliche Wiederherstellungsprozess läuft asynchron im Hintergrund ab.
Beispiel für eine API-Antwort
HTTP/2 202date: Fri, 16 Jan 2026 14:30:00 GMTtraceparent: 00-5c32d68f7g64e96318fgcf12d568f9d3-fefc7e32157b6a1f-01server: stackitcontent-length: 0Die Stored Procedures können auf den STACKIT Flex SQLServer-Instanzen (Single und HA) verwendet werden.
Sie können jedes SQL Server-Abfrageausführungswerkzeug verwenden, das T-SQL gegen einen SQL Server ausführen kann, z. B. SQL Server Management Studio, Azure Data Studio oder PowerShell.
- Datenbanken können mit der Stored Prozedur importiert werden
[msdb].[stackit].[import_database]. - Beschreibung der Parameter
Die Prozedur nimmt verschiedene Parameter entgegen
Parameter SQL Datentyp Zwingend Standardwert Beschreibung @database_nameNVARCHAR(80)JA - Name der Datenbank (unter Beachtung der Namenskonventionen). @owner_nameNVARCHAR(128)Nein Aktueller Benutzer Der Eigentümer der Datenbank. @s3_urlNVARCHAR(MAX)JA N/A Durch Kommata getrennte Liste von Dateien einschließlich Pfad, die die Sicherung enthalten. Muss mit s3:// beginnen. @s3_access_key_idNVARCHAR(MAX)JA N/A Zugriffsschlüssel für den S3-Bucket von STACKIT. @s3_secret_key_idNVARCHAR(MAX)JA N/A Geheimer Schlüssel für den S3-Bucket von STACKIT. - Beispiele:
-
Einfacher Import:
EXEC [msdb].[stackit].[import_database]@database_name = 'demo_db_1', @owner_name = 'Administrator', @s3_url='s3://object.storage.eu01.onstackit.cloud/[FOLDER_NAME]/[DATABASE_FILENAME].bak', @s3_access_key_id = 'abc123', @s3_secret_key_id = 'xyz321' -
Wenn die zu importierende Datenbank aus mehreren Dateien besteht, kann dies mit dem Parameter @s3_url kommagetrennt erfolgen.
EXEC [msdb].[stackit].[import_database]@database_name = 'demo_db_1', @owner_name = 'Administrator', @s3_url=' s3://object.storage.eu01.onstackit.cloud/[FOLDER_NAME]/[DATABASE_FILENAME_1].bak,s3://object.storage.eu01.onstackit.cloud/[FOLDER_NAME]/[DATABASE_FILENAME_2].bak,s3://object.storage.eu01.onstackit.cloud/[FOLDER_NAME]/[DATABASE_FILENAME_3].bak,s3://object.storage.eu01.onstackit.cloud/[FOLDER_NAME]/[DATABASE_FILENAME_4].bak,s3://object.storage.eu01.onstackit.cloud/[FOLDER_NAME]/[DATABASE_FILENAME_5].bak,s3://object.storage.eu01.onstackit.cloud/[FOLDER_NAME]/[DATABASE_FILENAME_6].bak,s3://object.storage.eu01.onstackit.cloud/[FOLDER_NAME]/[DATABASE_FILENAME_7].bak,s3://object.storage.eu01.onstackit.cloud/[FOLDER_NAME]/[DATABASE_FILENAME_8].bak', @s3_access_key_id = 'abc123', @s3_secret_key_id = 'xyz321'
-