View a markdown version of this page

Automatisieren Sie Datenbankaufgaben in SQL Server Express auf Amazon EC2 mithilfe eines AWS Lambda Taskplaners - AWS Prescriptive Guidance

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Automatisieren Sie Datenbankaufgaben in SQL Server Express auf Amazon EC2 mithilfe eines AWS Lambda Taskplaners

Subhani Shaik, Amazon Web Services

Zusammenfassung

Dieses Muster zeigt, wie Datenbankaufgaben in der SQL Server Express Edition, der kostenlosen Version von SQL Server, geplant und verwaltet werden. In der SQL Server Express Edition fehlt jedoch der SQL Server Agent-Dienst, der in der Regel automatisierte Datenbankvorgänge abwickelt. Dieses Muster erklärt, wie Sie Task Scheduler und AWS Lambda als Alternative zur Automatisierung von Datenbankaufgaben in der SQL Server Express Edition verwenden können, die auf einer Amazon Elastic Compute Cloud (Amazon EC2) -Instance ausgeführt wird.

Task Scheduler ist ein integriertes Windows-Systemdienstprogramm, das die automatische Ausführung von Routineaufgaben erleichtert. Es bietet einen Mechanismus zur Planung und Verwaltung automatisierter Vorgänge, sodass kein manuelles Eingreifen in wiederkehrende Prozesse erforderlich ist. AWS Lambdaist ein serverloser Computerdienst, der automatisch Code als Reaktion auf Ereignisse ausführt, ohne dass Sie die zugrunde liegende Infrastruktur verwalten müssen.

Voraussetzungen und Einschränkungen

Voraussetzungen

  • Ein aktiver AWS-Konto

  • Eine virtuelle private Cloud (VPC), die mit Amazon Virtual Private Cloud (Amazon VPC) erstellt wurde

  • Eine Amazon EC2 EC2-Instance mit Windows Server

  • Amazon Elastic Block Store (Amazon EBS) -Volumes, die an eine Amazon EC2 EC2-Instance mit Windows Server angehängt sind

  • Binärdateien der SQL Server Express Edition

Einschränkungen

  • Informationen zu den Funktionseinschränkungen der SQL Server Express Edition finden Sie auf der Microsoft-Website.

  • Einige AWS-Services sind nicht in allen verfügbar AWS-Regionen. Informationen zur Verfügbarkeit in den einzelnen Regionen finden Sie unter AWS Dienste nach Regionen. Informationen zu bestimmten Endpunkten finden Sie unter Dienstendpunkte und Kontingente. Wählen Sie dort den Link für den Dienst aus.

Produktversionen

  • SQL Server 2016 oder höher mit SQL Server Express Edition

Architektur

Das folgende Diagramm zeigt eine Amazon EC2 EC2-Instance, auf der die SQL Server Express Edition installiert ist. Auf die Instance kann über den Remote Desktop Protocol (RDP) -Client oder über zugegriffen werden. AWS Systems Manager Session Manager AWS Key Management Service (AWS KMS) übernimmt die Datenverschlüsselung für die Amazon EBS-Volumes, um die data-at-rest Sicherheit zu gewährleisten. Zur Infrastruktur gehört auch AWS Identity and Access Management (IAM), das die Zugriffskontrolle ermöglicht und die Berechtigungen für die Ausführung von Lambda-Funktionen verwaltet. Amazon Simple Storage Service (Amazon S3) speichert Lambda-Funktionen.

Eine Amazon EC2 EC2-Instance, die mit der SQL Server Express Edition ausgeführt wird und in einem privaten Subnetz installiert ist.

Tools

AWS-Services

  • Amazon Elastic Block Store (Amazon EBS) bietet Volumes für die Speicherung auf Blockebene, die in Verbindung mit Amazon-EC2-Instances verwendet werden.

  • Amazon Elastic Compute Cloud (Amazon EC2) bietet sichere und skalierbare Rechenkapazität in der AWS Cloud. Sie können so viele virtuelle Server wie nötig nutzen und sie schnell nach oben oder unten skalieren.

  • AWS Identity and Access Management (IAM) hilft Ihnen dabei, den Zugriff auf Ihre AWS Ressourcen sicher zu verwalten, indem kontrolliert wird, wer authentifiziert und autorisiert ist, diese zu verwenden.

  • AWS Key Management Service (AWS KMS) hilft Ihnen dabei, kryptografische Schlüssel zu erstellen und zu kontrollieren, um Ihre Daten zu schützen.

  • AWS Lambda ist ein Datenverarbeitungsservice, mit dem Sie Code ausführen können, ohne dass Sie Server bereitstellen oder verwalten müssen. Es führt Ihren Code nur bei Bedarf aus und skaliert automatisch, sodass Sie nur für die tatsächlich genutzte Rechenzeit zahlen.

  • Amazon Simple Storage Service (Amazon S3) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt.

  • AWS Systems Manager Session Managerist ein vollständig verwaltetes AWS Systems Manager Tool. Mit Session Manager können Sie Ihre Amazon EC2 EC2-Instances, Edge-Geräte, lokalen Server und virtuellen Maschinen () VMs verwalten.

  • Amazon Virtual Private Cloud (Amazon VPC) hilft Ihnen dabei, AWS Ressourcen in einem von Ihnen definierten virtuellen Netzwerk bereitzustellen. Dieses virtuelle Netzwerk entspricht einem herkömmlichen Netzwerk, wie Sie es in Ihrem Rechenzentrum betreiben würden, mit den Vorteilen der Verwendung der skalierbaren Infrastruktur von AWS.

Andere Tools

  • Microsoft SQL Server Management Studio (SSMS) ist ein Tool für die Verwaltung von SQL Server, einschließlich des Zugriffs auf, der Konfiguration und der Verwaltung von SQL Server-Komponenten.

  • Python ist eine Allzweck-Computerprogrammiersprache. Sie können damit Anwendungen erstellen, Aufgaben automatisieren und Dienste auf dem entwickeln. AWS Cloud

  • Task Scheduler ist ein Microsoft-Tool, mit dem Sie Routineaufgaben auf Ihrem Computer automatisch planen können.

Best Practices

Epen

AufgabeDescriptionErforderliche Fähigkeiten

Stellen Sie eine Amazon EC2 EC2-Instance bereit.

Um eine Amazon EC2 EC2-Instance zu erstellen, öffnen Sie die Amazon EC2 EC2-Konsole unter https://console.aws.amazon.com/ec2/und wählen Sie ein Amazon Machine Image (AMI) aus der Liste der für Windows Server verfügbaren Instances aus.

Weitere Informationen finden Sie in der AWS Dokumentation unter Starten einer Amazon EC2 EC2-Instance.

DBA, AWS DevOps

Installieren Sie die SQL Server Express Edition.

Gehen Sie wie folgt vor, um die SQL Server Express Edition zu installieren:

  1. Um eine Verbindung zu Ihrer Amazon EC2 EC2-Instance herzustellen, wählen Sie eine Option:

  2. Um die erforderliche SQL Server Express-Edition herunterzuladen, gehen Sie auf der Microsoft-Website zu SQL Server-Downloads.

  3. Um die SQL Server Express Edition zu installieren, folgen Sie den Anweisungen unter Planen einer SQL Server-Installation auf der Microsoft-Website.

DBA, AWS DevOps
AufgabeDescriptionErforderliche Fähigkeiten

Identifizieren Sie Routineaufgaben.

Identifizieren Sie die Routineaufgaben, die Sie automatisieren möchten. Beispielsweise kommen die folgenden Aufgaben für eine Automatisierung in Frage:

  • Datenbanksicherungen (vollständige Backups, differenzielle Backups und Transaktionslog-Backups)

  • Wartung und Reorganisation des Indexes

  • Aktualisierungen der Statistiken

  • Anwendungsspezifische Operationen

  • Bereinigung oder Archivierung von Daten

DBA

Bereiten Sie SQL-Skripten vor.

Gehen Sie wie folgt vor, um SQL-Skripten vorzubereiten:

  1. Erstellen Sie SQL-Abfragen für jede Wartungsaufgabe. Im Folgenden finden Sie ein Beispiel für eine T-SQL-Abfrage zur Durchführung einer bestimmten Datenbanksicherung: Backup Database <Database_Name> To Disk='C:\Backups\Database_Name.bak'

  2. Speichern Sie die Skriptdatei unter. <File Name>.sql Speichern Sie die Skripts anschließend an einem zugänglichen Ort auf dem lokalen Laufwerk des Servers auf der Amazon EC2 EC2-Instance oder einer Netzwerk-Dateifreigabe.

DBA

Konfigurieren Sie die Zugriffsberechtigungen.

Gehen Sie wie folgt vor, um Zugriffsberechtigungen zu konfigurieren:

  1. Legen Sie die entsprechenden Dateisystemberechtigungen fest. Anweisungen finden Sie auf der Microsoft-Website unter Dateisystemberechtigungen für den Zugriff auf das Datenbankmodul konfigurieren.

  2. Stellen Sie sicher, dass das SQL Server-Dienstkonto über den erforderlichen Zugriff verfügt. Anweisungen finden Sie unter Konfigurieren von Windows-Dienstkonten und Berechtigungen auf der Microsoft-Website.

  3. Überprüfen Sie die Netzwerkkonnektivität für Remote-Shares. Weitere Informationen finden Sie in der AWS Dokumentation unter Zugreifen auf Daten mithilfe von Dateifreigaben.

DBA
AufgabeDescriptionErforderliche Fähigkeiten

Erstellen Sie Batch-Dateien.

  • Um eine Batch-Datei zu erstellen, verwenden Sie einen Texteditor, um den folgenden Befehl einzugeben. Ersetzen Sie die Parameter username und password durch Ihre eigenen Werte. Speichern Sie dann die Datei unter<Name>.bat.

sqlcmd -S servername -U username -P password -i <T-SQL query path.sql>
  • Um eine Batchdatei für SQL-Aufgaben zu erstellen, verwenden Sie einen Texteditor und geben Sie die folgenden Befehle ein. Ersetzen Sie die Parameter ServerNameDatabaseName,username, und password durch Ihre eigenen Werte. Speichern Sie dann die Datei unter<Name>.bat.

@echo off sqlcmd -S [ServerName] -d [DatabaseName] -U username -P password -i "PathToSQLScript\Script.sql" -o "PathToOutput\Output.txt"
AWS DevOps, DBA

Erstellen Sie Aufgaben im Taskplaner.

Gehen Sie wie folgt vor, um eine Aufgabe im Taskplaner zu erstellen:

  1. Um den Taskplaner zu öffnen, geben Sie taskschd.msc in die Windows-Suche ein.

  2. Wählen Sie das Menü Aktion und dann Einfache Aufgabe erstellen aus.

  3. Geben Sie unter Name einen Namen für die Aufgabe ein, und wählen Sie dann Weiter aus.

  4. Wählen Sie unter Trigger die Option aus, wann die Aufgabe gestartet werden soll, und wählen Sie dann Weiter aus.

  5. Geben Sie die Start - und Wiederholungsinformationen für die Aufgabe ein, und wählen Sie dann Weiter aus.

  6. Wählen Sie im Abschnitt Aktion die Option Programm starten und dann Weiter aus.

  7. Geben Sie für Programm/Script den Pfad für die Batch-Datei an, die Sie in der vorherigen Aufgabe erstellt haben, und wählen Sie dann Weiter.

  8. Wählen Sie Finish (Abschließen).

Um die Aufgabe manuell auszuführen, klicken Sie mit der rechten Maustaste auf die neu erstellte Aufgabe und wählen Sie dann Ausführen.

DBA

Aufgabenstatus anzeigen.

Gehen Sie wie folgt vor, um den Status einer Aufgabe im Taskplaner anzuzeigen:

  1. Gehen Sie im Taskplaner zur Taskplaner-Bibliothek, in der alle Aufgaben angezeigt werden.

  2. Um den Status der Aufgabe zu sehen, die Sie zuvor erstellt haben, wählen Sie die Aufgabe aus und wechseln Sie dann zur Registerkarte Verlauf.

DBA, AWS DevOps
AufgabeDescriptionErforderliche Fähigkeiten

Implementieren Sie die Lösung.

Gehen Sie wie folgt vor, um die Lösung dieses Musters zu implementieren:

  1. Erstellen Sie eine Lambda-Funktion. Anweisungen finden Sie in der AWS Dokumentation unter Erstellen Sie Ihre erste Lambda-Funktion.

  2. Planen Sie die Lambda-Funktion. Anweisungen finden Sie in der Dokumentation unter Eine Lambda-Funktion nach einem Zeitplan aufrufen. AWS

  3. Führen Sie T-SQL-Abfragen aus. Weitere Informationen finden Sie in der AWS Dokumentation unter Tutorial: Verwenden einer Lambda-Funktion für den Zugriff auf eine Amazon RDS-Datenbank. Das Tutorial erklärt, wie Sie Amazon RDS-Datenbanken von Lambda-Funktionen aus verbinden, um SQL-Abfragen auszuführen.

AWS DevOps, DevOps Ingenieur

Fehlerbehebung

ProblemLösung

Lambda-Probleme

Hilfe zu Fehlern und Problemen, die bei der Verwendung auftreten können AWS Lambda, finden Sie in der AWS Dokumentation unter Problembehandlung in Lambda.

Zugehörige Ressourcen