Servizio SQL Espress

mercoledì 30 luglio 2008 - 17.32

assiolle Profilo | Junior Member

Ciao a tutti,
ho un comportamento che mi pare anomalo.
Mi spiego. Creo un DB su SQL Express.
Tramite la configurazione guidata origine dati di VS2008 seleziono il file di DB.
VS2008 mi segnala che il file è già in uso e non mi permette di selezionarlo.
Quindi Arresto il servizio SQL Express.
Seleziono il file.
Avvio il Servizio SQL Express.
Test di connessione. OK.

Ma ogni volta che collego un file di database devo eseguire questa procedura? Mi sapete dire se è normale oppure no ?

Grazie
Alessio
http://blogs.dotnethell.it/alessiop

lbenaglia Profilo | Guru

>Ma ogni volta che collego un file di database devo eseguire questa
>procedura?
La soluzione è NON utilizzare quella ... di User Instances.
Esegui l'attach dei data file e del transaction log all'istanza, e connettiti al db utilizzando una classica connection string.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

assiolle Profilo | Junior Member

Ok, grazie.
La user instance devo quindi impostarla a false nella stringa connection.
Ma cosa intendi per eseguire l'attach dei file all'istanza...non è già così??Il DAtaSource è .\SQLExpress
Alessio
http://blogs.dotnethell.it/alessiop

lbenaglia Profilo | Guru

>La user instance devo quindi impostarla a false nella stringa
>connection.
Puoi evitare del tutto di specificare l'opzione User Instance:
http://www.connectionstrings.com/?carrier=sqlserver2005

>Ma cosa intendi per eseguire l'attach dei file all'istanza...non
>è già così??
Se utilizzi le user instances, no dato che il db è "scollegato" dall'istanza.
Lancia SSMS, lo vedi il db nel nodo Databases?
Si, tutto OK;
No, esegui l'attach via SSMS o sp_attach_db.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

assiolle Profilo | Junior Member

Ti ringrazio, mi è chiaro.

>Se utilizzi le user instances, no dato che il db è "scollegato" dall'istanza.
>Lancia SSMS, lo vedi il db nel nodo Databases?
>Si, tutto OK;
>No, esegui l'attach via SSMS o sp_attach_db.

Il problema era che io creavo il DB direttamente dal SSMS.
Se poi tentavo da VS di eseguire la connessione avevo il problema "file già in uso".
Se invece dopo aver creato il DB lo scollegavo e lo ricollegavo tutto dal SSMS e poi da VS eseguivo la connessione tutto filava liscia come l'olio!!
E questo che ancora non capisco...
Quando crei il DB da SSMS a quale istanza lo assegna, visto che ho solo quella di SQLExpress??

Grazie ancora

Alessio
http://blogs.dotnethell.it/alessiop

lbenaglia Profilo | Guru

>Il problema era che io creavo il DB direttamente dal SSMS.
>Se poi tentavo da VS di eseguire la connessione avevo il problema
>"file già in uso".
Per forza, facevi uso delle User Instances.

>Se invece dopo aver creato il DB lo scollegavo e lo ricollegavo
>tutto dal SSMS e poi da VS eseguivo la connessione tutto filava
>liscia come l'olio!!
>E questo che ancora non capisco...
OK, è tutto chiarissimo

In SQL Server un database è una entità logica costituita fisicamente almeno da 1 data file (il Master Data File con estensione .mdf) e da 1 transaction log (con estensione .ldf) appartenente ad una istanza (servizio MSSQLServer).
Se hai eseguito l'installazione di default di SQL Server Express, automaticamente sarà stata creata l'istanza MSSQLServer$SQLEXPRESS che potrai referenziare come <nome macchina>\SQLEXPRESS.
Collegandoti ad essa con SSMS e creando un nuovo db, quest'ultimo apparterrà all'istanza <nome macchina>\SQLEXPRESS.
Per accedervi da un client .NET è sufficiente istanziare la classe sqlConnection specificando la corretta stringa di connessione (senza fare uso delle User Instances).

>Quando crei il DB da SSMS a quale istanza lo assegna, visto che
>ho solo quella di SQLExpress??
A quella a cui ti sei autenticato

>Grazie ancora
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5