Domanda

Sto provando a connettermi a un MDF. Ho anche fatto tutto il possibile per reinstallare interamente sql server express (ora è l'unico sapore di SQL installato sulla mia scatola, dove in precedenza avevo 05 dev ed express). Ho verificato che i percorsi sono tutti corretti e finora il mio google-fu non mi ha aiutato.

Il messaggio di eccezione completa è:

  

Impossibile generare un'istanza utente di SQL Server a causa di un errore in   avviare il processo per l'istanza utente. La connessione sarà   chiuso.

La stringa di connessione è:

<add name= "CustomerEntities"
     connectionString="metadata=res://*/Data.CustomerModel.csdl|res://*/Data.CustomerModel.ssdl|res://*/Data.CustomerModel.msl;
     provider=System.Data.SqlClient;
     provider connection string='Data Source=.\SQLEXPRESS;
     AttachDbFilename=\App_Data\CustomerDb.mdf;
     Integrated Security=True;
     User Instance=True'"
     providerName="System.Data.EntityClient" />

Informazioni aggiuntive:

Molti dei riferimenti a questo errore che ho trovato online non si applicano a me. Ad esempio, quello che ho visto è dove si verifica questo errore quando provo ad avviare l'istanza utente sul desktop remoto (lo sto facendo localmente). Mentre un altro suggerisce che ha a che fare con i file rimanenti di una vecchia installazione espressa ... Ho cercato nelle posizioni prescritte e non ho trovato quei manufatti. Ho anche provato a eseguire sp_configure 'user instances enabled', '1', ma ha detto che era già impostato su 1.

È stato utile?

Soluzione

ok, ora funziona! suppongo che sia stato un problema composto ... i passaggi che ho preso per risolverlo sono come tali:

  1. Modificata la seguente proprietà nella stringa di connessione (notare la sottile differenza): AttachDbFilename=|DataDirectory|CustomerDb.mdf;
  2. Eliminato il contenuto della seguente directory: c:\Users\<user name>\AppData\Local\Microsoft\Microsoft SQL Server Data\SQLEXPRESS. Pensavo di averlo cercato prima, ma in realtà avevo cercato nella cartella Microsoft Sql Server. Ancora una volta, una sottile differenza.

Una volta che ho fatto queste due cose, la connessione ha iniziato a funzionare :-D

Altri suggerimenti

Anche se le risposte di cui sopra hanno risolto il problema di molte persone, sto ancora trovando che queste non sono all'altezza dell'essenza del problema. Più vicino è la risposta di @sohaiby sopra. Ma si riferisce erroneamente all'utilizzo di Management Studio.

Il messaggio di errore in cima a questo argomento dice molto chiaramente che il problema è nella generazione di un'istanza utente. Quale istanza è e come viene utilizzata è descritta qui in ogni dettaglio: https://msdn.microsoft.com/en- us / library / ms254504 (v = vs.110) aspx

Personalmente, ho riscontrato questo problema quando ho cambiato la connessione DB dalla modalità di autenticazione di Windows all'autenticazione di SQL Server. L'ho risolto semplicemente modificando una parte della stringa di connessione in: & Quot; User Instance = false; & Quot; invece di & Quot; User Instance = true; " ;, che ha funzionato bene con l'autenticazione di Windows.

Dopo aver cambiato in " User Instance = false; " la mia connessione ha funzionato bene senza ulteriori manipolazioni. Non posso insistere sul fatto che funzionerà o sarà adatto in tutti gli scenari. Tuttavia, consiglierò sicuramente di provarlo prima di altri metodi drastici sopra descritti, come la cancellazione delle directory di lavoro del server SQL.

Ho riscontrato lo stesso errore quando ho spostato il codice da una macchina all'altra. sto usando VS2010 e SQLEXPRESS 2008 ne deriva.

Trucco, eliminando tutto il contenuto dalla seguente piega " C: \ Users \ UserName \ AppData \ Local \ Microsoft \ Microsoft SQL Server Data \ SQLEXPRESS " ha funzionato per me.

Oltre alle altre soluzioni qui, anche questa può essere utile. Assicurarsi che il pool di applicazioni sia in esecuzione come servizio di rete e non ApplicationPoolIdentity.

Questa soluzione è stata trovata qui: http://blogs.msdn.com/b/webdevelopertips/archive/2010/05/06/tip-106-did-you-know- how-to-create-the-aspnetdb-mdf-file.aspx

Come notato da altri, l'eliminazione del contenuto della directory: c: \ Users \\ AppData \ Local \ Microsoft \ Microsoft SQL Server Data \ SQLEXPRESS lo ha risolto per me. Una nota che può aiutare gli altri, su Windows 7, a sfogliare la directory c: \ users \ username dal browser dei documenti non mostra la cartella AppData che mi ha scartato per un po '(poiché pensavo di non avere la directory AppData) fino a quando Ho scoperto che esiste davvero (ma non viene visualizzato nel browser dei documenti in Windows 7), devi solo digitare il nome completo del percorso per accedervi.

Ho iniziato a ricevere questo errore questa mattina in un ambiente di distribuzione di prova. Stavo usando SQL Server Express 2008 e l'errore che stavo riscontrando era

" Impossibile generare un'istanza utente di SQL Server a causa di un errore nell'avvio del processo per l'istanza utente. La connessione verrà chiusa. & Quot;

Incerto su ciò che l'ha causato, ho seguito le istruzioni in questo post e in altri post su eliminazione dell'offerta &; C: \ Users \ UserName \ AppData \ Local \ Microsoft \ Microsoft SQL Server Data \ SQLEXPRESS " directory, ma inutilmente.

Quello che mi ha aiutato a cambiare la stringa di connessione da

" Origine dati =. \ SQLExpress; Catalogo iniziale = DBFilePath; Sicurezza integrata = SSPI; MultipleActiveResultSets = true "

a

" Origine dati =. \ SQLExpress; Catalogo iniziale = DBName; Sicurezza integrata = SSPI; MultipleActiveResultSets = true "

Metto in fase questo problema con il mio file mdf nell'applicazione Windows Form e faccio semplicemente riavviare il mio computer e il mio problema è risolto.

Per risolvere questo problema, aprire SQL Server Management Studio Express. Nell'editor di query digitare questo testo:

sp_configure 'user instances enabled', 1;
 RECONFIGURE

Eseguilo. Quindi riavviare il database di SQL Server.

Hai provato a connetterti all'istanza di SQL Server utilizzando SQL Management Studio?

Se anche questo non ti consente di connetterti, potrebbe essere perché il servizio SQL non si avvia correttamente.

Verifica che il servizio sia in esecuzione controllando i servizi nel pannello di controllo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top