EulandaXtools — Funktionsreferenz
Benennt eine SQL Server-Datenbank um – inklusive Anpassung der logischen und physischen Dateinamen.
Rename-MssqlDatabase [-SourceDatabase] <string> [-TargetDatabase] <string> [[-Provider] <string>]
[-Server] <string> [[-User] <string>] [[-Password] <string>] [<CommonParameters>]Diese Funktion führt eine vollständige Umbenennung einer Microsoft SQL Server-Datenbank durch. Neben dem reinen Datenbanknamen werden auch die zugehörigen logischen Dateinamen (MDF/LDF) und die physischen Dateien im Dateisystem umbenannt.
Ablauf:
1. Ermittlung der DB-ID und der bestehenden Dateinamen
2. Umbenennung der Datenbank per ALTER DATABASE
3. Anpassung der logischen Dateinamen
4. Wechsel in den OFFLINE-Modus
5. Umbenennung der MDF/LDF-Dateien per `xp_cmdshell`
6. Registrierung der neuen physischen Pfade
7. Rücksetzen von `xp_cmdshell`, falls temporär aktiviert
Die Funktion unterstützt sowohl SQL-Authentifizierung (User/Password) als auch Windows-Authentifizierung: Wenn `-User` und `-Password` nicht gesetzt sind, wird automatisch `Integrated Security=SSPI` verwendet.
Die Wahl des OLEDB-Providers erfolgt über den Parameter `-Provider`, z. B. `MSOLEDBSQL` für aktuelle SQL Server-Versionen.
-SourceDatabase
Type: stringName der bestehenden Datenbank, die umbenannt werden soll.
-TargetDatabase
Type: stringNeuer Name für die Datenbank (inkl. logischer und physischer Dateinamen).
-Provider
Type: string
Default: 'SQLOLEDB'OLEDB-Provider für die Verbindung (z. B. `SQLOLEDB` oder `MSOLEDBSQL`). Standard: `SQLOLEDB`.
-Server
Type: stringName oder Instanz des SQL Servers (z. B. '.\SQL2022').
-User
Type: stringSQL-Benutzername. Wenn nicht gesetzt, wird Windows-Authentifizierung verwendet.
-Password
Type: stringSQL-Kennwort. Wenn nicht gesetzt, wird Windows-Authentifizierung verwendet.
# Benennt die SQL Server-Datenbank 'Eulanda_Alt' in 'Eulanda_Neu' um. Dabei werden auch die MDF- und LDF-Dateien angepasst.
Rename-MssqlDatabase `
-SourceDatabase 'Eulanda_Alt' `
-TargetDatabase 'Eulanda_Neu' `
-Server '.\SQL2022' `
-User 'sa' `
-Password 'Geheim123'# Nutzt moderne Verbindung über MSOLEDBSQL und Windows-Authentifizierung zur Umbenennung der Datenbank.
Rename-MssqlDatabase `
-SourceDatabase 'EulandaTest' `
-TargetDatabase 'EulandaTestRenamed' `
-Server 'SQL01' `
-Provider 'MSOLEDBSQL'