Non riesco a connettermi al mio SQL Server 2008 locale?


18

Ho appena installato SQL Server 2008 e non riesco a collegarmi con SQL Server Management Studio. La mia intenzione è quella di consentire l'autenticazione dell'utente locale di Windows, ma non sono del tutto sicuro di come farlo .

Nella finestra di dialogo Connetti sto scrivendo:

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

La mia prima domanda sarebbe se questo è ciò a cui dovrei connettermi? Quando provo a connettermi ricevo questo messaggio di errore:

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
------------------------------

Sono andato all'URL lì visualizzato e praticamente dice "assicurati che il server SQL sia in esecuzione". Penso di si ma non ne sono del tutto sicuro.

Ho disabilitato Windows Firewall (questo è Windows 7 7100 x86). Ho anche modificato il sistema di accesso in Gestione configurazione SQL Server ma sembra che non sia un problema di accesso, ma non riesco nemmeno ad aprire il socket. Sullo stesso strumento ho abilitato tutti i protocolli su "Configurazione di rete di SQL Server" -> "Protocolli per SQLEXPRESS" senza fortuna. Ho finito le idee. Cos'altro posso provare?


Sembra che la vera risposta qui sia stata l'istanza denominata. . \ SqlExpress punto indica localhost e \ SqlExpress è l'istanza a cui si desidera connettersi. Per chi non lo sapesse, è possibile avere più di un SQL Server su una macchina. SqlExpress in questo caso, è solo il nome, piuttosto che un'indicazione rigorosa del tipo o della versione rigorosa del prodotto.
p

Risposte:


23

Ok, puoi aprire la console dei servizi e scorrere fino a S per SQL Server. Ora dovresti vedere i servizi. Assicurarsi che SQL Server (SQLEXPRESS) sia in esecuzione, quindi provare. \ SQLEXPRESS anziché (locale).

Come per il tuo esempio:

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

Spero che sia di aiuto

Aggiornamento: queste istruzioni sono perché suppongo che si stia eseguendo Express Edition non Dev / Std / Ent edition di SQL Server


Prova ad abilitare i protocolli appropriati:

  1. Avviare SQL Configuration Manager (es .: Start-> Programmi-> SQL Server-> Strumenti di configurazione)
  2. Espandere la configurazione del client nativo SQL
  3. Fai clic su Protocolli client (potresti avere un 32-bit e un 64-bit, applicare a entrambi)
  4. Assicurarsi che la memoria condivisa, TCP / IP, Named Pipes siano abilitati in questo ordine
  5. Espandi Configurazione di rete di SQL Server
  6. Assicurarsi che la memoria condivisa per SQLEXPRESS e / o MSSQLSERVER sia abilitata
  7. Fare clic su SQL Server Services
  8. Riavvia tutti i servizi in esecuzione

Ora dovresti essere in grado di accedere all'istanza


Se non riesci ad accedere affatto, potresti dover seguire queste istruzioni per portare SQL Server in modalità utente singolo. Vedi qui per le istruzioni complete di Microsoft.

Per impostazione predefinita, sqlservr.exe si trova in C: \ Programmi \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ Binn. Se è installata una seconda istanza di SQL Server, una seconda copia di sqlservr.exe si trova in una directory come

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

È possibile avviare un'istanza di SQL Server utilizzando sqlservr.exe da un'istanza diversa, ma SQL Server avvierà anche la versione dell'istanza errata, inclusi i service pack, che potrebbe portare a risultati imprevisti.

Per evitare ciò, utilizzare il comando change directory (cd) MS-DOS per passare alla directory corretta prima di avviare sqlservr.exe, come mostrato nell'esempio seguente.

cd \ Programmi \ Microsoft SQL Server \ MSSQL10_50.1 \ MSSQL \ Binn

Per avviare l'istanza predefinita di SQL Server in modalità utente singolo da un prompt dei comandi

Da un prompt dei comandi, immettere il seguente comando:

sqlservr.exe -m

La modalità utente singolo può essere utile per eseguire la manutenzione di emergenza quando non si desidera che altri utenti si connettano a SQL Server, ma qualsiasi utente può diventare il singolo utente, incluso il servizio SQL Server Agent.

Ora dovresti essere in grado di accedere all'istanza e aggiungerti alla scheda Sicurezza e concedere l'accesso completo.

Metodo alternativo:

C'è uno script qui che afferma di aggiungere l'utente corrente al ruolo sysadmin di SQL Server. Potrebbe funzionare in modalità utente singolo ma non l'ho verificato


La console dei servizi è la scheda Servizi nel Task Manager di Windows? (Win7). Ad ogni modo, SQLEXPRESS non è presente, come posso eseguirlo?
pupeno,

1
La console di servizio è start-> pannello di controllo-> strumenti di amministrazione-> servizi
Wayne,

Non importa, ho trovato la console dei servizi, SQLEXPRESS è in esecuzione.
pupeno

La connessione a. \ SQLEXPRESS ha funzionato. Grazie mille Wayne!
pupeno

1
Grazie mille ... stava impazzendo cercando di capirlo! (Nota per gli altri in ". \ SQLEXPRESS" ... "SQLEXPRESS" è l'ID istanza che hai fornito al server durante l'installazione.
RiddlerDev

0

(locale) si risolve in 127.0.0.1 e funziona solo per impostazione predefinita. Le istanze, come l'impostazione predefinita per SQL Server Express, richiedono un nome reale. Si noti che è possibile controllare il registro degli errori per SQL Server (cartella di installazione SQL, quindi accedere) e una delle prime voci fornirà l'indirizzo IP, la porta e il nome dell'istanza.

Quindi potresti usare quelli invece. I nomi di istanza sono buoni da usare, poiché sono abbastanza coerenti. Si noti che usano anche porte dinamiche, quindi potrebbe essere una porta diversa ad ogni riavvio. Gestione configurazione SQL Server può impostare una porta specifica. non sono sicuro degli strumenti Express.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.