Text-to-SQL: KI-Abfragen auf Unternehmensdatenbanken absichern
Timo Wevelsiep•Aktualisiert: 30.09.2026Hinweis zum Inhalt: Versionen, Befehle und Preise können sich ändern. Bitte prüfen Sie kritische Schritte vor dem produktiven Einsatz eigenständig. Dieser Leitfaden ersetzt keine individuelle Beratung.
Datenbankabfragen in natürlicher Sprache, ohne dem Modell die Datenbank zu öffnen? WZ-IT baut KI-Agenten und Assistenten, die freigegebene Daten über eingeschränkte Rollen, Views und geprüfte Abfragen lesen, betrieben auf eigener Infrastruktur. Der KI-Potenzialcheck prüft vorab Prozess, Datenquellen, Rechte und Risiken. KI-Agenten ansehen · Gespräch vereinbaren
Text-to-SQL lässt ein Sprachmodell aus einer Frage wie „Welche Kunden haben im dritten Quartal mehr als 50.000 € umgesetzt?" eine SQL-Abfrage erzeugen und gegen die Datenbank ausführen. Das ist für ERP-, CRM- und Controlling-Daten naheliegend, denn die Antworten liegen dort nicht in Texten, sondern in Tabellen. Die Schwierigkeit liegt an zwei Stellen: Das Modell muss das Schema richtig verstehen, und es darf mit der Datenbank nichts tun, was niemand freigegeben hat. Dieser Artikel erklärt die Architektur, die Rechte in PostgreSQL, die Rolle von MCP-Connectoren und die Messung der Qualität. Stand September 2026.
Inhaltsverzeichnis
- Wie Text-to-SQL funktioniert
- Benchmarks und Praxis: Spider und BIRD
- Die Pipeline: Kontext, Erzeugung, Prüfung, Ausführung
- Datenbankrechte als eigentliche Grenze
- Views als semantische Schicht
- Freies SQL oder vordefinierte Abfragen
- MCP-Datenbank-Connectoren
- Risiken: Prompt Injection, Datenabfluss, Last
- Qualität messen
- Lokales Modell und Betrieb
Wie Text-to-SQL funktioniert
Das Sprachmodell erhält drei Dinge: die Frage, eine Beschreibung der verfügbaren Tabellen und Spalten und Anweisungen zum SQL-Dialekt. Daraus schreibt es eine Abfrage. Die Anwendung führt sie aus und gibt das Ergebnis zurück, als Tabelle oder in einem Satz zusammengefasst.
Der Unterschied zu RAG ist grundsätzlich. RAG sucht Textabschnitte und lässt das Modell daraus formulieren. Bei Text-to-SQL rechnet die Datenbank. Summen, Durchschnitte und Zählungen sind exakt, sofern die Abfrage stimmt. Genau darin liegt das Risiko: Eine falsche Abfrage liefert eine falsche Zahl, die genauso überzeugend aussieht wie eine richtige.
| Frage | Passender Weg | Grund |
|---|---|---|
| Umsatz je Region im letzten Quartal | Text-to-SQL | Aggregation über strukturierte Daten |
| Offene Aufträge eines Kunden | Text-to-SQL oder vordefinierte Abfrage | Filter auf bekannte Felder |
| Was regelt der Rahmenvertrag zur Kündigung? | RAG | Antwort steht in einem Dokument |
| Warum ist der Umsatz gesunken? | Weder noch allein | Erfordert Interpretation, Daten liefern nur Hinweise |
Benchmarks und Praxis: Spider und BIRD
Zwei Benchmarks prägen die Diskussion. Ihre Zahlen zeigen vor allem, wie stark die Ergebnisse vom Schwierigkeitsgrad der Datenbanken abhängen.
| Benchmark | Umfang | Was er misst | Kennzahl |
|---|---|---|---|
| Spider 1.0 (EMNLP 2018) | 10.181 Fragen, 5.693 SQL-Abfragen, 200 Datenbanken, 138 Domänen | Übertragung auf unbekannte Schemata | o1-preview: 91,2 % |
| BIRD (NeurIPS 2023) | 12.751 Frage-SQL-Paare, 95 Datenbanken, 33,4 GB, 37 Fachgebiete | Unsaubere Daten, externes Fachwissen, Effizienz | Mensch 92,96 %, bestes System 82,95 % (Stand Oktober 2026) |
| Spider 2.0 (ICLR 2025) | 632 Aufgaben aus Unternehmensumgebungen, Datenbanken oft mit über 1.000 Spalten | BigQuery, Snowflake, SQLite, Abfragen oft über 100 Zeilen | o1-preview: 21,3 % |
Quellen der Bestwerte: BIRD-Leaderboard, Spider-Werte aus dem Spider-2.0-Paper, das o1-preview auf allen drei Benchmarks vergleicht (73,0 % auf BIRD).
Daraus folgen zwei Punkte für die Praxis. Erstens sinkt die Trefferquote deutlich, sobald Schemata groß, unsauber und fachlich aufgeladen sind, also genau so wie in gewachsenen ERP-Systemen. Zweitens sind Benchmarkwerte öffentliche Datensätze, die Modelle beim Training gesehen haben können. Auf dem eigenen Schema entscheidet ein eigener Testsatz, nicht das Leaderboard.
Die Pipeline: Kontext, Erzeugung, Prüfung, Ausführung
Eine belastbare Text-to-SQL-Anwendung besteht aus mehr als einem Prompt. Bewährt hat sich ein Ablauf in fünf Schritten:
| Schritt | Aufgabe | Werkzeug oder Mechanismus |
|---|---|---|
| 1. Kontext | Relevante Tabellen, Spalten, Kommentare und Beispielabfragen auswählen | Schema-Beschreibung, bei großen Schemata Suche über Tabellenbeschreibungen |
| 2. Erzeugung | Modell schreibt genau eine SELECT-Abfrage | Systemprompt mit Dialekt, Regeln, Beispielen |
| 3. Prüfung | Abfrage parsen, Anweisungstyp und Tabellen prüfen, Limit erzwingen | SQL-Parser, Allowlist |
| 4. Ausführung | Abfrage mit eingeschränkter Rolle ausführen | Eigene Datenbankrolle, Zeitlimit, Zeilenlimit |
| 5. Ausgabe | Ergebnis und ausgeführte Abfrage anzeigen | Oberfläche mit SQL-Ansicht, Protokollierung |
Kontext. Ein Modell braucht nicht das ganze Schema, sondern die relevanten Tabellen mit verständlichen Beschreibungen. Spaltenkommentare (COMMENT ON COLUMN) und zwei, drei Beispielabfragen je Themenbereich verbessern die Ergebnisse spürbar. Bei Schemata mit Hunderten Tabellen wird die Auswahl selbst zur Suchaufgabe, ähnlich wie beim Retrieval in RAG.
Prüfung. Die erzeugte Abfrage wird vor der Ausführung geparst, nicht per Textsuche nach „DELETE" durchsucht. SQLGlot (MIT-Lizenz) ist ein Python-Parser für über 30 SQL-Dialekte, darunter PostgreSQL. Mit dem Syntaxbaum lassen sich die Regeln sauber prüfen: genau eine Anweisung, nur SELECT, nur Tabellen und Views aus der Allowlist, ein LIMIT wird ergänzt oder begrenzt. Ein EXPLAIN vor der Ausführung zeigt zusätzlich, ob eine Abfrage absehbar teuer wird.
Ausgabe. Die Anwendung zeigt die ausgeführte Abfrage mit an. Wer die Zahl verwendet, kann so nachvollziehen, welche Filter und Joins dahinterstehen. Das ist der wirksamste Schutz gegen plausibel aussehende Fehlergebnisse.
Datenbankrechte als eigentliche Grenze
Ein Sprachmodell kann jede SQL-Anweisung erzeugen. Prompt-Regeln wie „schreibe nur SELECT" senken die Wahrscheinlichkeit, verhindern aber nichts. Was tatsächlich passiert, entscheiden die Rechte der Datenbankrolle, unter der die Abfrage läuft. Diese Rolle ist deshalb die eigentliche Sicherheitsgrenze, alle anderen Maßnahmen ergänzen sie.
Ein Beispiel für PostgreSQL:
-- Eigenes Schema nur mit freigegebenen Views
CREATE SCHEMA ki;
CREATE ROLE ki_reader LOGIN PASSWORD '...';
GRANT USAGE ON SCHEMA ki TO ki_reader;
GRANT SELECT ON ALL TABLES IN SCHEMA ki TO ki_reader;
-- Keine Rechte auf Basistabellen in anderen Schemata vergeben
-- Komfort-Voreinstellungen, keine Sicherheitsgrenze
ALTER ROLE ki_reader SET default_transaction_read_only = on;
ALTER ROLE ki_reader SET statement_timeout = '15s';
Vier Details sind wichtig:
| Punkt | Hintergrund | Konsequenz |
|---|---|---|
| Sitzungsparameter | default_transaction_read_only und statement_timeout sind Voreinstellungen, die eine Sitzung selbst per SET ändern kann (PostgreSQL, Client Connection Defaults) |
Schutz kommt aus fehlenden Schreibrechten; SET-Anweisungen lehnt die Prüfung ab, das Zeitlimit setzt zusätzlich die Anwendung |
| Funktionen | PUBLIC erhält standardmäßig EXECUTE auf neue Funktionen und Prozeduren (PostgreSQL, Privileges) | Funktionen mit Nebenwirkungen, besonders SECURITY DEFINER, prüfen und EXECUTE gezielt entziehen |
| pg_read_all_data | Diese vordefinierte Rolle liest alle Tabellen, Views und Sequenzen (PostgreSQL, Predefined Roles) | Für Text-to-SQL ungeeignet, weil sie die Auswahl der Daten aufhebt |
| Row-Level Security | Views prüfen Rechte standardmäßig als Eigentümer der View; security_invoker (seit PostgreSQL 15) prüft als aufrufender Benutzer (PostgreSQL, CREATE VIEW) |
Wer RLS auf Basistabellen nutzt, setzt security_invoker = true, sonst greifen die Policies des Eigentümers |
Wo die Last auf der Produktivdatenbank stört, laufen die Abfragen auf einem Replikat. Verbindungen zu einem Hot Standby sind in PostgreSQL ausschließlich lesend, nicht einmal temporäre Tabellen lassen sich dort schreiben (PostgreSQL, Hot Standby). Für MySQL und MariaDB gilt dasselbe Prinzip mit eigenen Benutzern, die nur SELECT auf freigegebene Views erhalten.
Sollen Nutzer nur ihre eigenen Daten sehen, etwa ein Vertriebsmitarbeiter nur seine Region, gehört diese Einschränkung ebenfalls in die Datenbank: über RLS-Policies oder je Nutzergruppe getrennte Views. Dieselbe Regel beschreibt RAG mit Berechtigungen für Dokumente: Rechte greifen vor dem Modell, nicht in seinem Prompt.
Views als semantische Schicht
Rohtabellen sind für Menschen schon schwer zu lesen, für ein Modell erst recht. Spalten wie stat_cd, kz_storno oder dat_3 erklären sich nicht selbst, und viele Tabellen enthalten Altlasten, Testdaten oder Zwischenstände. Eine semantische Schicht übersetzt das in Begriffe, mit denen Fragen gestellt werden.
In der einfachsten Form sind das Views in einem eigenen Schema:
| Maßnahme | Wirkung |
|---|---|
Sprechende Namen (auftraege_offen, umsatz_netto) |
Modell ordnet Fragen den richtigen Feldern zu |
| Fachliche Filter in der View (z. B. ohne Stornos, ohne Testkunden) | Typischer Bedeutungsfehler entfällt |
| Kennzahlen vordefiniert (Umsatz, Deckungsbeitrag) | Eine Definition statt vieler Varianten im Prompt |
| Kommentare an Views und Spalten | Werden als Schema-Kontext mitgegeben |
| Nur benötigte Spalten | Personenbezogene oder vertrauliche Felder bleiben unsichtbar |
Größere Installationen nutzen dafür eigene Metrik-Schichten in BI-Werkzeugen. Für den Einstieg reichen Views: Sie sind versionierbar, testbar und begrenzen gleichzeitig, welche Daten überhaupt erreichbar sind.
Freies SQL oder vordefinierte Abfragen
Nicht jede Anwendung braucht freies SQL. Oft ist die Menge der sinnvollen Fragen überschaubar, und dann ist eine Sammlung parametrisierter Abfragen sicherer und genauer.
| Ansatz | Wie es funktioniert | Stärken | Grenzen |
|---|---|---|---|
| Freies SQL | Modell schreibt beliebige SELECT-Abfragen auf freigegebene Views | Deckt auch unvorhergesehene Fragen ab | Bedeutungsfehler möglich, Prüfung und Tests aufwendiger |
| Parametrisierte Abfragen als Werkzeuge | Modell wählt eine vordefinierte Abfrage und füllt Parameter | Ergebnis immer nach geprüfter Logik, kaum Injection-Fläche | Nur vorgesehene Fragen beantwortbar |
| Kombination | Häufige Fragen über Werkzeuge, Rest über freies SQL mit Kennzeichnung | Genau, wo es zählt, flexibel im Rest | Zwei Wege zu pflegen |
Bei parametrisierten Abfragen übergibt das Modell nur Werte wie Kundennummer oder Zeitraum. Die Abfrage selbst steht fest und wird mit Platzhaltern ausgeführt, eine SQL-Injection über den Modelltext ist damit ausgeschlossen. Für Agenten, die mehrere Systeme nutzen, ist das ohnehin das übliche Muster: ein Werkzeug je Aufgabe mit klar begrenzten Rechten (KI-Agenten: Rechte und Freigaben).
MCP-Datenbank-Connectoren
Das Model Context Protocol verbindet Assistenten mit Werkzeugen, darunter Datenbanken. Die verfügbaren Server unterscheiden sich erheblich in ihren Schutzmechanismen, Stand September 2026:
| Server | Lizenz | Ansatz | Hinweis |
|---|---|---|---|
Postgres-Referenzserver (@modelcontextprotocol/server-postgres) |
MIT | Freies SQL in Read-only-Transaktion | Archiviert am 29.05.2025; Read-only-Schutz per eingeschobenem COMMIT umgehbar (Datadog Security Labs) |
| Postgres MCP Pro | MIT | Unrestricted- und Restricted-Modus | Restricted: Read-only-Transaktionen, Parsing per pglast, COMMIT und ROLLBACK werden abgelehnt, Zeitlimit |
| MCP Toolbox for Databases | Apache 2.0 | Vordefinierte, parametrisierte SQL-Werkzeuge in tools.yaml, zusätzlich generische Werkzeuge |
Viele Datenbanken, darunter PostgreSQL und MySQL |
Der Fall des Referenzservers zeigt das Grundproblem: Er führte Abfragen in einer Read-only-Transaktion aus, akzeptierte aber mehrere Anweisungen in einem Aufruf. Ein COMMIT; beendete die Transaktion, alles danach lief ohne Schutz. Laut Datadog wurde das Paket bei Veröffentlichung der Analyse im August 2025 noch rund 21.000-mal pro Woche über npm geladen. Die Lehre gilt für jeden Connector: Schutzmechanismen in der Anwendungsschicht ergänzen die Datenbankrechte, sie ersetzen sie nicht.
Risiken: Prompt Injection, Datenabfluss, Last
Die Risiken lassen sich den Kategorien der OWASP Top 10 for LLM Applications 2025 zuordnen:
| Risiko | OWASP | Beispiel | Gegenmaßnahme |
|---|---|---|---|
| Prompt Injection über Daten | LLM01 | Ticket- oder Kommentartext enthält Anweisungen an das Modell | Keine Schreibrechte, keine Ausgabe an Dritte, Datenfelder als Daten kennzeichnen |
| Ungeprüfte Ausgabe | LLM05 | Erzeugtes SQL wird ungeprüft ausgeführt | Parser-Prüfung, Allowlist, eingeschränkte Rolle |
| Zu weite Befugnisse | LLM06 | Connector läuft mit Admin- oder Service-Rolle | Eigene Rolle nur mit SELECT auf Views |
| Offenlegung sensibler Daten | LLM02 | Modell liest Gehalts- oder Gesundheitsdaten mit | Spalten gar nicht erst in Views aufnehmen |
| Unbegrenzter Verbrauch | LLM10 | Kartesisches Produkt über große Tabellen | Zeitlimit, Zeilenlimit, EXPLAIN-Prüfung, Replikat |
Wie Prompt Injection über Datenbankinhalte praktisch aussieht, zeigte der Supabase-MCP-Fall vom Juli 2025: Ein präpariertes Support-Ticket forderte den Assistenten auf, die Tabelle mit Integrationstokens auszulesen und den Inhalt in das Ticket zu schreiben. Der Assistent lief mit der service_role, die Row-Level Security umgeht. Simon Willison beschreibt die Kombination aus Zugriff auf private Daten, Kontakt mit nicht vertrauenswürdigen Inhalten und einem Weg nach außen als „lethal trifecta". Fällt eine der drei Zutaten weg, scheitert dieser Angriff. Mehr dazu in Schutz vor Prompt Injection.
Ein verwandtes Muster betrifft Werkzeuge, die aus Ergebnissen Code erzeugen. Bei der Bibliothek Vanna führte Prompt Injection über die Visualisierungsfunktion zur Ausführung beliebigen Python-Codes (CVE-2024-5565, CVSS 8.1). Diagramme werden deshalb aus festen Vorlagen erzeugt, nicht aus modellgeschriebenem Code.
Qualität messen
Eine Abfrage, die ohne Fehler läuft, ist nicht automatisch richtig. Die häufigsten Fehler sind Bedeutungsfehler: Stornos mitgezählt, ein Join verdoppelt Zeilen, das falsche Datumsfeld gefiltert. Gemessen wird deshalb am Ergebnis.
| Kennzahl | Was sie misst | Einsatz |
|---|---|---|
| Ausführungsgenauigkeit (Execution Accuracy) | Liefert die erzeugte Abfrage dasselbe Ergebnis wie die Referenzabfrage? | Hauptkennzahl, auch bei BIRD und Spider |
| Exakte Übereinstimmung | Ist die SQL-Abfrage textgleich zur Referenz? | Wenig aussagekräftig, weil viele Formulierungen richtig sind |
| Ausführbarkeit | Läuft die Abfrage ohne Fehler? | Nur Vorstufe, sagt nichts über Richtigkeit |
| Ablehnungsquote | Antwortet das System bei nicht beantwortbaren Fragen nicht? | Wichtig gegen erfundene Zahlen |
Der Testsatz entsteht mit den Fachleuten, die die Daten kennen: typische Fragen, je eine geprüfte Referenzabfrage, dazu Fragen, die das Schema bewusst nicht beantworten kann. Jede Änderung an Modell, Prompt oder Views wird gegen diesen Satz gemessen. Protokolliert werden Frage, erzeugte Abfrage, Laufzeit und Rückmeldung der Nutzer, etwa mit Langfuse. Das Vorgehen entspricht dem für Retrieval-Systeme in RAG-Qualität messen.
Lokales Modell und Betrieb
Text-to-SQL setzt kein Modell eines Cloud-Anbieters voraus. Gerade bei Unternehmensdatenbanken spricht viel dafür, dass Schema-Beschreibungen, Fragen und Ergebnisse das eigene Netz nicht verlassen. Die Modellwahl hängt von der Komplexität ab: Ein überschaubares Schema mit sauberen Views kommt mit einem mittelgroßen Modell aus, große Schemata mit vielen Joins profitieren von größeren Modellen und längerem Kontext. Welche Modelle selbst betrieben werden können, ordnet Welches LLM selbst hosten? ein, den Speicherbedarf rechnet GPU- und VRAM-Sizing für LLMs durch.
Für den Betrieb hat sich eine klare Trennung bewährt:
| Komponente | Aufgabe |
|---|---|
| Inferenz (vLLM oder Ollama) | Modell bereitstellen, strukturierte Ausgabe erzwingen |
| Gateway (LiteLLM) | Zugriff, Schlüssel, Budgets je Anwendung |
| Text-to-SQL-Dienst | Kontext, Prüfung, Ausführung mit eigener Rolle |
| Datenbank oder Replikat | Views, Rechte, Zeitlimits |
| Tracing (Langfuse) | Fragen, Abfragen und Ergebnisse nachvollziehen |
Der Text-to-SQL-Dienst hält die Datenbankzugangsdaten, nicht das Modell. Das Modell sieht nur Schema-Kontext und, falls für die Antwort nötig, das Ergebnis.
Was das für Ihr Projekt heißt
Text-to-SQL lohnt sich, wenn viele wiederkehrende Fragen an dieselben Daten gestellt werden und die Antworten heute über Exporte oder Berichtsanfragen laufen. Die Reihenfolge entscheidet über den Erfolg: zuerst eine eigene Rolle und Views mit den freigegebenen Daten, dann ein Testsatz mit Referenzabfragen, erst danach Modell und Prompt. Wo die Fragen überschaubar sind, sind parametrisierte Abfragen genauer als freies SQL.
WZ-IT setzt solche Anwendungen als KI-Agenten auf dem offenen Stack um, mit PostgreSQL oder MySQL als Datenquelle, eingeschränkten Rollen und Tracing. Modelle laufen lokal auf dem AI Cube oder auf Managed GPU-Servern von WZ-IT mit NVIDIA RTX PRO 4000 Blackwell (24 GB) oder RTX PRO 6000 Blackwell Max-Q (96 GB). Support, Beratung und Implementierung durch WZ-IT.
Verwandte Themen: Schutz vor Prompt Injection, MCP im Unternehmen, KI-Agenten & Automatisierung und KI-Agenten-Frameworks im Vergleich.
Lieber betreiben lassen?
Sie möchten Lokale KI für Unternehmen nicht selbst betreiben? WZ-IT übernimmt Einrichtung, Betrieb und Wartung - datenschutzorientiert aus Deutschland.
Anfrage
Lokale KI für Ihren Einsatz einordnen
Starten Sie mit dem AI Cube oder lassen Sie eine individuelle KI-Plattform, Wissensanbindung oder Integration einordnen.
Häufig gestellte Fragen
Antworten auf die wichtigsten Fragen
Bei Text-to-SQL übersetzt ein Sprachmodell eine Frage in natürlicher Sprache in eine SQL-Abfrage, die anschließend gegen eine Datenbank ausgeführt wird. Das Modell sieht dafür eine Beschreibung des Schemas, also Tabellen, Spalten und Beziehungen. Das Ergebnis wird als Tabelle, Zahl oder in Textform zurückgegeben. Anders als bei RAG werden keine Textabschnitte gesucht, sondern strukturierte Daten berechnet.
Er ist die wichtigste Maßnahme, aber nicht die einzige. Entscheidend ist, dass die Rolle keine Schreibrechte besitzt und nur die freigegebenen Views lesen darf. Parameter wie default_transaction_read_only oder statement_timeout kann eine Sitzung in PostgreSQL selbst umstellen, sie sind deshalb Komfort und keine Sicherheitsgrenze. Hinzu kommen eine Prüfung der erzeugten Abfrage, Zeilenlimits und ein Zeitlimit, das die Anwendung durchsetzt.
Nur wenn die verwendete Datenbankrolle das erlaubt. Ein Sprachmodell kann jede beliebige SQL-Anweisung erzeugen, auch DELETE oder DROP. Ob sie ausgeführt wird, entscheiden die Rechte der Rolle. Ein MCP-Server, der nur per Read-only-Transaktion schützt, reicht nicht: Beim archivierten Postgres-Referenzserver ließ sich die Transaktion mit einem eingeschobenen COMMIT beenden.
Auf dem BIRD-Benchmark liegt das beste System im Oktober 2026 bei 82,95 % Ausführungsgenauigkeit, menschliche Fachleute erreichen 92,96 %. Auf Spider 2.0 mit realen Unternehmensschemata löste o1-preview laut Paper nur 21,3 % der Aufgaben, gegenüber 91,2 % auf Spider 1.0. Benchmarks messen öffentliche Datensätze, die Trefferquote auf dem eigenen Schema zeigt nur ein eigener Testsatz.
Nein. RAG sucht passende Textabschnitte und lässt das Modell daraus eine Antwort formulieren. Text-to-SQL lässt das Modell eine Abfrage schreiben, die Datenbank rechnet das Ergebnis exakt aus. Für Fragen wie Umsatz je Region oder offene Aufträge ist Text-to-SQL der passende Weg, für Fragen zu Verträgen, Handbüchern oder Richtlinien RAG. Viele Assistenten kombinieren beides.
Eine große, sobald Datenbankinhalte von Dritten stammen, etwa Ticket- oder Kommentartexte. Liest das Modell solche Inhalte, können darin versteckte Anweisungen landen. Im Fall des Supabase-MCP-Servers 2025 brachte ein präpariertes Support-Ticket einen Assistenten mit Vollzugriff dazu, Zugangstokens in eine öffentlich sichtbare Tabelle zu schreiben. Schutz bieten minimale Rechte, keine Schreibwege und keine Ausgabe in Kanäle, die Dritte lesen.
Für produktive Nutzung meistens ja, in einfacher Form genügen Views. Rohtabellen tragen technische Spaltennamen, Statuscodes und historische Altlasten, die ein Modell falsch deutet. Ein eigenes Schema mit sprechend benannten, kommentierten Views und vordefinierten Kennzahlen senkt die Fehlerquote und begrenzt zugleich, was das Modell überhaupt sehen kann.
Ja. Text-to-SQL braucht kein Modell eines US-Anbieters, die Abfrage entsteht auf eigener Hardware und die Daten verlassen das Netz nicht. Wie gut ein lokales Modell auf dem eigenen Schema abschneidet, zeigt ein Testsatz mit Referenzabfragen. Je komplexer Schema und Fragen sind, desto eher lohnt ein größeres Modell, etwa auf einer GPU mit 96 GB.
Nein. Die häufigsten Fehler in Text-to-SQL sind syntaktisch korrekte Abfragen mit falscher Bedeutung: ein fehlender Filter auf stornierte Aufträge, ein Join, der Zeilen verdoppelt, oder ein falsch gedeutetes Datumsfeld. Deshalb wird das Ergebnis gegen Referenzabfragen geprüft, und die Anwendung zeigt die ausgeführte SQL-Abfrage zur Kontrolle an.
Mehr zu Lokale KI für Unternehmen
- Der Open-Source-LLM-Stack
- Was ist LiteLLM?
- Was ist Langfuse?
- Was ist vLLM?
- vLLM vs. Ollama
- Was ist RAG?
- Wissenstransfer bei Mitarbeiterwechsel
- Open WebUI an Nextcloud anbinden (RAG mit ACLs)
- Was ist lokale KI?
- Cloud-KI vs. self-hosted
- Eigenes ChatGPT für Unternehmen
- KI-Souveränität für Unternehmen
- Welches LLM selbst hosten?
- GPU & VRAM dimensionieren
- Inferenz vs. Training
- Qdrant vs. pgvector
- EU AI Act für Unternehmen
- Lokale KI für Berufsgeheimnisträger
- Dokumente mit KI verarbeiten
- KI-Agenten & Automatisierung
- RAG mit Berechtigungen
- Chatbot oder Wissens-Navigator?
- KI-Agenten: Rechte und Freigaben
- KI-Assistent und Betriebsrat
- DSGVO-konforme KI: Prüfkriterien
- Was kostet ein lokaler KI-Server?
- KI-Server kaufen oder mieten?
- Lokalen KI-Server nach Nutzern dimensionieren
- LLM-Modelle auf 128 GB Unified Memory
- RAG mit Nextcloud, SharePoint und DMS
- Chunking für RAG
- Hybrid Search und Reranking
- Contextual Retrieval
- RAG-Qualität messen
- LLM-Lizenzen für kommerzielle Nutzung
- LLM-Quantisierung
- MCP im Unternehmen
- Schutz vor Prompt Injection
- Multi-GPU-Inferenz ohne NVLink
- Text-to-SQL
- Lokale KI sicher von außen bereitstellen
- AI Cubes mit ConnectX-7 verbinden
- Open WebUI als Appliance produktiv betreiben
- ASUS Ascent GX10 für Unternehmen einrichten
- NVIDIA DGX Spark für Unternehmen einrichten
- Acer Veriton GN100 für Unternehmen einrichten
- Dell Pro Max mit GB10 für Unternehmen einrichten
- Gigabyte AI TOP ATOM für Unternehmen einrichten
- HP ZGX Nano G1n für Unternehmen einrichten
- Lenovo ThinkStation PGX für Unternehmen einrichten
- MSI EdgeXpert für Unternehmen einrichten





