blank
|

Danke für das große Interesse an meiner dbatools-Session auf den SQLDays 2025!

This post might contain affiliate links. We may earn a commission if you click and make a purchase. Your support is appreciated!

Ich möchte mich herzlich für die großartige Teilnahme und das viele positive Feedback zu meiner Session
„Tägliche DBA-Aufgaben clever automatisieren – mit dbatools“ auf den SQLDays 2025 in Erding bedanken!

Es war großartig zu sehen, wie viel Begeisterung das Thema PowerShell + SQL Server Administration inzwischen in der Community weckt – und wie viele von euch bereits eigene Automatisierungsansätze umsetzen.


💡 Nachtrag zur Demo – COPY-DbaDatabase und Berechtigungen

Während der Live-Demo kam es beim Befehl

Copy-DbaDatabase -Source SQL2019 -Destination SQL2022 -Database AdventureWorks -BackupRestore<br>

zu einer Fehlermeldung bezüglich fehlender Zugriffsrechte auf das Netzwerk-Share.

Das war kein Fehler im Modul, sondern ein klassischer Praxisfall:
Der Quell-SQL-Server lief in meiner Demo-Umgebung mit einem lokalen Dienstkonto (NT SERVICE\MSSQLSERVER), der Ziel-SQL-Server hingegen mit einem anderen lokalen Konto – ohne gemeinsame Domäne und ohne Freigaberechte. Dadurch konnte der SQL-Dienst des Quellservers keine Backupdateien auf den Zielserver schreiben.

🔧 Lösung / Best Practice:

Wenn ihr Copy-DbaDatabase mit -BackupRestore zwischen unterschiedlichen Servern nutzt,
sollten beide SQL-Server-Dienste mit einem Domänen-Servicekonto laufen, das auf das gemeinsame Share Zugriff hat.

Alternativ:

  • -SharedPath angeben, auf das beide Server Zugriff haben
  • oder Copy-DbaDatabase lokal auf dem Zielserver ausführen

Dann klappt’s auch ohne Fehlermeldung 😉


⚙️ Das Demo-Skript aus der Session

Hier das vollständige, bereinigte PowerShell-Demo-Skript, das ich live auf den SQLDays gezeigt habe:

# ============================================================
# SQLDays 2025 - dbatools Demo Script
# Speaker: Björn Peters | CraftedSQL
# ============================================================

# Module laden
Import-Module dbatools

# Demo-Variablen
$Source = "SQL2019"
$Target = "SQL2022"
$BackupPath = "C:\temp\backups"

# 1. Quick Wins ------------------------------------------------
Write-Host "== Quick Wins ==" -ForegroundColor Cyan

# Backups prüfen
Test-DbaLastBackup -SqlInstance $Source | Format-Table Database, LastFullBackup, IsFullBackupValid

# Orphaned Users finden
Get-DbaDbOrphanUser -SqlInstance $Source

# Cmdlets entdecken
Find-DbaCommand backup

# 2. Migration -------------------------------------------------
Write-Host "== Migration ==" -ForegroundColor Cyan

# Logins kopieren
Copy-DbaLogin -Source $Source -Destination $Target -Login "DemoUser" -Force

# Datenbank migrieren (Best Practice: Domänenkonto!)
Copy-DbaDatabase -Source $Source -Destination $Target -Database "AdventureWorks" `
    -BackupRestore `
    -SharedPath "\\shared\sqlbackups" `
    -UseLastBackup `
    -Verbose

# 3. Health Check / Dokumentation ------------------------------
Write-Host "== Health Check ==" -ForegroundColor Cyan

Export-DbaDiagnosticQuery -SqlInstance $Target -Path "C:\temp\Health_$Target"

# 4. Übersicht / Kontrolle -------------------------------------
Write-Host "== Ergebnis prüfen ==" -ForegroundColor Cyan

Get-DbaDatabase -SqlInstance $Target | Select Name, SizeMB, RecoveryModel | Format-Table

🧰 Hinweis

Das Skript läuft out-of-the-box, wenn beide Server:

  • in einer gemeinsamen Domäne sind,
  • mit Service-Accounts laufen, die Zugriff auf das angegebene Share haben.

Wenn du in einer Testumgebung arbeitest, kannst du alternativ -NetworkCredential oder -SqlCredential einsetzen.


🤝 Fazit

dbatools zeigt jedes Jahr aufs Neue, wie viel Potenzial in Automatisierung steckt –
und dass selbst kleine Skripte den Alltag eines DBAs erheblich erleichtern können.

Vielen Dank an alle, die live dabei waren und im Anschluss Fragen gestellt haben.
Ich freue mich auf die nächste Gelegenheit, gemeinsam mit euch tiefer in die Welt von PowerShell und SQL Server einzutauchen!

This post might contain affiliate links. We may earn a commission if you click and make a purchase. Your support is appreciated!

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden.