Ich habe alle drei bei lokalen programmatischen Verbindungen zu Datenbanken verwendet. Gibt es einen wirklichen Unterschied zwischen ihnen?Gibt es einen Unterschied zwischen (lokal), '.' und localhost?
Antwort
Das Endergebnis ist das gleiche. Der Unterschied ist:
- ‚localhost‘ löst bei der TCP/IP-Ebene und entsprechen die IP-Adresse 127.0.0.1
- Abhängig von der Anwendung „(local)“ könnte nur ein Alias für ‚localhost ". In SQLServer, '(lokal)' und '.' bedeutet, dass die Verbindung mit dem Named Pipes-Protokoll (Shared Memory) innerhalb derselben Maschine hergestellt wird (muss nicht durch den TCP/IP-Stack gehen).
Das ist die Theorie. In der Praxis glaube ich nicht, dass es einen wesentlichen Unterschied in der Leistung oder den Funktionen gibt, wenn Sie einen von beiden verwenden.
Sie sind allgemein Synonyme. Dies hängt jedoch von der Anwendung ab, die Sie konfigurieren. Solange die App versteht, was Sie meinen, sollte dies nicht zu einem Leistungsverlust führen. Wenigstens muss man nicht vorzeitig ausradieren, wenn du meine Drift bekommst.
Soweit ich weiß, den Punkt "." und "local" sind Windows-Anwendung Begriffe, kein "Standard" Begriff, localhost zu 127.0.0.1 in der TCP/IP-Ebene löst also, wenn Sie Sie sicherstellen möchten, sind plattformübergreifend "kompatibel" sollten Sie entweder localhost oder 127.0.0.1 verwenden
"localhost" ist kein magisches oder reserviertes Wort; seine Definition existiert in/etc/hosts, oder \ WINDOWS \ SYSTEM32 \ DRIVERS \ ETC \ HOSTS, oder ... – tzot
@tzot Wann habe ich gesagt, dass localhost ein magisches oder reserviertes Wort ist? Im Gegenteil, ich habe gesagt, dass dot und local mehr SQL-Server/Windows-Benennungsstandards sind und dass localhost von der hosts-Datei zu 127.0.0.1 aufgelöst wird, normalerweise sowohl unter Unix als auch unter Windows. Interessiert zu lesen? –
Die von Sergio beschriebenen Unterschiede können durch Berechtigungen bemerkbar sein.
Sie sind SQL-Benutzer hat am wahrscheinlichsten Zugriff auf die Named Pipe, kann aber oft nicht auf localhost zugreifen. Sie werden bald genug bemerken, wenn dies der Fall ist :)
- 1. Gibt es einen Unterschied zwischen $ @ und "$ @"?
- 2. Gibt es einen Unterschied zwischen '=' und In?
- 3. Gibt es einen Unterschied zwischen VbNullString und ""?
- 4. Gibt es einen Unterschied zwischen den Randwerten?
- 5. Gibt es einen Unterschied zwischen diesen Anweisungen?
- 6. null und NULL, gibt es einen Unterschied?
- 7. Gibt es einen Unterschied zwischen Typguss und Typkonvertierung?
- 8. Gibt es einen Unterschied zwischen Sudo-Modus und Kernel-Modus?
- 9. Gibt es einen Unterschied zwischen .NET und ASP.NET
- 10. Gibt es einen Unterschied zwischen einem Steuerelement und einem Widget?
- 11. Gibt es in Rails 3 einen Unterschied zwischen = und assign_attributes?
- 12. Gibt es einen Unterschied zwischen glClearColor (0,0,0,0,0,0,0,0) und glClear (COLOR_BUFFER_BIT)?
- 13. Gibt es einen Unterschied zwischen XSD: Pattern und C# Regex?
- 14. Gibt es einen Unterschied zwischen der ** Kopie ** und ** addAll **?
- 15. Gibt es einen Unterschied zwischen SqlConnection.CreateCommand und neuen SqlCommand?
- 16. Gibt es einen Unterschied zwischen BigDecimal ("0") und BigDecimal.ZERO?
- 17. Gibt es einen Unterschied zwischen "is" und isKindOfClass()?
- 18. Gibt es einen Unterschied zwischen NSString vergleichen: und isEqual (ToString) :?
- 19. gibt es einen Unterschied zwischen Malloced-Arrays und neue Arrays
- 20. Gibt es einen Unterschied zwischen ui: Fragment und s: Fragment?
- 21. Gibt es einen Unterschied zwischen LayoutInflater.from (Kontext) und context.getLayoutInflater()?
- 22. Gibt es einen funktionalen Unterschied zwischen AtomicInteger.updateAndGet() und AtomicInteger.accumulateAndGet()?
- 23. Gibt es einen Unterschied zwischen delete x und delete (x)?
- 24. Gibt es einen Unterschied zwischen Ember Serve und Glut-Server
- 25. Gibt es einen Unterschied zwischen React.render() und ReactDOM.render()?
- 26. Gibt es einen Unterschied zwischen "center_horizontal | center_vertical" und "center"
- 27. Gibt es einen Unterschied zwischen einem Webserver und einem Webdienst?
- 28. Gibt es einen großen Unterschied zwischen XAMPP und LAMP
- 29. Warum gibt es einen Unterschied zwischen "Import" und "Import *"?
- 30. Gibt es einen Unterschied zwischen readonly und {get; }
In der Praxis gibt es einen kleinen Unterschied in dem Sie überprüfen sollten, welches Protokoll aktiviert ist. Manchmal sind nur bestimmte Protokolle standardmäßig aktiviert, die am einfachsten im SQL Server-Konfigurations-Manager angezeigt und geändert werden können. Das würde einen großen Unterschied machen, wenn Sie eine Verbindung über TCP/IP herstellen, aber nur Named Pipes aktiviert sind. – jamiebarrow
Ich habe kürzlich festgestellt, dass Sie im Kontext des aktuellen Servers auf die aktuelle Instanz verweisen können, ohne den Namen anzugeben. Ich habe einen Job erstellt, und der Servername akzeptiert keinen Instanznamen zusammen mit localhost (z. B. localhost \ SQLEXPRESS), aber er weiß (lokal), ohne den Instanznamen anzugeben. Dasselbe gilt für die Datenquelle von SSIS, wo sie weiß, dass die aktuelle Instanz als (lokal) ohne Angabe des tatsächlichen Instanznamens gilt. – MichaelChan