Herstellen einer Verbindung zur lokalen Instanz von SQL Server 2008 Express

222

Ich habe gerade SQL Server 2008 Express auf meinem Vista SP1-Computer installiert. Ich hatte zuvor 2005 hier und habe es gut mit dem alten SQL Server Management Studio Express verwendet. Ich konnte ohne Probleme eine Verbindung zu meiner Instanz PC-NAME \ SQLEXPRESS herstellen (nein, PC-NAME ist nicht mein Computername ;-).

Ich habe 2005 und SQL Server Management Studio Express deinstalliert. Anschließend habe ich SQL Server 2008 Express auf meinem Computer installiert und mich für die Installation von SQL Server Management Studio Basic entschieden.

Wenn ich jetzt versuche, eine Verbindung zu PC-NAME \ SQLEXPRESS herzustellen (mit Windows-Authentifizierung, wie ich es immer getan habe), erhalte ich die folgende Meldung:

Es kann keine Verbindung zu PC-NAME \ SQLEXPRESS hergestellt werden. Beim Herstellen einer Verbindung zu SQL Server ist ein netzwerkbezogener oder instanzspezifischer Fehler aufgetreten. Der Server wurde nicht gefunden oder war nicht zugänglich. Stellen Sie sicher, dass der Instanzname korrekt ist und dass SQL Server so konfiguriert ist, dass Remoteverbindungen zugelassen werden. (Anbieter: SQL Network Interfaces, Fehler: 26 - Fehler beim Auffinden des Servers / der angegebenen Instanz) (Microsoft SQL Server, Fehler: -1) Klicken Sie auf: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL + Server & EvtSrc = MSSQLServer & EvtID = -1 & LinkId = 20476

Bei der Installation von SQL Server 2008 musste SQLEXPRESS als lokaler Instanzname verwendet werden. Soweit ich das beurteilen kann, ist SQL Server über SQL Server Configuration Manager so konfiguriert, dass Remoteverbindungen zugelassen werden.

Als ich zu dem darin erwähnten Hilfelink ging, schlägt die Hilfeseite Folgendes vor:

  • Stellen Sie sicher, dass der SQL Server-Browserdienst auf dem Server gestartet ist.
  • Verwenden Sie das SQL Server-Tool zur Oberflächenkonfiguration, damit SQL Server Remoteverbindungen akzeptieren kann. Weitere Informationen zum SQL Server-Tool zur Oberflächenkonfiguration finden Sie unter Oberflächenkonfiguration für Dienste und Verbindungen.

Soweit ich das beurteilen kann, gibt es auf meinem System keinen SQL Server-Browserdienst (in MMC nach einem gesucht, keinen gefunden).

Und das SQL Server-Tool zur Oberflächenkonfiguration gibt es in SQL Server 2008 nicht. Also gute Arbeit mit Ihrer Hilfedokumentation, Microsoft ;-).

Ich weiß nicht, was ich gerade tun soll. Ich hatte eine Menge Arbeit, die ich mir heute nach dem Upgrade auf 2008 erhofft hatte (die Person, mit der ich zusammenarbeite, hat sie problemlos in Betrieb genommen und mir gesagt, dass es einfach sein würde - er ist auch weitaus besser mit Datenbank-Dingen als ich am). Hat jemand eine Idee, was falsch sein könnte? Ich würde es wirklich schätzen. Wenn ich das in ein paar Stunden nicht zum Laufen bringen kann, gehe ich zurück zu SQL Server 2005 (wenn das überhaupt funktioniert, gah ...).

Bearbeiten: Ich habe versucht, die Windows-Firewall auszuschalten, und das hat nicht geholfen. Außerdem habe ich festgestellt, dass ich in meinem SQL Server 2008-Installationsverzeichnisbaum kein "Daten" -Verzeichnis habe. Hätte ich möglicherweise bei der Installation etwas falsch eingerichtet?

rauben
quelle

Antworten:

328

Bitte überprüfen Sie den von Ihnen angegebenen Servernamen. Es sollte mit dem unten gezeigten Namen im Textfeld Benutzername übereinstimmen, und diesem Namen sollte folgen \SQLEXPRESS:

Dialogfeld "Verbinden"

Govardhana Reddy
quelle
30
Diese Frage ist 2 Jahre alt, aber das hat mir geholfen. Ich wusste nicht, dass ich den Computernamen vor dem\SQLEXPRESS
RoLYroLLs
6
Ich verstehe, dass diese Frage ziemlich alt ist, aber ich fand sie nach viel Frust. Ich denke, die Fehlermeldung sollte diesen Vorschlag machen, anstatt nutzlose Informationen zu geben :(
mob1lejunkie
Danke! Der Domainname war das, was ich wirklich brauchte.
Rubens Mariuzzo
Ich kann nicht glauben, dass die Dropdown-Box nur mit SQLEXPRESS gefüllt ist, was nicht funktioniert
Nicolas78
Vielen Dank, stellen Sie sicher, dass Sie bemerken, dass "Ihr Computername" \ SQLEXPRESS
Windsound
106

Starten Sie Ihren lokalen SQL Server-Dienst

  • SQL Config Manager starten : Klicken Sie auf Start -> Microsoft SQL Server 2008 R2 -> SQL Server Configuration Manager
  • SQL-Dienste starten: Stellen Sie die Dienste SQL Server (SQLEXPRESS) und SQL Server Browser auf den automatischen Startmodus ein. Klicken Sie mit der rechten Maustaste auf jeden Dienst -> Eigenschaften -> Gehen Sie zur Registerkarte Dienst

Dadurch wird sichergestellt, dass sie erneut gestartet werden, wenn Sie Ihren Computer neu starten. Bitte überprüfen Sie, ob der Status für beide Dienste "Wird ausgeführt".

Starten Sie Ihren lokalen SQL Server 2008-Dienst

Melden Sie sich an und authentifizieren Sie sich bei Ihrem lokalen SQL Server

  • Öffnen Sie nun SQL Server Management Studio, klicken Sie auf "Mit Objekt-Explorer verbinden" und wählen Sie Servername:

[Ihr PC-Name] \ SQLEXPRESS

Beispiel: 8540P-KL \ SQLEXPRESS oder (localhost) \ SQLEXPRESS

  • So finden Sie Ihren PC-Namen: Klicken Sie mit der rechten Maustaste auf Arbeitsplatz -> Eigenschaften -> Registerkarte Computername

  • Alternative: Anmeldung mit Windows-Authentifizierung: Verwenden des Benutzernamens [Ihre Domain] / [Ihr Benutzername]

SQL Server 2008-Benutzerkontoeinstellungen

Benutzerkonto einrichten

  • Erstellen Sie ein neues Login-Konto: In SQL Mgmt Studio -> Erweitern Sie Ihren lokalen Server -> Sicherheit -> Klicken Sie mit der rechten Maustaste auf Anmeldungen -> Neue Anmeldung

  • Festlegen der Passworteinstellungen für das neue Benutzerkonto: Deaktivieren Sie die Option Kennwortrichtlinie erzwingen, Kennwortablauf und Benutzer müssen pw ändern (da dies lokal ist). Standarddatenbank -> Ihre Datenbank

  • Gewähren Sie Rollen für neues Benutzerkonto: Benutzerzuordnungsseite -> Zuordnen zu Ihrer Datenbank und Erteilen der Statusseite für die db_owner-Rolle -> Erteilen Sie die Berechtigung zum Verbinden und Aktivieren der Anmeldung

SQL Server 2008-Benutzereinstellungen Lokale Datenbank

Richten Sie die Zugriffsberechtigungen / Einstellungen für den Benutzer ein

  • Alle Authentifizierungsmodi aktivieren: Klicken Sie mit der rechten Maustaste auf Ihren lokalen Server -> Eigenschaften -> Registerkarte Sicherheit -> SQL Server- und Windows-Authentifizierungsmodus aktivieren
  • TCP / IP aktivieren: aktivieren Öffnen Sie SQL Server Configuration Manager -> SQL Server-Netzwerkkonfiguration -> Protokolle für SQLEXPRESS -> TCP / IP aktivieren
  • SQL Server-Dienst neu starten: Nach dem Aktivieren von TCP / IP müssen Sie den SQL Server (SQLEXPRESS) neu starten

SQL Server 2008-Serverberechtigungen

Datenbankeigenschaften-Datei für Spring Project

  • database.url = jdbc: jtds: sqlserver: // [lokaler PC-Computer
    ]; instance = SQLEXPRESS; DatabaseName = [Datenbankname];

  • database.username = [Ihr Benutzername] database.password = [Ihr Passwort]

  • database.driverClassName = net.sourceforge.jtds.jdbc.Driver

Wenn Sie größere Screenshots und eine bessere Formatierung der Antwort mit weiteren Details anzeigen möchten, lesen Sie bitte den folgenden Blog-Artikel: Einrichten einer lokalen Instanz von SQL Server 2008 Blog Post:

anataliocs
quelle
3
Danke dir. Dies half Trauben
Alan Waage
1
Ich danke dir sehr! Dies ist auch für die Version 2014 sehr hilfreich !!
Powernit
Wie diese Antwort zeigt, haben SQL Server 2014 Configuration ManagerSie wahrscheinlich KEINE gültige SQL Server-Instanz installiert , wenn Sie bei der Suche nach "Konfigurationsmanager" beim Start nicht sehen (in welchem ​​Jahr auch immer).
Don Cheadle
40

Ich habe (LocalDB) \ MSSQLLocalDB als Servernamen verwendet und konnte dann alle lokalen Datenbanken anzeigen .

Eric Schneider
quelle
Funktionierte gut mit VS 2015 unter Windows 10 64Bit. Danke
Pirat X
Ich vermute, dies hängt davon ab, dass Sie eine .NET-Webanwendung ausgeführt haben, die diesen lokalen Server installiert / erstellt hätte.
Don Cheadle
Dies ist die LocalDB, die mit Visual Studio installiert wird, nicht mit SQL Server Express. Diese Antwort ist hilfreich für Leute, die tatsächlich danach suchen, aber die Unterscheidung ist wichtig, wenn Sie stattdessen auf SQL Express zugreifen müssen oder eine Datenbank in SQL Express erstellen müssen, um Funktionen zu nutzen, die LocalDB nicht unterstützt, wie die Volltextsuche
IronSean
Vielen Dank für die Klarstellung IronSean
petrosmm
34

Haha, oh Junge, ich habe es herausgefunden. Irgendwie habe ich das Datenbankmodul bei der Installation von SQL Server 2008 nicht installiert. Ich habe keine Ahnung, wie ich das verpasst habe, aber genau das ist passiert.

rauben
quelle
Wie kann ich überprüfen, ob das Datenbankmodul installiert ist? würde es nicht automatisch installiert werden?
eran otzap
In meinem Fall habe ich vergessen, Client Tools Connectivity zu installieren , aber es ist nur ein weiteres Kontrollkästchen auf der Seite "Funktionen" während der Installation. Wie auch immer, du hast mich in die richtige Richtung gelenkt. Vielen Dank.
Radek Stromský
In meinem Fall habe ich während der Installation des SQL-Servers keinen Datenbankmodul-Service erhalten. Während der Installation habe ich 3 Optionen: 1. Instane Fetaure (ohne Kontrollkästchen) 2. Shred-Funktion (mit 2 Cehckboxen) 3.Verteilung von Funktionen. Lassen Sie mich wissen, warum ich Database Engine Serivce erhalten habe.
Kavitha
Ich hatte auch dieses Problem. Die Download-Seite ist etwas kryptisch. Stellen Sie sicher, dass Sie das eigentliche Serverprogramm anstelle der Verwaltungsoberfläche oder einer der anderen Optionen herunterladen, die keine Serverkomponenten enthalten.
Anthony
22

Ich weiß, dass diese Frage alt ist, aber falls sie jemandem hilft, sicherzustellen, dass der SQL Server-Browser in der Dienste-MSC ausgeführt wird. Ich habe SQL Server Express 2008 R2 installiert und der SQL Server-Browserdienst wurde auf Deaktiviert gesetzt.

  1. Start-> Ausführen-> Services.msc
  2. Suchen Sie nach "SQL Server Browser" -> Rechtsklick-> Eigenschaften
  3. Setzen Sie den Starttyp auf Automatisch-> Klicken Sie auf Übernehmen
  4. Wiederholen Sie Ihre Verbindung.
capn
quelle
das war es für meine Probleme mit der Verbindung. Ich konnte im Management Studio getragen werden, aber vom App Server war unsichtbar :) Danke!
Slawisch
Dies war es für mich, außer dass der SQL Server-Agent nicht gestartet wurde - ich hatte ihn deaktiviert, weil er zu viele Ressourcen verbraucht, wenn ich ihn nicht benutze.
JTech
15

Ich habe gerade ein damit verbundenes Problem gelöst, das anderen Menschen helfen kann.

Beim Laden von MSSMSE befand sich der Server zunächst so, wie PC_NAME\SQLEXPRESSer mir beim Versuch, eine Verbindung herzustellen, zur Verfügung gestellt wurde. Daher Error: 26 - Error Locating Server/Instance Specifiedging ich in SQL Server Configuration Manager, um zu überprüfen, ob meine SQL Server Browserund die SQL ServerDienste ausgeführt wurden, und stellte sie auf automatisch ein, um festzustellen, dass dies nicht der Fall SQL Server (SQLEXPRESS)istSQL Server(MSSQLSERVER) .

Ich habe dann versucht, eine Verbindung herzustellen, PC-NAME\MSSQLSERVERund diesmal habe SQL Network Interfaces, error: 25 - Connection string is not valid) (MicrosoftSQL Server, Error: 87) The parameter is incorrectich diesen Fehler gegoogelt und festgestellt, dass jemand vorgeschlagen hat, dies nicht PC-NAME\MSSQLSERVERnur zu verwendenPC-NAME als Servernamen an der Serververbindungsschnittstelle zu verwenden, und dies scheint zu funktionieren.

Hier gibt es einen Link http://learningsqlserver.wordpress.com/2011/01/21/what-version-of-sql-server-do-i-have/, der erklärt, dass MSSQLSERVER die Standardinstanz ist und über verbunden werden kann Verwenden Sie nur Ihren Hostnamen.

Ich denke, dies ist möglicherweise darauf zurückzuführen, dass SQL Server 2008 in der Vergangenheit installiert wurde.

WhatEvil
quelle
Sie haben Recht: "Verwenden Sie einfach PC-NAME (geben Sie hier Ihren PC-Namen ein) als Servernamen an der Serververbindungsschnittstelle." Es klappt.
Entwickler Marius Žilėnas
9

Ist unter Configuration Manager und Netzwerkkonfiguration und -protokolle für Ihre Instanz TCP / IP aktiviert? Das könnte das Problem sein.

MkUltra
quelle
1
Sie müssen auch das Konto "sa" aktivieren und ihm ein Kennwort geben, da es standardmäßig deaktiviert ist. Außerdem müssen Sie wahrscheinlich die SQL-Authentifizierung aktivieren, da standardmäßig "nt auth only" aktiviert ist.
Djangofan
8
var.connectionstring = "server=localhost; database=dbname; integrated security=yes"

oder

var.connectionstring = "server=localhost; database=dbname; login=yourlogin; pwd=yourpass"
SQLSERV
quelle
6

Für mich war es nur möglich, es mit "." im Feld Servername; Ich habe eine Weile lang verschiedene Kombinationen aus Benutzername und Servername ausprobiert. Beachten Sie, dass ich während der Installation des Servers (dh dieser Datei: SQLEXPR_x64_ENU.exe) die Standardinstanz überprüft habe, deren Name standardmäßig MSSQLSERVER ist. Die oben genannten Antworten mit hohen Stimmen können am besten für separate benannte Serverinstanzen (dh wenn Sie mehr als 1 benötigen) verwendet werden.

Beide Videos haben mir geholfen:

gbartusk
quelle
3

Eines der ersten Dinge, die Sie überprüfen sollten, ist, dass der SQL Server (MSSQLSERVER) gestartet wird. Sie können zur Dienstekonsole (services.msc) gehen und nach SQL Server (MSSQLSERVER) suchen, um festzustellen, ob es gestartet wurde. Wenn nicht, starten Sie den Dienst.

Sie können dies auch über eine Eingabeaufforderung mit erhöhten Rechten tun, indem Sie Folgendes eingeben net start mssqlserver.

Artyom Pranovich
quelle
1

Für mich war es ein Windows-Firewall-Problem. Eingehende Verbindungen zulassen. Das Öffnen des Ports funktionierte nicht, aber das Zulassen von Programmen.

Verknüpfung

Link2

Manish Jain
quelle