Keine Verbindung zur Datenbank über localhost\sqlserver
Ich weiß, wir sollten sich bewusst sein, solche Phrasen aber plötzlich alle meine verbindungen zu localhost\sqlexpress
aufgehört zu arbeiten. Als .\sqlexpress
und (local)\sqlexpress
arbeiten, wäre dies nicht eine große Sache, wenn es nicht für die Tatsache, dass ich arbeite in einem team-Projekt, wo alle die Verbindungszeichenfolgen sind definiert in der ehemaligen format. Und natürlich habe ich eine harte Zeit zu akzeptieren, sollte es nicht mehr funktioniert, so verbrachte ich mehrere Stunden zu analysieren und neu zu installieren mehrerer SQL Server-Versionen ohne Erfolg. (Und auf dem Weg zu brechen die db-Projekte in VS2010 so musste ich neu installieren als auch...).
Aber hier sind die details. Wie bereits erwähnt, ich konnte keine Verbindung zu localhost\sqlexpress
aber .\sqlexpress
. Die gleichen Symptome, die mit SQL Server Manager, und die Verbindungszeichenfolgen für die Bereitstellung und Ausführung von wcf-Diensten. Komischerweise lösen die default-Instanz als localhost
funktioniert.
Ersten Dinge, Erstens, ja, der SQL Server ausgeführt wird und nur um sicher zu sein habe ich aktiviert TCP/IP und der port fixiert 1433 obwohl es funktioniert auf meinen Kollegen die Maschine mit TCP/IP deaktiviert. (Irgendwo auf dem Weg habe ich gelesen, dass localhost
gelöst werden können, unter Verwendung von shared memory bei der Verwendung des nativen SQL-client-so dass ich denke, dass ist das, was passiert auf seinem system.)
Das setup ist nur ein SQL Server Express 2008 R2-Instanz und VS2010 auf Windows 7 Professional.
Inbetriebnahme Sql express das errorlog sagt:
Server is listening on [ 'any' <ipv6> 1433].
Server is listening on [ 'any' <ipv4> 1433].
Netstat sagt (Auszug):
TCP 0.0.0.0:1433 Machinenename:0 LISTENING
TCP [::]:1433 Machinenename:0 LISTENING
Ich beachte das fehlen von 127.0.0.1:1433 ein, und alle UDP auf port 1433
Um das problem zu diagnostizieren ich verwenden von sqlcmd, um herauszufinden, welches Transportmittel verwendet wird:
1. localhost\sqlexpress
sqlcmd -Slocalhost\sqlexpress -> Shared memory
sqlcmd -Stcp:localhost\sqlexpress -> SQL Server Network Interfaces: Error Locating Server/Instance Specified
Kann nicht verbinden zu localhost\sqlexpress von SQL Server Management Studio, auch wenn ich festlegen, shared memory-Protokoll
2. localhost
sqlcmd -Slocalhost -> TCP
sqlcmd -Stcp:localhost -> TCP
Kann mit localhost verbinden von SQL Server Management Studio
3. (local)\sqlexpress
sqlcmd -S(local)\sqlexpress -> Shared memory
sqlcmd -Stcp:(local)\sqlexpress -> SQL Server Network Interfaces: Error Locating Server/Instance Specified
Verbinden zu können (local)\sqlexpress von SQL Server Management Studio
So, ich bin verloren hier. Jede Hilfe wird sehr geschätzt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
in MS SQL, gehen Sie zu Configuration-tools -> SQL Server-Konfigurations-Manager
Wählen Sie " SQL Server Network Configuration -> Wählen Sie Protokoll
im rechten Fenster aktivieren Sie tcp/ip
und starten Sie die Dienste in services.msc
dann versuchen, eine Verbindung zu localhost\sqlexpress
Haben Sie sichergestellt, dass Shared-Memory ist aktiviert in SQL Server-Konfigurations-Manager "unter" SQL Server Netzwerkkonfiguration | Protokolle?
Wenn ich deaktivieren Sie das Protokoll "Shared Memory", "sqlcmd -S.\sqlexpress" mal aus. Aktivieren es wird der Befehl einwandfrei funktionieren.
Einem mehr gedacht... - Port 1434 verwendet wird, für die SQL Server-Discovery-Dienst, die es erlaubt, Programme wie SQL Management Studio, und die, wie entdecken Sie, dass der SQL-Server läuft auf der Maschine. Nur eine weitere Sache zu untersuchen.
Hatten wir dieses problem. Für einige Grund, auf diese Maschine, ein Alias erstellt worden, die Regie bei der server-name, den wir verwenden (localhost\SQL2008_R2) für einen server der nicht mehr existiert.
Sobald wir gelöschte Alias-alles funktioniert.
Die Aliase sind ein Baum-Knoten im SQL Server-Konfigurations-Manager.