Gibt es neben dem Anhängen des Debuggers noch weitere Unterschiede zwischen "(local) \ Instance" und "MyLocalName \ Instance"?


7

Wenn Sie SQL Server Management Studio für SQL Server 2008 R2 verwenden, das eine Verbindung zu einer lokalen SQL Server 2008 R2-Instanz (Version 10.50.2500) herstellt, kann (local)\sql2008der Debugger bei Verwendung des Instanznamens nicht an alle Abfragen angehängt werden, die ich versuche Debuggen mit der Fehlermeldung

T-SQL-Debugging kann nicht gestartet werden. Verbindung zum Computer '(lokal)' konnte nicht hergestellt werden. Der angeforderte Name ist gültig, es wurden jedoch keine Daten des angeforderten Typs gefunden.

Wenn ich diese Verbindung zum src\sql2008Debugger ändere, läuft sie jedoch problemlos.

Gibt es andere Unterschiede bei der Verwendung des (local)Alias ​​durch Ihre Verbindung als das oben erwähnte Debugger-Problem?

Antworten:


7

(lokal) wird mit allen Programmen, die zu ändern verstehen (local)oder .oder localhostin die Maschine Netzwerkstandort. Ich würde mir vorstellen, dass dies das Problem mit dem Debugger ist. Solange das von Ihnen verwendete Programm (dh SSMS) diese Übersetzung versteht, gibt es keinen Verhaltensunterschied, über den Sie sich Sorgen machen müssen.

Ich würde mir vorstellen, dass für die meisten Produktionsserver die meisten Verbindungen nicht von einem lokalen Computer aus hergestellt werden, da Sie einen separaten Datenbankserver für Sicherheit, Verfügbarkeit und Leistung haben würden. Aus diesem Grund ist es vielleicht besser, auf den Server zu verweisen, wie Sie es von anderen Computern aus tun, aber die meiste Zeit, wenn ich lokal arbeite, verbinde ich mich einfach mit .oder .\instanceNameda ich das Tippen hasse ;-)


Ok, ich dachte, wenn ich (lokal) verwenden würde, würde es versuchen, so etwas wie Shared Memory für die Kommunikation zu verwenden, aber wenn ich den Namen ändere, wird es auf TCP / IP gezwungen, und das ist der Grund für das unterschiedliche Debugger-Verhalten.
Scott Chamberlain

Ahh. Tut mir leid, dass ich die Frage, die Sie gestellt haben, falsch verstanden habe. Ich glaube eigentlich nicht, dass es ein anderes Protokoll verwendet, aber ich werde es jetzt überprüfen :)
Mike Walsh

1
Auch der Gedanke, einen Debugger anzuhängen und eine Abfrage (die Sperren für Tabellen / Zeilen aufheben würde, wenn Abfragen ausgeführt werden, die Sperren erfordern) auf einem Produktionsserver zu durchlaufen, lässt mich schaudern. Dies ist nur für eine Entwicklungsumgebung gedacht.
Scott Chamberlain

Ja, ich hätte dort meinen Standard-Haftungsausschluss geben sollen, dass der Debugger nicht zum Herumspielen geeignet ist, aber ich nehme an, Sie wussten das, wenn Sie genug wussten, um damit zu spielen :)
Mike Walsh

1
Localhost funktioniert tatsächlich in jeder Anwendung. Dies liegt daran, dass in der Hosts-Datei ein Eintrag für localhost vorhanden ist. . und (lokal) werden tatsächlich über den Treiber übersetzt, sodass sie mit allem funktionieren sollten, was die tatsächlichen Microsoft-Treiber verwendet.
Mrdenny
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.