In MS SQL Server enthält das Dialogfeld "Datenbankeigenschaften" die Verknüpfung "Verbindungseigenschaften anzeigen" auf der linken Seite. Wenn Sie darauf klicken, wird der Dialog "Verbindungseigenschaften" mit den Eigenschaften der aktuellen Verbindung geöffnet, z. B. Authentifizierungsmethode, Netzwerkprotokoll, Computername usw.
Gibt es eine Möglichkeit, diese Informationen programmgesteuert durch Ausführen einer SQL-Abfrage zu erhalten? Wie würde diese Abfrage aussehen?
SQL 2005 und nachdem Sie sys.dm_exec_connections
abgefragt haben. Um Ihre aktuellen Verbindungseigenschaften abzurufen, führen Sie Folgendes aus:
Die Feldwerte hängen vom Protokoll ab, das für die Verbindung verwendet wird (gemeinsam genutzter Speicher, Named Pipes oder TCP), enthalten jedoch Informationen über die verwendete Authentifizierungsmethode, das Protokoll und die Client-Netzwerkadresse.
Ja, das kann, aber es hängt davon ab, welche Eigenschaft, die Sie suchen, wie die, die in der Verbindungseigenschaften-UI angezeigt werden, von mehreren Orten kommen.
Es verwendet mehrere Abfragen (wie xp_msver
und select suser_sname()
), um einige Eigenschaften zu erhalten, aber es verwendet auch die xp_instance_regread
gespeicherte Prozedur, um einige Werte aus der Registrierung des Servers zu erhalten.
So ziemlich alles, was gemacht wird, ist Management Studio, wenn die Interaktion mit der SQL-Engine mit SQL gemacht werden kann. Wenn Sie eine Profiler-Sitzung starten und die Aktionen auf der Benutzeroberfläche ausführen, wird aufgedeckt, welche (manchmal obskure / undokumentierte / nicht unterstützte) SQL ausgeführt wird.
Ich denke, die Antwort ist "nein". Computerinformationen werden auf dem Computer gespeichert. Verbindungsinformationen werden höchstwahrscheinlich in einer Konfigurationsdatei oder in MS SQL Server gespeichert.
Aber werfen Sie einen Blick auf die MSSQL-Systemtabellen und sehen Sie, welche Eigenschaften sie haben.
Tags und Links sql sql-server database-connection