PowerShell CLI Tool — Open Source

SQL Server Inplace Upgrade Tool

Vollständige Sicherung aller SQL Server Objekte vor dem Upgrade, saubere Deinstallation und zuverlässige Wiederherstellung nach der Neuinstallation — Logins, Linked Server, SSIS, SSRS und SSAS in einem Durchgang.

PowerShell 5.1 SQL Server 2016 → 2025 dbatools SSIS • SSRS • SSAS
Was wird gesichert?
✓ Vollständiges Backup aller relevanten SQL Server Objekte — strukturiert in Unterordner, versioniert mit Zeitstempel, bereit für den Restore.
🔑

SQL Logins

Alle Server-Logins inkl. Passwort-Hashes (dbatools Export) und T-SQL Fallback-Skript. Windows-Logins, SQL-Logins, Serverrollen.

🔗

Linked Server

CREATE LINKED SERVER + sp_addlinkedsrvlogin als T-SQL Skript. Inventar als CSV. Passwörter müssen nach Restore manuell gesetzt werden.

📦

SSIS Catalog (SSISDB)

Vollständiges SSISDB-Datenbankbackup. Inventar: Folders, Projects, Packages, Environments und Environment-Variablen als CSV.

📂

SSIS Legacy (msdb)

.dtsx-Dateien aus der SQL Server msdb exportiert. T-SQL Restore-Skript für Wiederherstellung in die neue Instanz.

📊

SSRS Reports

.rdl, .rds und .rsd Dateien mit vollständiger Ordnerstruktur. Konfigurationsdateien, Subscriptions und Berechtigungs-Inventar.

🧠

SSAS Cubes

.abf Backup-Dateien und XMLA-Definitionen. Unterstützt SSAS auf separatem Server via -SSASServer Parameter.

🔍

Dependency Check

Automatische Erkennung von Abhängigkeiten vor dem Upgrade. CSV-Report mit allen gefundenen Risiken.

📋

Backup Summary

backup_summary.json und SQLUpgrade_Report.log im Backup-Verzeichnis — vollständig dokumentiert für Audit und Nachverfolgung.

Features
📁

Strukturierte Ausgabe

Alle Backups in einem Verzeichnis mit Zeitstempel: YYYY-MM-DD_HHMMSS_INSTANZNAME\. Jede Komponente in eigenem Unterordner.

dbatools Integration

Login-Export mit Passwort-Hashes über dbatools — keine manuellen T-SQL Skripte nötig. Fallback-Skript wird zusätzlich generiert.

🔧

Interaktiver Restore

Start-SQLUpgradeRestore.ps1 fragt ab, welche Komponenten wiederhergestellt werden sollen — volle Kontrolle beim Restore.

🖥

Uninstall-Automation

Saubere Deinstallation der alten SQL Server Version per setup.exe /ACTION=Uninstall — automatisch aus dem Backup-Set heraus.

📝

Upgrade Runbook

SQL_Server_Upgrade_Runbook.docx im GitHub Repository — Schritt-für-Schritt Anleitung für den kompletten Upgrade-Prozess.

🔓

Open Source

Vollständiger Quellcode auf GitHub. MIT-Lizenz. Keine Telemetrie, kein Tracking, keine versteckten Abhängigkeiten.

Systemvoraussetzungen
Komponente Anforderung Hinweis
PowerShell 5.1 oder höher ✓ Pflicht
dbatools Install-Module dbatools ✓ Pflicht
SQL Server Rechte sysadmin auf der SQL Instanz ✓ Pflicht
Windows Rechte Lokaler Administrator auf dem Server ✓ Pflicht
SQL Server Version 2016, 2017, 2019, 2022, 2025 ✓ Alle unterstützt
SSAS (optional) Microsoft.AnalysisServices Assembly Mit SSMS oder SSAS installiert
Ausführungsrichtlinie Set-ExecutionPolicy RemoteSigned Einmalig setzen
Upgrade-Ablauf
ℹ Der Ablauf ist sequenziell: Jeder Schritt baut auf dem vorherigen auf. Das Backup-Verzeichnis verbindet alle vier Phasen miteinander.
1

Backup — Start-SQLUpgradeBackup.ps1

Sichert alle SQL Server Objekte: Logins, Linked Server, SSIS (Legacy + Catalog), SSRS und SSAS. Erstellt ein vollständiges, versioniertes Backup-Verzeichnis. Dependency-Check wird automatisch durchgeführt.

2

Deinstallation — Start-SQLUpgradeUninstall.ps1

Deinstalliert den alten SQL Server sauber per setup.exe. Das Backup-Verzeichnis wird als Referenz angegeben, um sicherzustellen, dass der Backup-Schritt abgeschlossen wurde.

3

Neue SQL Server Version installieren (manuell)

Installation der Zielversion mit dem SQL Server Setup-Assistenten oder per Kommandozeile. Dieser Schritt erfolgt manuell gemäß dem beiliegenden Upgrade Runbook.

4

Restore — Start-SQLUpgradeRestore.ps1

Interaktive Wiederherstellung aller gesicherten Objekte auf die neue SQL Server Version. Das Tool fragt ab, welche Komponenten restored werden sollen — SSIS, SSRS, SSAS, Logins und Linked Server.

Beispiele
PowerShell — Backup (Standard-Instanz)
# Backup der Standard-Instanz auf localhost 
.\Start-SQLUpgradeBackup.ps1 
 
# Ergebnis: C:\SQLUpgrade_Backup\2024-01-15_143022_MSSQLSERVER\
PowerShell — Backup (benannte Instanz, eigener Pfad)
.\Start-SQLUpgradeBackup.ps1 ` 
-SqlInstance 'SRV-SQL01\SQL2019' ` 
-InstanceName 'SQL2019' ` 
-OutputBaseDir 'D:\Upgrade_Backup' ` 
-SkipSSAS
PowerShell — Deinstallation
.\Start-SQLUpgradeUninstall.ps1 ` 
-InstanceName MSSQLSERVER ` 
-BackupSetPath 'C:\SQLUpgrade_Backup\2024-01-15_143022_MSSQLSERVER'
PowerShell — Restore nach Neuinstallation
.\Start-SQLUpgradeRestore.ps1 ` 
-SqlInstance localhost ` 
-BackupSetPath 'C:\SQLUpgrade_Backup\2024-01-15_143022_MSSQLSERVER'
PowerShell — dbatools installieren (einmalig)
# Voraussetzung: dbatools installieren 
Install-Module dbatools -Scope CurrentUser
Wichtige Hinweise
⚠ Linked Server Passwörter: SQL Server erlaubt keinen Export von Linked Server Passwörtern. Diese müssen nach dem Restore manuell gesetzt werden. Das Inventar-CSV dokumentiert alle Linked Server zur Vorbereitung.
⚠ Verschlüsselte SSIS-Pakete: Pakete mit EncryptSensitiveWithPassword oder EncryptAllWithPassword benötigen das Original-Passwort für die Wiederherstellung.
⚠ SSISDB Catalog-Passwort: Das Master Key Passwort der SSISDB muss für den Restore bekannt sein.
ℹ SSRS Subscriptions: Delivery-Passwörter für Subscriptions werden nicht exportiert. Das Subscriptions-Inventar (SSRS_Subscriptions_Inventar.csv) dokumentiert alle Subscriptions für manuelle Neuerstellung.
ℹ SSAS auf separatem Server: Den Parameter -SSASServer entsprechend setzen. Die .abf-Backup-Dateien liegen im BackupDir des SSAS-Servers.
Backup-Verzeichnisstruktur
Ausgabe-Struktur
C:\SQLUpgrade_Backup\ 
└── YYYY-MM-DD_HHMMSS_INSTANZNAME\ 
├── Logins\ 
│ ├── Logins_Export.sql (dbatools, inkl. Passwort-Hashes) 
│ ├── Logins_Manual.sql (T-SQL Fallback) 
│ └── Logins_Inventar.csv 
├── LinkedServers\ 
│ ├── LinkedServers.sql (CREATE + sp_addlinkedsrvlogin) 
│ └── LinkedServers_Inventar.csv 
├── SSIS_Legacy\ (msdb Pakete) 
├── SSIS_Catalog\ (SSISDB Backup + Inventar CSVs) 
├── SSRS\ (.rdl/.rds Dateien + Konfiguration) 
├── SSAS\ (.abf Backups + XMLA Definitionen) 
├── Dependencies\ 
│ └── Dependencies_Report.csv 
├── Backup_Summary.json 
└── SQLUpgrade_Report.log

SQL Server Upgrade ohne Datenverlust

SQL Server Inplace Upgrade Tool ist Open Source — kostenlos, keine Registrierung, kein Telemetry.

Nächster SQL Server AlwaysOn Availability Groups Automation 2026
Cookies user preferences
We use cookies to ensure you to get the best experience on our website. If you decline the use of cookies, this website may not function as expected.
Accept all
Decline all
Analytics
Tools used to analyze the data to measure the effectiveness of a website and to understand how it works.
Google Analytics
Advertisement
If you accept, the ads on the page will be adapted to your preferences.
Google Ad
Save