Kategorien anzeigen

Azure SQL REST-API: Eine SQL-Abfrage in einen Endpunkt umwandeln

REST-API · Azure SQL zu einem Endpunkt

Drehen Sie einen Azure SQL SQL-Abfrage in eine REST-API Endpunkt

Speichern Sie eine Abfrage im Abfrage-Generator, klicken Sie Neuer EndpunktSie verfügen über eine URL unter api.querystreams.com mit einem eigenen Schlüssel. Die SQL-Abfrage wird schreibgeschützt auf dem Agent ausgeführt, der bereits mit Ihrer Azure SQL-Datenbank verbunden ist. Der Aufrufer erhält JSON- oder CSV-Daten und sieht weder die SQL-Abfrage noch das Schema oder ein Passwort. Es muss weder gehostet noch ein Port geöffnet werden. Die Abfrage wird in etwa 90 Sekunden gespeichert, und der kostenlose Plan deckt Ihren ersten Endpunkt ab.

Etwa 90 Sekunden nach einer gespeicherten Abfrage Kein Server zum Hosten Die Zugangsdaten bleiben bei Ihnen Eine Taste pro Anrufer, jederzeit widerrufbar.
Sie kommen an irgendeiner Stelle nicht weiter? Fragen Sie uns einfach. Öffnen Unterstützung Gehen Sie zu „Abfrageströme“ (Menü oben rechts → Support) und senden Sie uns eine Nachricht. Echte Menschen lesen sie, und „Ich verstehe nicht, was dieser Bildschirm von mir verlangt“ ist eine völlig berechtigte Frage.

Was am Ende dabei herauskommt

Azure SQL-LogoEine URL bei api.querystreams.com Diese Funktion gibt die Zeilen Ihrer gespeicherten Azure SQL-Abfrage als JSON- oder CSV-Datei an jeden mit einem entsprechenden Schlüssel zurück. Sie wurde vor der Weitergabe über die Konsole im Portal getestet. Beispiel:

POSTapi.querystreams.com/v1/endpoints/8f2c4d1e-6b3a-4f7e-9c21-5d0a7b3e2f19
SchlüsselWertBeschreibung
Stadt Zeichenfolge OptionalSeattleAufrufbarer Filter aus der gespeicherten Abfrage
X-API-Schlüsselqsapi_AB••••••••••Ihr geheimer Token
{
  "Stadt": "Seattle"
}
KopfzeileWertBeschreibung
X-API-Schlüsselqsapi_AB••••••••••Ihr geheimes Token. Eines pro Anrufer, jederzeit widerrufbar.
Inhaltstypapplication/jsonDie Parameter werden als JSON-Body übertragen.
Akzeptierenapplication/jsonJSON-Rückgabe; bei Anfrage nach Text/CSV erhalten Sie CSV.
curl -X POST "https://api.querystreams.com/v1/endpoints/8f2c4d1e-6b3a-4f7e-9c21-5d0a7b3e2f19" \ -H "X-API-Key: qsapi_YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"city": "Seattle"}'
Status 200 OKZeit 84 msGröße 412 BGekürzt NEIN
{
  "Spalten": [ { "Name": "Name der Firma", "Typ": "ganze Zahl" }, { "Name": "Stadt", "Typ": "Zeichenkette" }, { "Name": "Stadt", "Typ": "Zeichenkette" } ],
  "Zeilen": [
    { "Name der Firma": 1042, "Stadt": "Northwind Traders", "Stadt": "Seattle" },
    { "Name der Firma": 1057, "Stadt": "Alpine Outfitters", "Stadt": "Denver" },
    { "Name der Firma": 1063, "Stadt": "Harbour Foods", "Stadt": "Halifax" }
  ],
  "Meta": { "Zeilenanzahl": 3, "agent_duration_ms": 41, "request_id": "req_7Hq2mKd9" }
}
KopfzeileWertBeschreibung
Inhaltstypapplication/json; charset=utf-8Der Umschlag auf der Registerkarte "Body".
Inhaltslänge412Zurückgegebene Bytes; das Größenabzeichen oben
Schreibgeschützt: eine gespeicherte Abfrage, sonst nichts. SQL verlässt niemals Ihr Konto. Alle Anrufe auf der Registerkarte „Aktivität“

Azure SQL speichert Ihre Daten in der Cloud und wird vom Anbieter verwaltet. Jemand anderes möchte einen Teil davon in seiner Anwendung, seinem Dashboard oder seinem Skript nutzen, doch die üblichen Lösungen sind mit zu viel Aufwand verbunden: ein Datenbank-Login, der das Projekt überdauert, ein nächtlicher Export, der schon am Morgen veraltet ist, oder ein kleiner API-Server, der nun von jemandem betrieben und aktualisiert werden muss. Query Streams macht den Endpunkt zu einer gespeicherten Abfrage plus einem Schlüssel. Der Agent, der bereits mit Ihrer Azure SQL-Datenbank verbunden ist, führt die Abfrage aus, api.querystreams.com prüft den Schlüssel und das Ratenlimit, und der Aufrufer erhält die Zeilen. SQL-Abfrage, Schema und Anmeldeinformationen verlassen Ihr Konto nie.

WO DER AGENT LÄUFTjeder ständig eingeschaltete Computer oder Server mit InternetanschlussIhre Azure SQL-DatenbankZugangsdaten bleiben hierAbfrage-Streams-Agentführt die gespeicherte Abfrage ausapi.querystreamsprüft den SchlüsselHTTPS · Nur Zeilen, niemals SQLWER AUCH IM BESITZ EINES SCHLÜSSELSIhre App, ein Dashboard, ein Partner, ein SkriptGET oder POST mit X-API-SchlüsselJSON-, CSV- oder NDJSON-Rückgabe
Der Agent verwaltet Ihre Daten und führt die Abfrage aus. api.querystreams.com prüft den Schlüssel und das Ratenlimit und leitet die Zeilen weiter. Der Aufrufer erreicht Ihr Netzwerk niemals.

Was Sie benötigen

Ein Query Streams-Konto

Jeder Tarif beinhaltet die REST-API. Die kostenlose Version bietet einen Endpunkt, zwei Schlüssel und 250 Zeilen pro Aufruf – ausreichend für diese Anleitung. Jetzt anmelden unter mein.querystreams.de.

Der Agent auf einem beliebigen, ständig eingeschalteten Computer mit hinzugefügter Azure SQL-Verbindung.

Es benötigt lediglich einen Internetanschluss.

Eine gespeicherte Abfrage im Abfrage-Generator

Der Endpunkt umschließt genau eine gespeicherte Abfrage. Schreiben Sie die SELECT-Anweisung, führen Sie sie einmal aus und speichern Sie sie. Fügen Sie einen dynamischen Filter hinzu (einen dynamischen Filter). @variable in der WHERE-Klausel), wenn Aufrufer die Möglichkeit haben sollen, zu filtern.

Wer kann Endpunkte erstellen? Eigentümer, Administratoren und Ersteller. Wenn die API Dieser Eintrag fehlt in Ihrer oberen Leiste. Ein Administrator kann ihn für Ihren Benutzer aktivieren. Konto → BerechtigungenJeder, mit dem Sie einen Endpunkt teilen, benötigt lediglich ein Query Streams-Konto, unabhängig vom gewählten Tarif.

Richten Sie es in vier Schritten ein

  1. Abfrage speichern

    In Abfrage-Generator Wählen Sie Ihre Azure SQL-Verbindung aus, schreiben Sie die zu veröffentlichende SELECT-Anweisung und führen Sie sie einmal aus, um die Zeilen anzuzeigen. Beschränken Sie sich auf die vom Aufrufer benötigten Spalten; der Endpunkt liefert genau das Ergebnis der Abfrage.

    Gespeicherte Anfrage · Kunden
    SELECT SPITZE 100 Kunden-ID, Firmenname, Stadt
    VON dbo.Customers
    BEFEHL VON Name der Firma;

    Wenn Anrufer filtern können sollen, fügen Sie einen dynamischen Filter hinzu, zum Beispiel WHERE city = @city. Jede @variable wird in Schritt 3 zu einem API-Parameter. Klicken Sie Speichern Sie und geben Sie der Abfrage einen Namen; dieser Name wird zum Anzeigenamen des Endpunkts.

  2. Erstellen Sie den Endpunkt

    Öffnen API in der oberen Leiste klicken Sie auf Neuer EndpunktDer Zauberer hat vier Schritte. Abfrage auswählen, Konfigurieren, Sperrparameter und Teilen. An Abfrage auswählenKlicken Sie auf die soeben gespeicherte Abfrage; Abfragen, deren Agent offline ist, werden ausgegraut angezeigt. Weiter.

    Abkürzung. Im Abfrage-Generator können Sie die geöffnete Abfrage direkt anzeigen; der Assistent startet dann bei Konfigurieren mit der bereits ausgewählten Suchanfrage.

  3. Parameter konfigurieren und sperren

    An Konfigurieren Die Standardeinstellungen sind für einen ersten Endpunkt richtig: Anzeigename aus der Anfrage ausgefüllt, Lebensdauer Dauerhaft (wählen) Ablauf für einen vorübergehenden Anteil), Antwortmodus Statisch (eine JSON-Antwort; auswählen) Streaming (für Ergebnisse, die über die statische Rudergrenze Ihres Plans hinausgehen), Inneres Format JSON. Antwortmodus und -format sind nach der Erstellung festgelegt, daher legen Sie diese hier fest. Klicken Sie hier. Weiter.

    An Sperrparameter Alle dynamischen Filter in der Abfrage werden aufgelistet. Lassen Sie diejenigen unverändert, die vom Aufrufer festgelegt werden können. Abrufbar und gib jedem ein Name der Abfragezeichenfolge; Haken Erforderlich Falls ein Aufruf ohne diese Angabe fehlschlägt, legen Sie einen Wert fest, den der Aufrufer nicht ändern darf. Gesperrtoder ein Date-Szenario wie zum Beispiel Monatsbeginn. Versteckt Behält den Standardwert der Abfrage bei und lehnt jeden Versuch ab, diesen festzulegen. Klicken Sie hier. Weiter.

  4. Teilen und Ihren Schlüssel erhalten

    An Teilen Sie können einladen Menschen per E-Mail oder fügen Sie eine hinzu Serviceschlüssel für einen Server oder ein Automatisierungstool, oder beides vorerst überspringen. Klicken Sie hier. Erstellen und meinen Schlüssel erhaltenAuf dem Erfolgsbildschirm werden die Endpunkt-URL und Ihr Schlüssel angezeigt: eine 49-stellige Zeichenkette, die mit „.“ beginnt. qsapi_Kopieren Sie es. Sie können es später vom Endpunkt aus wieder anzeigen lassen. Teilen Die Tabulatortaste sorgt dafür, dass die Daten nicht verloren gehen, wenn Sie den Bildschirm schließen.

    Klicken Sie auf Schicken In der Konsole den ersten Aufruf direkt vom Portal aus tätigen. Im Antwortbereich wird Folgendes angezeigt: Status, Zeit und Größe, Die Körper Der Tab zeigt das JSON an, und der Aufruf erscheint auf dem Aktivität Drücken Sie die Tabulatortaste einige Sekunden später.

Das war’s. Ihre Azure SQL-Datenbank antwortet nun über eine URL (schreibgeschützt) auf die von Ihnen angegebenen Schlüssel. Es wurde nichts installiert, kein Port geöffnet, und die SQL-Datenbank verblieb in Ihrem Konto.

Rufen Sie es von überall aus an

Ersetzen Sie die Endpunkt-ID durch Ihre eigene aus der URL-Leiste der Konsole und qsapi_IHR_SCHLÜSSEL mit Ihrem Schlüssel. Aufrufbare Parameter gehören in die Abfragezeichenfolge bei GET; hier wird die gespeicherte Abfrage bereitgestellt. Stadt:

GET · Parameter in der Abfragezeichenfolge
curl "https://api.querystreams.com/v1/endpoints/8f2c4d1e-6b3a-4f7e-9c21-5d0a7b3e2f19?city=Seattle" \ -H "X-API-Key: qsapi_YOUR_KEY"
Antwort · 200 OK · application/json
{
  "Spalten": [ { "Name": "Name der Firma", "Typ": "ganze Zahl" }, { "Name": "Stadt", "Typ": "Zeichenkette" }, { "Name": "Stadt", "Typ": "Zeichenkette" } ],
  "Zeilen": [
    { "Name der Firma": 1042, "Stadt": "Northwind Traders", "Stadt": "Seattle" },
    { "Name der Firma": 1057, "Stadt": "Alpine Outfitters", "Stadt": "Denver" },
    { "Name der Firma": 1063, "Stadt": "Harbour Foods", "Stadt": "Halifax" }
  ],
  "Meta": { "Zeilenanzahl": 3, "agent_duration_ms": 41, "request_id": "req_7Hq2mKd9" }
}

Die Zeilen werden als Objekte zurückgegeben, die über den Spaltennamen indiziert sind, mit der Spaltenliste und einem Meta Ein Block, der die Anzahl der Zeilen, die Information, ob das Ergebnis gekürzt wurde, und die Anfrage-ID anzeigt, die Sie zur Unterstützung angeben können. Derselbe Aufruf wie ein POST-Request übermittelt die Parameter in einem JSON-Body, was die richtige Wahl für lange Wertelisten ist:

POST · Parameter in einem JSON-Body
curl -X POST "https://api.querystreams.com/v1/endpoints/8f2c4d1e-6b3a-4f7e-9c21-5d0a7b3e2f19" \ -H "X-API-Key: qsapi_YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"params": {"city": "Seattle"}}'
?format=csv
CSV statt JSON, inklusive Kopfzeile. Akzeptierte Formate: text/csv Dasselbe gilt für Streaming-Endpunkte. Diese geben NDJSON (ein JSON-Objekt pro Zeile) mit einem abschließenden Wert zurück. {"_summary": true, "row_count": N} Zeile; überprüfen Sie die letzte Zeile.
?sample=true
Maximal fünf Reihen, nicht abgerechnet. Gut geeignet, um einen Kunden anzuschließen.
?compression=lz4
Ein Gehäuse des Typs LZ4 für Vieltelefonierer mit Decoder; Code Die Registerkarte enthält den Decoder-Codeausschnitt für jede Sprache. Die einfache Gzip-Komprimierung erfolgt automatisch, wenn Ihr Client sendet. Accept-Encoding: gzip.
Autorisierung: Bearer qsapi_…
Akzeptiert als Alias für X-API-Schlüssel. Verwenden Sie es im Browsercode.

Wo es eingesteckt wird

Excel und Power BI

Export → Power Query M (.pq) Sie erhalten eine vorgefertigte Abfrage. Fügen Sie diese in den erweiterten Editor ein (Excel: Daten → Daten abrufen → Aus anderen Quellen → Leere Abfrage; Power BI: Start → Daten transformieren → Neue Quelle → Leere Abfrage) und ersetzen Sie den Platzhalter durch Ihre Abfrage. qsapi_ Schlüssel.

Postbote, Schlaflosigkeit, Hüpfekästchen

Das gleiche Export Das Menü lädt eine Postman v2.1-Sammlung, einen Insomnia v5-Export oder eine Hoppscotch-Sammlung mit ausgefüllten Parametern und einem Platzhalter für den Schlüssel herunter.

Ihr eigener Code

Der Code Der Tab enthält funktionierende Beispiele für cURL, Python, JavaScript, TypeScript, Java, C#, Go, PHP, PowerShell und Ruby. Export → OpenAPI 3.1-Spezifikation Wird von jedem Clientgenerator oder Swagger UI gespeist.

n8n, Zapier, Make, cron

Erstellen Sie einen Serviceschlüssel Fügen Sie für das Tool die URL und den Schlüssel in den entsprechenden HTTP-Knoten ein und planen Sie die Ausführung. Jedes Tool erhält einen eigenen Schlüssel, sodass Sie einen Schlüssel widerrufen können, ohne die anderen zu beeinträchtigen.

Was die Pläne erlauben

PlanenEndpunkteSchlüssel pro EndpunktPersonen pro EndpunktZeilen pro Aufruf (statisch)Zeilen pro Aufruf (Streaming)Anrufe pro Minute, pro Taste
Kostenlos1212502503
Persönlicher Kern2325,000250,00015
Personal Plus55510,000500,00030
Kerngeschäft5101050,0001,000,000300
Business Plus102025100,0005,000,000600
Business Max253050250,00010,000,000600
Enterprise Core5050100500,00025,000,0001,000
Enterprise Plus1001002501,000,00050,000,0001,000
Enterprise Max2502005002,500,000100,000,0001,500

Jeder Aufruf hat ein festes Abfrage-Timeout von 60 Sekunden und eine Antwortgröße von maximal 8 MiB. Die zurückgegebenen Bytes werden auf Ihr monatliches Datenvolumen angerechnet – dasselbe, das auch die Add-ons für Excel und Google Sheets nutzen. Die kostenlose Version bietet einen Endpunkt und 5 MB Datenvolumen pro Monat, was für eine kleine Tabelle, die mehrmals täglich aufgerufen wird, problemlos ausreicht. Siehe die Preisseite für die Zulagen nach Plan.

Kostenlos ist ein Plan, den man behält. Es handelt sich nicht um eine Testphase, die abläuft. Sehen Sie genau, was sie beinhaltet, auf der Preisseite.

Es sicher aufbewahren

Die SQL-Anweisungen bleiben Ihre.

Die Aufrufer erhalten Zeilen. Sie sehen weder die Abfrage noch die Tabellennamen oder die Verbindungsdetails und können nicht ändern, was der Endpunkt ausführt.

Ein Schlüssel, ein Endpunkt, ein Anrufer

Ein Schlüssel funktioniert genau für einen Endpunkt. Jede Person oder jedes Tool erhält einen eigenen Schlüssel, und jeder Anruf wird diesem zugeordnet. Wird ein Schlüssel widerrufen, funktionieren die anderen weiterhin; der Widerruf wird innerhalb von etwa fünf Minuten wirksam.

Schreibgeschützt, auf Ihrer Seite der Mauer

Der Agent führt die gespeicherte SELECT-Anweisung und nichts anderes aus Ihrem Netzwerk über seine eigene ausgehende Verbindung aus. Es muss kein Port geöffnet und keine Anmeldeinformationen im Internet benötigt werden.

Jeder Anruf im Hauptbuch

Der Aktivität Die Registerkarte zeigt jeden Anruf mit Uhrzeit, Empfänger, Status, Zeilen, Bytes und Dauer an, einschließlich abgelehnter Anrufe. Ablauf Lebensdauer einer temporären Freigabe und der Endpunkt schaltet sich am angegebenen Datum selbst ab.

Wenn etwas nicht funktioniert

StatusCodeWas zu tun
401API-Schlüssel erforderlich / API-Schlüssel ungültigDer Header fehlt oder der Schlüssel ist falsch. Senden X-API-Schlüssel: qsapi_…Die gesamten 49 Zeichen. Die Schlüssel können über die Registerkarte „Freigabe“ des Endpunkts erneut kopiert werden.
403API_KEY_ENDPOINT_MISMATCHEin gültiger Schlüssel, der an einem anderen Endpunkt verwendet wird. Jeder Schlüssel gehört zu genau einem Endpunkt.
403API-Schlüssel widerrufen / API-Endpunkt abgelaufenDer Schlüssel wurde widerrufen oder der Endpunkt ist abgelaufen. Generieren Sie einen neuen Schlüssel oder stellen Sie den Endpunkt wieder her.
400API_PARAM_NOT_OVERRIDABLESie haben einen Parameter gesendet, den der Eigentümer nicht als aufrufbar markiert hat. Im Nachrichtentext werden die zulässigen Namen aufgelistet.
414API_QUERY_TOO_LARGEDie GET-Abfragezeichenfolge enthielt 8 KB oder 200 Listenwerte. Senden Sie dieselben Parameter als JSON-Body in einer POST-Anfrage.
413API_OUTPUT_TOO_LARGEDas Ergebnis überschritt die 8-MiB-Grenze. Schränken Sie die Abfrage ein oder wechseln Sie zum Streaming-Endpunkt.
429API_RATE_LIMITEDIn dieser Minute gehen zu viele Anrufe wegen des Schlüssels oder des Endpunkts ein. Warten Sie auf den Wiederholen Sekunden oder erhöhen Ratenbegrenzung unter API-Einstellungen → Standardeinstellungen innerhalb Ihres Tarifs.
429API_DATA_REALM_EXHAUSTEDDas monatliche Datenvolumen des Nutzers ist aufgebraucht. Es wird mit dem nächsten Abrechnungsmonat zurückgesetzt; für mehr Datenvolumen ist ein Upgrade erforderlich.
503API-AGENT_NICHT_VERBUNDENDer Agent Ihrer Azure SQL-Datenbank ist offline. Überprüfen Sie ihn unter Daten → Datenagenten; Aufrufe sind wieder erfolgreich, sobald die Verbindung wiederhergestellt ist.
504API-Abfrage-TimeoutDie Abfrage dauerte länger als 60 Sekunden. Fügen Sie einen Filter oder einen Index hinzu oder speichern Sie eine präzisere Abfrage.

Jeder Fehlerkörper hat die Form {"error": {"code": "…", "message": "…"}} und jede Antwort beinhaltet eine X-QS-Anforderungs-ID Header. Geben Sie die ID in Anführungszeichen an, wenn Sie sich an den Support wenden.

Fragen, die Menschen stellen

Werden meine Daten in Query Streams kopiert?

Nein. Der Agent führt die Abfrage dort aus, wo Ihre Daten gespeichert sind, und sendet nur die angeforderten Zeilen. Es findet keine Synchronisierung oder Zwischenspeicherung statt; die Abfrage wird bei jedem Anruf neu ausgeführt.

Können Anrufer die SQL-Anweisung ändern oder andere Tabellen anfordern?

Nein. Ein Endpunkt führt eine gespeicherte Abfrage aus. Aufrufer können nur die von Ihnen markierten Parameter festlegen. Abrufbarund die Werte werden sicher gebunden: Text wird in Anführungszeichen gesetzt und maskiert, Zahlen werden auf ihren Bereich geprüft, Listen werden erweitert.

Wie übergebe ich das einem Partner?

Am Endpunkt Teilen Registerkarte auswählen Menschen und geben ihre E-Mail-Adresse ein. Sie erhalten einen magischen Link, melden sich mit dieser Adresse an (ein kostenloses Konto genügt) und generieren ihren eigenen Schlüssel; ihre Anrufe werden dann namentlich auf der Registerkarte „Aktivität“ angezeigt. Für einen Server oder ein Automatisierungstool erstellen Sie einen API-Schlüssel stattdessen mit einem Etikett.

Was passiert, wenn ich die gespeicherte Abfrage bearbeite?

Der Endpunkt führt beim nächsten Aufruf die neue SQL-Abfrage aus und seine OpenAPI-Spezifikation wird neu generiert. Die URL und die Schlüssel ändern sich nicht. Wenn Sie einen Filter hinzufügen oder entfernen, überprüfen Sie die Spezifikation erneut. Sperrparameter damit Anrufer die richtigen Parameter sehen.

Ist das im kostenlosen Tarif wirklich enthalten?

Ja. „Kostenlos“ ist ein dauerhafter Tarif, keine befristete Testphase. Er umfasst einen Endpunkt, zwei Schlüssel und 250 Zeilen pro Aufruf. Die genauen Leistungen finden Sie hier: Preisseite.

Spricht der Endpunkt den SQL-Dialekt von Azure SQL?

Ja, denn die SQL-Anweisung stammt von Ihnen. Sie haben sie geschrieben und in Query Builder gegen Ihre Azure SQL-Datenbank ausgeführt; der Endpunkt führt genau diese Anweisung über dieselbe Verbindung aus, wobei Ihre Parameterwerte so gebunden sind, wie Azure SQL es erwartet.

Muss meine Azure SQL-Datenbank aus dem Internet erreichbar sein?

Nein. Nur der Agent muss von jedem beliebigen Computer mit ständigem Internetzugang darauf zugreifen können. Der Agent stellt eine einzige ausgehende Verbindung zu Query Streams her; Anrufer kommunizieren mit api.querystreams.com und niemals mit Ihrem Server.

Immer noch festgefahren? Öffnen Unterstützung Bitte geben Sie in Query Streams an, bei welchem Schritt Sie sich befinden und was Sie sehen. Wir stellen dann die Verbindung her.

Jeder Leitfaden für Azure SQL

Nicht ganz Ihre Konfiguration?

  • Betreiben Sie SQL Server auf Ihrem eigenen Server oder Computer? Nutzen Sie die Microsoft SQL Server-Karte → SQL Server
  • Bei einer anderen Azure-Datenbank? Azure PostgreSQL und Azure MySQL haben jeweils ihre eigene Karte → Azure Postgres, Azure MySQL

Setup trouble?

  • Want the Agent to sign in with a login that can only read? Create a read-only database user, with copy-paste SQL for each database → Create a read-only database user
  • Agent shows Offline, or Test connection and Browse are greyed out? Check that the Agent is online → Is the Agent online?
Aktualisiert am 27. September 2026

Angetrieben durch BetterDocs