Frage Ich kann keine Verbindung zu meinem lokalen SQL Server 2008 herstellen.


Ich habe gerade SQL Server 2008 installiert und kann keine Verbindung mit SQL Server Management Studio herstellen. Meine Absicht ist, einfach meine zu lassen lokale Windows Benutzer authentifiziert werden, aber ich bin mir nicht ganz sicher, wie das geht.

Im Verbindungsdialog schreibe ich:

Server type: Database Engine
Server name: (local)
Authentication: Windows Authentication

Meine erste Frage wäre, wenn ich mich damit verbinden sollte? Wenn ich versuche, eine Verbindung herzustellen, erhalte ich folgende Fehlermeldung:

TITLE: Connect to Server
------------------------------

Cannot connect to (local).

------------------------------
ADDITIONAL INFORMATION:

A network-related or instance-specific error occurred while establishing a connection
to SQL Server. The server was not found or was not accessible. Verify that the instance 
name is correct and that SQL Server is configured to allow remote connections.
(provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
(Microsoft SQL Server, Error: 2)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=2&LinkId=20476

------------------------------
BUTTONS:

OK
------------------------------

ich ging zu Die URL wird angezeigt und es sagt im Grunde nur "sicher sein, dass SQL Server läuft". Ich denke es ist aber ich bin mir nicht ganz sicher.

Ich habe die Windows-Firewall deaktiviert (das ist Windows 7 7100 x86). Ich habe auch das Anmeldesystem im SQL Server Configuration Manager geändert, aber es scheint, es ist kein Problem der Anmeldung, aber nicht in der Lage, den Socket zu öffnen. Auf dem gleichen Werkzeug habe ich alle Protokolle auf "SQL Server Network Configuration" -> "Protokolle für SQLEXPRESS" ohne Glück aktiviert. Mir gehen die Ideen aus. Was kann ich noch versuchen?


18
2018-05-24 09:55


Ursprung


Klingt wie die wahre Antwort hier war die benannte Instanz. . \ SqlExpress dot bedeutet localhost und \ SqlExpress ist die Instanz, zu der Sie eine Verbindung herstellen möchten. Für diejenigen, die nicht wissen, können Sie mehr als einen SQL Server auf einem Computer haben. SqlExpress ist in diesem Fall nur der Name und nicht ein strenger Hinweis auf den Typ oder die strenge Version des Produkts. - p.campbell


Antworten:


Ok, können Sie Ihre Dienstkonsole öffnen und für SQL Server nach unten scrollen. Sie sollten jetzt die Dienste sehen. Stellen Sie sicher, dass SQL Server (SQLEXPRESS) ausgeführt wird, und versuchen Sie dann. \ SQLEXPRESS anstelle von (local).

So für dein Beispiel:

Server type: Database Engine
Server name: .\SQLEXPRESS
Authentication: Windows Authentication

Hoffe das hilft

Update: Diese Anweisungen sind, weil ich davon ausgehe, dass Sie Express Edition nicht Dev / Std / Ent Edition von SQL Server ausführen


Stellen Sie sicher, dass die entsprechenden Protokolle aktiviert sind:

  1. Starten Sie den SQL-Konfigurationsmanager (zB: Start-> Programme-> SQL Server-> Konfigurationstools)
  2. Erweitern Sie die native SQL-Clientkonfiguration
  3. Klicken Sie auf Clientprotokolle (Sie haben möglicherweise ein 32-Bit- und ein 64-Bit-Bit, wenden Sie sich an beide)
  4. Stellen Sie sicher, dass freigegebener Speicher, TCP / IP und Named Pipes in dieser Reihenfolge aktiviert sind
  5. Erweitern Sie die SQL Server-Netzwerkkonfiguration
  6. Stellen Sie sicher, dass der freigegebene Speicher für SQLEXPRESS und / oder MSSQLSERVER aktiviert ist
  7. Klicken Sie auf SQL Server-Dienste
  8. Starten Sie alle laufenden Dienste neu

Sie sollten sich jetzt in der Instanz anmelden können


Wenn Sie feststellen, dass Sie sich überhaupt nicht anmelden können, müssen Sie möglicherweise diese Anweisungen befolgen, um SQL Server in den Einzelbenutzermodus zu versetzen. Sehen Hier für die vollständigen Anweisungen von Microsoft.

Standardmäßig befindet sich sqlservr.exe unter C: \ Programme \ Microsoft SQL Server \ MSSQL10_50.MSQLSERVER \ MSSQL \ Binn.   Wenn eine zweite Instanz von SQL Server installiert ist, befindet sich eine zweite Kopie von sqlservr.exe in einem Verzeichnis wie

C: \ Programme \ Microsoft SQL Server \ MSSQL10_50.MSQLSERVER \ MSSQL \ Binn.

Sie können eine Instanz von SQL Server mit sqlservr.exe von einer anderen Instanz aus starten, aber SQL Server startet auch die Version der fehlerhaften Instanz, einschließlich Service Packs, was zu unerwarteten Ergebnissen führen kann.

Um dies zu vermeiden, verwenden Sie den MS-DOS-Befehl zum Ändern des Verzeichnisses (cd), um in das richtige Verzeichnis zu wechseln, bevor Sie sqlservr.exe starten, wie im folgenden Beispiel gezeigt.

CD \ Programme \ Microsoft SQL Server \ MSSQL10_50.1 \ MSSQL \ Binn

So starten Sie die Standardinstanz von SQL Server im Einzelbenutzermodus über eine Eingabeaufforderung

Geben Sie an einer Eingabeaufforderung den folgenden Befehl ein:

sqlservr.exe -m

Der Einzelbenutzermodus kann für die Durchführung der Notfallwartung nützlich sein, wenn Sie nicht möchten, dass andere Benutzer eine Verbindung zu SQL Server herstellen, sondern jeder Benutzer zum einzelnen Benutzer werden kann, einschließlich des SQL Server-Agentendiensts.

Sie sollten jetzt in der Lage sein, sich bei der Instanz anzumelden und sich der Registerkarte Sicherheit hinzuzufügen und vollen Zugriff zu gewähren.

Alternative Methode:

Das ist ein Skript Hier der angibt, den aktuellen Benutzer der SQL Server-sysadmin-Rolle hinzuzufügen. Dies funktioniert möglicherweise im Einzelbenutzermodus, aber ich habe es nicht überprüft


23
2018-05-24 10:01



Befindet sich die Services Console im Windows Task-Manager auf der Registerkarte Services? (Win7). Wie auch immer, SQLEXPRESS ist nicht da, wie kann ich es ausführen? - pupeno
Servicekonsole ist Start -> Systemsteuerung -> Verwaltungstools -> Dienste - Wayne
Egal, ich habe die Services-Konsole gefunden, SQLEXPRESS läuft. - pupeno
Verbindung zu. \ SQLEXPRESS hat den Trick gemacht. Vielen Dank Wayne! - pupeno
Vielen Dank ... war verrückt geworden und versuchte es herauszufinden! (Hinweis für andere in ". \ SQLEXPRESS" ... "SQLEXPRESS" ist die Instanz-ID, die Sie dem Server bei der Installation gegeben haben. - RiddlerDev


(local) wird in 127.0.0.1 aufgelöst und funktioniert nur für Standardwerte. Instanzen benötigen wie der Standard für SQL Server Express einen echten Namen. Beachten Sie, dass Sie das Fehlerprotokoll für SQL Server (SQL-Installationsordner, dann Protokollierung) überprüfen können und einer der ersten Einträge die IP-Adresse, den Port und den Namen der Instanz angibt.

Sie könnten diese stattdessen verwenden. Instanznamen sind gut zu verwenden, da sie ziemlich konsistent sind. Beachten Sie, dass sie auch dynamische Ports verwenden, sodass bei jedem Neustart ein anderer Port verwendet werden kann. Der SQL Server-Konfigurationsmanager kann einen bestimmten Port festlegen. nicht sicher über die Express-Tools.


0
2018-05-29 20:12