Rename Mssql Database
Zuletzt geändert: 14.03.2026 05:56

Rename-MssqlDatabase #

ÜBERSICHT #

Benennt eine SQL Server-Datenbank um – inklusive Anpassung der logischen und physischen Dateinamen.

SYNTAX #

Rename-MssqlDatabase [-SourceDatabase] <string> [-TargetDatabase] <string> [[-Provider] <string>]
    [-Server] <string> [[-User] <string>] [[-Password] <string>] [<CommonParameters>]

BESCHREIBUNG #

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.

PARAMETER #

-SourceDatabase #

Type: string

Name der bestehenden Datenbank, die umbenannt werden soll.

-TargetDatabase #

Type: string

Neuer 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: string

Name oder Instanz des SQL Servers (z. B. ‘.\SQL2022’).

-User #

Type: string

SQL-Benutzername. Wenn nicht gesetzt, wird Windows-Authentifizierung verwendet.

-Password #

Type: string

SQL-Kennwort. Wenn nicht gesetzt, wird Windows-Authentifizierung verwendet.

BEISPIELE #

# 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'

HINWEISE #

  • xp_cmdshell wird nur aktiviert, wenn nötig, und danach wieder deaktiviert.
  • Der SQL-Login benötigt ausreichende Rechte (ALTER DATABASE, Konfigurationsänderungen).
  • Die Datenbank wird temporär in den SINGLE_USER- und OFFLINE-Modus versetzt.
  • Die Funktion setzt voraus, dass die Datenbankdateien direkt umbenennbar sind (z. B. keine Sperre durch andere Prozesse).