Rename-MssqlDatabase

EulandaXtools — Funktionsreferenz

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'

VERWANDTE LINKS

https://learn.microsoft.com/sql/t-sql/statements/alter-database-transact-sql

HINWEISE