it-swarm.com.de

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

Ich habe gerade SQL Server 2008 installiert und kann mit SQL Server Management Studio keine Verbindung herstellen. Meine Absicht ist es, nur meinen lokaler Windows-Benutzer authentifizieren zu lassen, aber ich bin nicht ganz sicher, wie ich das machen soll .

Im Verbindungsdialog schreibe ich:

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

Meine erste Frage wäre, ob ich mich damit verbinden soll. Wenn ich versuche, eine Verbindung herzustellen, wird folgende Fehlermeldung angezeigt:

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 dort angezeigte URL und es heißt im Grunde nur "sicher sein, dass der SQL Server läuft". Ich denke es ist, aber ich bin nicht ganz sicher.

Ich habe die Windows-Firewall deaktiviert (dies ist Windows 7 7100 x86). Ich habe auch das Anmeldesystem im SQL Server-Konfigurations-Manager geändert, aber es scheint kein Problem beim Anmelden zu sein, aber ich kann nicht einmal den Socket dafür öffnen. Mit demselben Tool habe ich alle Protokolle unter "SQL Server-Netzwerkkonfiguration" -> "Protokolle für SQLEXPRESS" ohne Erfolg aktiviert. Mir gehen die Ideen aus. Was kann ich noch versuchen?

18
pupeno

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

Also nach Ihrem Beispiel:

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

Hoffe das hilft

Update: Diese Anweisungen sind darauf zurückzuführen, dass Sie Express Edition und nicht Dev/Std/Ent Edition von SQL Server ausführen


Stellen Sie sicher, dass die entsprechenden Protokolle aktiviert sind:

  1. Starten Sie den SQL Configuration Manager (dh: Start-> Programme-> SQL Server-> Konfigurationstools)
  2. Erweitern Sie die native SQL-Client-Konfiguration
  3. Klicken Sie auf Client-Protokolle (möglicherweise haben Sie ein 32-Bit- und ein 64-Bit-Protokoll, gelten für beide)
  4. Stellen Sie sicher, dass Shared Memory, TCP/IP und Named Pipes in dieser Reihenfolge aktiviert sind
  5. Erweitern Sie SQL Server-Netzwerkkonfiguration
  6. Stellen Sie sicher, dass Shared Memory 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 bei 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. Siehe hier für die vollständigen Anweisungen von Microsoft.

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

C:\Programme\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\binn.

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

Um dies zu vermeiden, verwenden Sie den Befehl MS-DOS change directory (cd), um vor dem Starten von sqlservr.exe in das richtige Verzeichnis zu wechseln, 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 nützlich sein, um eine Notfallwartung durchzuführen, wenn andere Benutzer keine Verbindung zu SQL Server herstellen sollen, aber jeder Benutzer zum Einzelbenutzer werden kann, einschließlich des SQL Server-Agentendienstes.

Sie sollten sich jetzt bei der Instanz anmelden und sich zur Registerkarte Sicherheit hinzufügen und vollen Zugriff gewähren können.

Alternative Methode:

Es gibt ein Skript hier , das behauptet, den aktuellen Benutzer zur SQL Server-Systemadministratorrolle hinzuzufügen. Dies funktioniert möglicherweise im Einzelbenutzermodus, aber ich habe es nicht überprüft

23
Wayne

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

Sie können diese also stattdessen verwenden. Instanznamen sind gut zu verwenden, da sie ziemlich konsistent sind. Beachten Sie, dass sie auch dynamische Ports verwenden, sodass es sich bei jedem Neustart um einen anderen Port handeln kann. Der SQL Server-Konfigurationsmanager kann einen bestimmten Port festlegen. Ich bin mir nicht sicher über die Express-Tools.

0
Steve Jones