Benutzer-Werkzeuge

Webseiten-Werkzeuge


  • Deutsch (German)
  • English
  • Français (French)
de:technische-dokumentationen:technische-dokumentationen:srv-zh-sql-04:installationsprotokoll

Installationsprotokoll srv-zh-sql-04

Version Status Datum Author URL
0.1 Erster Entwurf 28.11.2024 Joel Meyer

1. Windows Server 2022 Standard installieren

  • Windows Server installieren
  • Servernamen setzen: SRV-ZH-SQL-04
  • Netzwerkkonfiguration vornehmen

2. Domänenbeitritt

  • Server der Domäne RAFISA.ORG hinzufügen.
  • Im DC den Server in die OU Rafisa-Servers-ZH verschieben:
    1. Pfad: rafisa.org > Rafisa OU-IFA > Rafisa-Computers > Rafisa-Servers > Rafisa-Servers-ZH.

3. MSSQL Express installieren

  • SQL Server Express herunterladen und installieren
  • Instanzname: SQLEXPRESS.
  • Authentifizierungsmodus: Mixed Mode.

4. SSMS installieren

  • SQL Server Management Studio (SSMS) herunterladen und installieren.
  • Verbindung testen: SRV-ZH-SQL-04\SQLEXPRESS.

5. Firewall konfigurieren

  • TCP-Port 1433 für Remotezugriff öffnen.
  • Remotezugriff aktivieren:
    1. Öffnen Sie den SQL Server Configuration Manager.
    2. Gehen Sie zu SQL Server Network Configuration > Protokolle für SQLEXPRESS.
    3. Aktivieren Sie TCP/IP.
    4. SQL Server-Dienst neu starten.

6. Benutzer und Rechte erstellen

  • In SSMS unter Security > Logins einen Benutzer hinzufügen:
    1. Benutzername: RAFISAORG\J.Meyer.
  • Rechte zuweisen:
    1. Unter User Mapping: DB Owner für die Datenbank Sunetplus_1 aktivieren.

7. SSH-Server installieren

  • OpenSSH Server über Einstellungen > Apps > Optionale Features installieren.
  • Dienst starten: services.msc > OpenSSH Server > Start.

8. Verzeichnisse erstellen

  • Ordner erstellen:
    1. C:\Scripts
    2. C:\SQLBackups

9. Backup-Skript hinzufügen

  • Speichern Sie folgendes PowerShell-Skript unter C:\Scripts\DumpAllDBs.ps1:
# DumpAllDBs.ps1
param (
    [string]$BackupDirectory = "C:\SQLBackups",
    [string]$ServerName = "SRV-ZH-SQL-04\SQLEXPRESS",
    [string]$Username = "***********",
    [string]$Password = "******************"
)

# Backup-Verzeichnis sicherstellen
if (!(Test-Path $BackupDirectory)) {
    New-Item -ItemType Directory -Force -Path $BackupDirectory | Out-Null
}

# Backup-Verzeichnis leeren
try {
    Get-ChildItem -Path $BackupDirectory -File | Remove-Item -Force
} catch {
    Write-Error "Fehler beim Leeren des Backup-Verzeichnisses: $_"
    exit 1
}

# Zeitstempel für Backups erstellen
$timestamp = Get-Date -Format "yyyyMMdd_HHmmss"

# SQL-Server-Modul laden
Import-Module SqlServer

# Verbindungs-String aufbauen
$connectionString = "Server=$ServerName;Encrypt=True;TrustServerCertificate=True;User ID=$Username;Password=$Password;"

# Datenbanken abrufen
try {
    $databases = Invoke-Sqlcmd -ConnectionString $connectionString -Query "
        SELECT name FROM sys.databases
        WHERE state = 0 AND name NOT IN ('master', 'model', 'msdb', 'tempdb');
    "
} catch {
    Write-Error "Fehler beim Abrufen der Datenbanken: $_"
    exit 1
}

# Backup für jede Datenbank erstellen
foreach ($db in $databases) {
    $dbName = $db.name
    $backupFile = Join-Path -Path $BackupDirectory -ChildPath "$($dbName)_$timestamp.bak"
    
    try {
        Invoke-Sqlcmd -ConnectionString $connectionString -Query "
            BACKUP DATABASE [$dbName]
            TO DISK = N'$backupFile'
            WITH INIT, NAME = N'$dbName Full Backup';
        "
    } catch {
        Write-Error "Fehler beim Backup der Datenbank '$dbName': $_"
    }
}

10. Prüfung

  • Remotezugriff auf SQL-Instanz testen.
  • Backup-Skript ausführen und prüfen, ob die Backups im Verzeichnis C:\SQLBackups liegen.
de/technische-dokumentationen/technische-dokumentationen/srv-zh-sql-04/installationsprotokoll.txt · Zuletzt geändert: 2024/12/06 11:42 von e.rueefli