- PowerShell 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Modul MSSQL und die Server-Skripte (Scripte/, .Vorlagen, ClusterHealthCheck, Database-Build-Directories, Eventhandler-Sync) samt Historie aus FOC-SQL übernommen (git filter-branch, Stand FOC-SQL 3f02b8b). Nicht übernommen: Scripte/KI, Scripte/Spiele, Scripte/Tests, Scripte/test.ps1. MSSQL_ToExport.ps1 schreibt jetzt ins Repo statt auf Samba und hält die GUID fest (ohne GUID vergab New-ModuleManifest bei jedem Lauf eine neue). README mit Profil-Snippet für die Server. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
| Module | ||
| Scripte | ||
| ClusterHealthCheck.ps1 | ||
| Database-Build-Directories-V2.ps1 | ||
| Database-Build-Directories.ps1 | ||
| Database-EventHandler-Sync.ps1 | ||
| Export-Tabellen-DatenToExcel.ps1 | ||
| README.md | ||
MSSQL
Server-Kit für den FailOverCluster FOC-SQL01: das PowerShell-Modul MSSQL, das auf den SQL-Servern läuft, und die Server-Skripte (Aufgabenplaner, nächtliche Sicherung, Wartung). Bis 2026-09-30 Teil von FOC-SQL; die Historie ist mit umgezogen.
Das Gegenstück auf dem Arbeitsplatz ist FOC-SQL: es baut eine PSSession zum
Server auf, importiert dort MSSQL und ruft dessen Funktionen
(Database-Backup-Restore, Database-DBCC-CHECKDB, …) auf. DTM spricht FOC-SQL
über DBMANAGER an.
Inhalt
| Pfad | Inhalt |
|---|---|
Module/MSSQL/ |
Modul MSSQL (MSSQL.psm1, MSSQL.psd1) |
Module/MSSQL_ToExport.ps1 |
Generator für MSSQL.psd1 (schreibt ins Repo) |
Scripte/ |
Server-Skripte: Database-All-*, Aufgabenplaner-Exporte (*.xml), Eventhandler |
Scripte/.Vorlagen/ |
Vorlagen für die Pro-Datenbank-Skripte unter …\MS-SQL\Powershell\Datenbanken\<DB> |
ClusterHealthCheck.ps1 |
wird nach C:\MSSQL_TEMP auf dem Server gelegt und von Get-ClusterHealthStatus gestartet |
Database-Build-Directories*.ps1, Database-EventHandler-Sync.ps1, Export-Tabellen-DatenToExcel.ps1 |
Einrichtung und Hilfsskripte |
Ablage und Profil auf den Servern
Auf Samba als Klon neben den anderen Modul-Repos:
\\samba01\542$\5424_IT-Basis-Dienste\MS-SQL\Powershell\Module\
DBMANAGER\ FOC-SQL\ MSSQL\ MySQL-MariaDB\ ORACLE\
Aktualisieren per git pull im Klon. PowerShell-Profil auf jedem SQL-Server
(notepad $PROFILE):
$Path = ($env:PSModulePath -split ';')[0]
$Module = "\\samba01\542$\5424_IT-Basis-Dienste\MS-SQL\Powershell\Module\MSSQL\Module\MSSQL"
Copy-Item -Path $Module -Destination $Path -Recurse -Force
Import-Module MSSQL
Das Modul liegt im Klon eine Ebene tiefer (MSSQL\Module\MSSQL) – ein Profil,
das den Klon-Ordner selbst kopiert, findet kein Modul.
Version halten – sonst VERSION_MISMATCH
FOC-SQL prüft vor jedem Aufruf, ob MSSQL auf dem Server mindestens
$script:RequiredMssqlVersion hat, und bricht sonst mit VERSION_MISMATCH ab.
Bei jeder Änderung an MSSQL deshalb:
Module/MSSQL/MSSQL.psm1– Funktion bzw. SignaturModule/MSSQL/MSSQL.psd1–ModuleVersionundFunctionsToExportModule/MSSQL_ToExport.ps1– Generator- in FOC-SQL
$script:RequiredMssqlVersionauf die neue Mindestversion
Danach muss auf jedem Server einmal eine PowerShell-Sitzung geöffnet werden, damit das Profil die neue Version holt.
Offen
Database-EventHandler-Sync.ps1 erwartet das Modul standardmäßig noch unter
…\MS-SQL\Powershell\MSSQL.psm1 (Parameter -ModulePath). Ob dieser Pfad
weiter gepflegt wird oder auf den Klon zeigen soll, ist nicht geklärt.