Warum ich das mache
Du kennst das: Eine Bestellung trifft ein.
Ein Status Àndert sich.
Ein Schwellenwert wird ĂŒberschritten.
Und dann?
Nichts.
AuĂer jemand merkt’s.
Mit Power Automate lÀsst sich das automatisieren.
Direkt aus SQL Server raus.
Ganz ohne Dritttools.
Die Integration in SQL Server 2025 macht’s einfacher.
1. Idee: SQL feuert HTTP an Power Automate
Ein Flow in Power Automate startet ĂŒber einen HTTP Request Trigger.
Der SQL Server stöĂt diesen Request per T-SQL an.
Die Daten ĂŒbergibst Du per JSON.
Das reicht fĂŒr:
- Benachrichtigungen
- SharePoint-Updates
- Teams-Postings
- oder weitere SQL-Aktionen
2. Power Automate vorbereiten
Trigger: HTTP Request
Erstelle einen neuen Flow mit dem Auslöser:
„When an HTTP request is receivedâ
Power Automate generiert eine URL – die brauchst Du spĂ€ter.
Beispiel-Schema:
{
"type": "object",
"properties": {
"bestellnummer": { "type": "string" },
"wert": { "type": "number" },
"kunde": { "type": "string" }
}
}
3. SQL Server: Webhook per T-SQL auslösen
Beispiel: Bestellung ĂŒberschreitet Wertgrenze
DECLARE @json NVARCHAR(MAX) = N'
{
"bestellnummer": "B-2025-073",
"wert": 4599.99,
"kunde": "Meyer GmbH"
}'
DECLARE @url NVARCHAR(500) = N'https://prod-12.westeurope.logic.azure.com:443/...'
EXEC sp_invoke_external_rest_endpoint
@url = @url,
@method = 'POST',
@headers = N'{"Content-Type":"application/json"}',
@payload = @json;
Voraussetzung
Du brauchst das neue SQL-Feature sp_invoke_external_rest_endpoint
aus SQL Server 2025.
Kein CLR, kein Shell-Script, kein SQL Agent Hack.
Endlich offiziell.
4. Alternative: SQL Agent Job + PowerShell
Falls Du noch kein SQL 2025 hast, geht’s auch so:
EXEC msdb.dbo.sp_add_jobstep
@job_name = 'WebhookCall',
@step_name = 'Call Flow',
@subsystem = 'PowerShell',
@command = 'Invoke-RestMethod -Uri "https://..." -Method Post -Body "{""kunde"":""Test""}" -ContentType "application/json"'
5. Trigger automatisch auslösen
Ich nutze dafĂŒr oft eine einfache Audit-Tabelle:
CREATE TABLE workflow_trigger (
id INT IDENTITY(1,1),
typ VARCHAR(50),
daten NVARCHAR(MAX),
status VARCHAR(20) DEFAULT 'offen',
angelegt_am DATETIME DEFAULT GETDATE()
);
Dann frage ich alle offenen ab und feuere sie in einer Warteschleife ab.
Beispiel: Stored Procedure fĂŒr Massenverarbeitung
DECLARE @url NVARCHAR(500) = 'https://...'
DECLARE @daten NVARCHAR(MAX)
DECLARE @id INT
DECLARE trigger_cursor CURSOR FOR
SELECT id, daten FROM workflow_trigger WHERE status = 'offen'
OPEN trigger_cursor
FETCH NEXT FROM trigger_cursor INTO @id, @daten
WHILE @@FETCH_STATUS = 0
BEGIN
BEGIN TRY
EXEC sp_invoke_external_rest_endpoint
@url = @url,
@method = 'POST',
@headers = N'{"Content-Type":"application/json"}',
@payload = @daten;
UPDATE workflow_trigger SET status = 'gesendet' WHERE id = @id
END TRY
BEGIN CATCH
UPDATE workflow_trigger SET status = 'fehler' WHERE id = @id
END CATCH
FETCH NEXT FROM trigger_cursor INTO @id, @daten
END
CLOSE trigger_cursor
DEALLOCATE trigger_cursor
6. Kontrolle ĂŒber Power Automate
Im Flow kannst Du dann:
- prĂŒfen, ob das JSON korrekt ist
- das Ergebnis in eine SharePoint-Liste schreiben
- eine E-Mail oder Teams-Nachricht versenden
- die Antwort an SQL zurĂŒckschicken (z. B. via separatem Endpoint)
SQL Server 2025 spricht endlich offiziell HTTP.
Damit lÀsst sich Power Automate direkt aus SQL heraus ansprechen.
FĂŒr KMU ein groĂer Schritt – ohne teure Middleware.
Und Du brauchst keine Azure-Entwicklerkenntnisse, nur gutes T-SQL.
Wenn Du willst, teile ich Dir gern meine Flow-Vorlage und Beispieldatenbank.
Keine Antworten