Heute mal was aus der Praxis, wo ich dachte: WICHTIGE NOTIZE 😎
Irgendein SQL-Script läuft sauber durch, die Ausgabe steht sichtbar im SSMS – aber sobald du sie per „Results to File / Grid / Text“ exportieren willst, bleibt die Datei leer. Kein Fehler, keine Meldung, einfach nichts. Das ist ein Klassiker und trifft besonders oft bei Diagnose- und Wartungs-Scripts, die Hersteller mitliefern. Im Omnissa/Workspace ONE-Umfeld läuft man z. B. vor einem UEM-Upgrade genau da hinein. Die Ursache ist immer dieselbe – und harmloser, als sie im ersten Moment wirkt.
Typische Kandidaten
Betroffen ist jedes Script, das seine Ergebnisse nicht per SELECT ausgibt, sondern per PRINT bzw. RAISERROR … WITH NOWAIT – also alles, was primär Statusmeldungen und Prüfausgaben produziert. Aus dem Omnissa/Workspace ONE-Alltag sind das unter anderem:
- DB-Readiness-Script – Prüfung der AirWatch-/WS1-Datenbank vor Installation oder Upgrade
- Database Health Check-Scripts – Konsistenz-, Index- und Konfigurationsprüfungen der Datenbank
- Wartungs- und Index-Rebuild-Scripts – Reorganisation/Rebuild von Indizes
- Purge-/Cleanup-Scripts – z. B. das Aufräumen alter Device-Event-Logs
| ℹ️ Nicht Omnissa-spezifisch
Das Prinzip gilt für jedes PRINT-lastige Script – egal ob SQL-Server-Wartungspläne, Microsoft-Diagnose-Skripte oder deine eigenen Snippets. Die Omnissa-Scripts sind nur ein besonders häufiger Anlaufpunkt. |
Warum „Results To“ scheinbar nichts liefert
Solche Scripts geben ihre Prüfergebnisse nicht über SELECT aus, sondern über PRINT bzw. RAISERROR … WITH NOWAIT. Und genau da liegt der Hund begraben: Diese Ausgabe landet im Messages-Tab, nicht im Results-Grid. „Results to Grid / Text / File“ exportieren aber ausschließlich echte Result-Sets. Kommen keine SELECT-Ergebnisse zurück, bleibt der Export logischerweise leer.
| ℹ️ Kurz zur Einordnung
Results-Grid = Rückgabe von SELECT-Statements. Messages-Pane = alles aus PRINT, RAISERROR und Server-Meldungen. Das sind in SSMS zwei komplett getrennte Kanäle. |
Der schnellste Fix – Toggle und nochmal Execute
Hier stellt man sich gern selbst ein Bein: „Results to File“ ist ein Toggle für den nächsten Lauf – kein Button, der ein bereits vorhandenes Ergebnis nachträglich exportiert. Wenn dein letzter Durchlauf noch auf „Results to Grid“ stand, passiert beim reinen Umschalten nichts. Du musst danach erneut ausführen:
- Im Query-Fenster auf Results to File stellen (Strg+Shift+F).
- Nochmal auf Execute (F5).
- SSMS fragt jetzt nach Pfad und Dateiname – Default ist .rpt, das kannst du direkt auf .txt ändern.
Fertig. Kein SQLCMD, kein PowerShell. Für den einmaligen Export ist das der geradlinigste Weg.
| 💡 Merksatz
Der „Results to …“-Zustand gilt immer erst ab dem nächsten Execute. Umschalten + F5 – nicht umschalten und hoffen. |