Ich habe SQL Server 2012 neu installiert. Es wurde noch keine Datenbank erstellt. Und ich kann das Management Studio mit sa / password öffnen. Die Binn \ sqlservr.exe wird als Dienst gestartet und ich kann sehen, dass sie in der Dienstliste gestartet wurde. Es hat jedoch nicht den 1433-Port abgehört oder sogar standardmäßig keinen Port abgehört, wie ich unten überprüft habe:
tasklist|find /I "sql"
Ich habe:
sqlservr.exe 5668 Services 0 40,112 K
in dem 5668 denke ich ist die PID. Und um dann PID = "5668" zu erhalten, hört man auf welchen Port:
netstat -ano | find /I "5668"
aber ich habe nichts außer leer. Andererseits habe ich nach der Suche nach Beiträgen auf dieser Site die Konfiguration meines SQL Servers noch einmal überprüft: Start-> Alle Programme -> Microsoft SQL Server 2012 -> Konfigurationstools -> SQL Server-Konfigurationsmanager-> SQL Server SQL Native Client 11.0 Konfiguration -> Client-Protokolle -> TCP / IP -> Standardport 1433. Es gibt drei Dienste: SQL Server (MyInstanceName), SQL Server-Agent (MyInstanceName) und SQL Server-Browser. Die letzten beiden werden gestoppt.
SQL Server Configuration Manager-> SQL Server-Netzwerkkonfiguration-> Protokolle für MyInstanceName -> TCP / IP ist standardmäßig deaktiviert, nachdem ich es aktiviert und den Dienst neu gestartet und den netstat -ano | wiederholt habe find / I "newPIDNum" Befehl Ich habe den gefunden
TCP 0.0.0.0:52395 0.0.0.0:0 LISTENING 5668(newPIDNum)
Warum 52395 statt 1433? Und ich konnte den DSN nicht mit dem Windows ODBC-Datenquellenadministrator erstellen, was mir einen Fehler zurückgibt: Der angegebene SQL Server wurde nicht gefunden. Irgendeine Hilfe für mich? Vielen Dank.
Antworten:
Benannte Instanzen überwachen dynamische Ports. Ist die Aufgabe des SQL Server Browser Service , die Clients über den tatsächlichen Port zu informieren. Der SQL-Browser hört UDP 1434 ab und beantwortet Fragen der Form "Was ist der Listening-Port der Instanz" foo "?". Der SQL Server-Browserdienst ist sowohl für TCP- als auch für Named Pipes-Protokolle erforderlich. Clients verwenden den SQL Server-Browser transparent, ohne dass eine spezielle Konfiguration erforderlich ist. Durch einfaches Angeben eines Instanznamens in der Verbindungszeichenfolge (oder im ODBC-DSN) weiß die Clientbibliothek, dass sie sich zuerst an den SQL Server-Browserdienst wenden muss.
Damit der SQL Server-Browser seine Aufgabe erfüllen kann, muss er gestartet werden. Starten Sie es und ändern Sie den Starttyp in "Automatisch".
Nebenbei bemerkt, eine häufig verwendete alternative Konfiguration besteht darin, statische Ports für die benannte Instanz zu verwenden und den Port in der Verbindungszeichenfolge (
tcp:<hostname>:<port>
) anzugeben . Es hat den Vorteil, dass der SQL Server-Browser aus der Gleichung herausgenommen wird, erfordert jedoch eine sorgfältige Wartung der Clients. Das Ändern des Überwachungsports erfordert orchestrierte Änderungen auf allen Clients, allen Computern und an allen Standorten, was normalerweise sehr schmerzhaft ist. Ich empfehle stattdessen die Abhängigkeit vom SQL Server-Browser.quelle
Was meinen SQL Server dazu brachte, auf
TCP
Verbindungen an Port 1433 zu warten, war Folgendes ...TCP
Kommunikation aktivierenTCP
Kommunikationseintrag und wählen SieProperties
Port
Eintrag für " IPAll " ein.Überprüfen Sie Ihre Konfiguration mit
netstat -an
:quelle
Firewalls - 3 davon
Personen, die mit neueren Windows-Versionen nicht vertraut sind (ich bin mit keiner nach XP vertraut und habe versucht, SQL Server unter Windows 10 zu installieren):
Wenn Sie dies nur für das erste tun, das Sie sehen (Domänenprofil), werden Sie sich immer noch fragen, warum Sie eine Verbindung zu Port 80 (IIS), nicht jedoch zu 1433 (SQL Server) herstellen können.
quelle
Ich kann noch keinen Kommentar abgeben (Ruf niedrig, da nicht sehr aktiv): Das Deaktivieren der Windows-Firewall, wie oben erwähnt, ist jedoch die schlechteste Antwort. Richtig wäre: Erstellen Sie Firewall-Regeln in "Inbound", um die Kommunikation mit Port 1433 auf den lokalen IPs (oder allen) zu ermöglichen, die Sie benötigen. Außerdem empfehle ich festzulegen, welche Remote-IPs eine Verbindung zu diesem SQL Server herstellen dürfen.
quelle