Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Errore collegamento sql server 2012
venerdì 07 marzo 2014 - 15.12
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
batti
Profilo
| Newbie
19
messaggi | Data Invio:
ven 7 mar 2014 - 15:12
Ciao a tutti, ho un problema di connessione su un db sql server, le ho provate tutte e non so più dove sbattere la testa...
la situazione è la seguente:
In locale:
Windows 8, Sql Server 2012, Visual Studio 2013. Ho creato il mio db con sql server2012 (autenticazione Windows) la mia applicazione web con visual studio e una applicazione desktop. Tutto funziona alla grande, la mia applicazione web funziona, la mia applicazione desktop funziona e il db lo apro con il management studio e vedo le modifiche che le mie applicazioni hanno effettuato sul db.
Sul server web interno
Windows server 2008 R2, sql server express 2012 (autenticazione Windows). Disastro... Ho copiato con un semplice copia e incolla la cartella App_Data che contiene i miei db mdf e ldf. Ho dato alla cartella le autorizzazioni necessarie e ho tolto la spunta di sola lettura, con il Managment studio express apro il db correttamente e riesco ad effettuare le modfiche sui dati, installo la mia applicazione desktop e funziona correttamente. L'applicazione web non riesce a collegare il db e la stringa di connessione è la solita dell'applicazione dektop!!!
DBConnection.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=C:\percorso\miodb.mdf;InitialCatalog=miodb;Integrated Security=True"
Errore: Autorizzazione CREATE DATABASE negata nel database 'master'. Impossibile collegare il file 'C:\percorso\miodb.mdf' come database 'miodb'.
Sembra un problema di autorizzazioni ma credo di averle date tutte!!! Ho provato a cambiare anche la stringa in mille modi ma niente da fare a volte cambia l'errore ma non si collega. Perché con il management funziona?
grazie a tutti alessio
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 7 mar 2014 - 15:22
>Ciao a tutti,
ciao
>In locale:
>Windows 8, Sql Server 2012, Visual Studio 2013. Ho creato il
>mio db con sql server2012 (autenticazione Windows) la mia applicazione
>web con visual studio e una applicazione desktop. Tutto funziona
>alla grande, la mia applicazione web funziona, la mia applicazione
>desktop funziona e il db lo apro con il management studio e vedo
>le modifiche che le mie applicazioni hanno effettuato sul db.
Questo vuol dire che hai una connection string ad una ISTANZA di sql server express? Hai il database sotto servizio? Oppure lo hai messo nella APP DATA anche in sviluppo?
>Sul server web interno
>Windows server 2008 R2, sql server express 2012 (autenticazione
>Windows). Disastro... Ho copiato con un semplice copia e incolla
>la cartella App_Data che contiene i miei db mdf e ldf. Ho dato
>alla cartella le autorizzazioni necessarie e ho tolto la spunta
>di sola lettura, con il Managment studio express apro il db correttamente
>e riesco ad effettuare le modfiche sui dati, installo la mia
>applicazione desktop e funziona correttamente. L'applicazione
>web non riesce a collegare il db e la stringa di connessione
>è la solita dell'applicazione dektop!!!
>DBConnection.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=C:\percorso\miodb.mdf;InitialCatalog=miodb;Integrated Security=True"
In generale, e questo non mi stanco di dirlo, la funzionalità denominata come USER INSTANCE è DEPRECATA! Quindi fate molta attenzione a seguire questa via. Si può usare SQLCe ad esempio, oppure, in locale LocalDB Express (sempre sql server express) ma poi in produzione, database sotto istanza o SQLCe (ma è veramente restrittivo).
prova a dare intanto una letta a questo link:
http://stackoverflow.com/questions/11178720/whats-the-issue-with-attachdbfilename
>Errore: Autorizzazione CREATE DATABASE negata nel database 'master'.
>Impossibile collegare il file 'C:\percorso\miodb.mdf' come database 'miodb'.
>Sembra un problema di autorizzazioni ma credo di averle date
>tutte!!! Ho provato a cambiare anche la stringa in mille modi
>ma niente da fare a volte cambia l'errore ma non si collega.
Per questo prova a verificare che l'opzione UserInstanceEnabled sia abilitata...
in SSMS, tasto destro sul nodo dell'istanza -> Facets, ->Sever Configuration...
>Perché con il management funziona?
Perchè quello è secondo me il db messo come tale sul servizio RDBMS. Che non è quello dell'app_data.. Anche se non ho capito molto come fai a connetterti con SSMS a quel db.. Come ti connetti?
>grazie a tutti alessio
di nulla!
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi
batti
Profilo
| Newbie
19
messaggi | Data Invio:
ven 7 mar 2014 - 16:00
Ciao alx_81
grazie per l'interessamento
> Questo vuol dire che hai una connection string ad una ISTANZA di sql server express? Hai il database sotto servizio? Oppure lo hai messo nella >APP DATA anche in sviluppo?
In locale non uno sql express ma slqseerver la mia stringa di connessione è
Data Source=PC-ALESSIO-w8;AttachDbFilename=" & HostingEnvironment.ApplicationPhysicalPath & "App_Data\miodb.mdf;Initial Catalog=miodb;Integrated Security=True
> In generale, e questo non mi stanco di dirlo, la funzionalità denominata come USER INSTANCE è DEPRECATA! Quindi fate molta attenzione a > > >seguire questa via. Si può usare SQLCe ad esempio, oppure, in locale LocalDB Express (sempre sql server express) ma poi in produzione, >database sotto istanza o SQLCe (ma è veramente restrittivo).
>prova a dare intanto una letta a questo link:
http://stackoverflow.com/questions/11178720/whats-the-issue-with-attachdbfilename
l'opzione USer Instance = true nella mia connection string non c'è... anzi disabilitato l'opzione sull'istanza.. ho sbagliato?
Non riesco a capire quale sia la configurazione corretta per far funzionare tutto. Una volta copiato il db sul server cosa devo fare? E' un problema di configurazione degli utenti di IIS? di autorizzazioni? Perché il programma desktop con la solita connection string funziona
grazie
batti
Profilo
| Newbie
19
messaggi | Data Invio:
ven 7 mar 2014 - 17:42
Ho scoperto che se collego il db nel management studio express e poi utilizzo questa stringa
Data Source=.\SQLEXPRESS;Initial Catalog=miodb;Integrated Security=True;
funziona tutto correttamente... ma se lo scollego non funziona più... ne con squesta stringa ne con la stringa con l'attach del db:
Data Source=.\SQLEXPRESS;AttachDbFilename=C:\percorso\app_data\miodb.mdf;Initial Catalog=miodb;Integrated Security=True;"
io non capisco, mi devo essere perso qualcosa di grosso....
Se io metto un db su un server che deve essere utilizzato solo in locale, che stringa di connessione devo impostare e come devo configurare il db? non è che posso eessre legato al management studio.....
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
gio 20 mar 2014 - 09:55
>Data Source=.\SQLEXPRESS;Initial Catalog=miodb;Integrated Security=True;
questa è una connessione ad un database che gira sul SERVIZIO sql server. Quindi ti trovi il database nell'istanza.. Deve andare per forza
>funziona tutto correttamente... ma se lo scollego non funziona
>più... ne con squesta stringa ne con la stringa con l'attach del db:
se lo scolleghi? intendi se ne fai il detach? questa non la capisco.. in che senso non va?
>Se io metto un db su un server che deve essere utilizzato solo
>in locale, che stringa di connessione devo impostare e come devo
>configurare il db? non è che posso eessre legato al management studio.....
Personalmente non userei mai le user instances (ovvero le attachdbfilename, che tra l'altro anche la documentazione sconsiglia).
Per lo sviluppo utilizzerei, se possibile, un'istanza di sql server (anche express o dev) oppure LocalDB Express (che trovi qui
http://msdn.microsoft.com/it-it/library/hh510202.aspx
).
Poi in produzione, sicuramente il servizio e non i file attachati così. Le connection stringo sono quelle del tipo che indichi all'inizio, cambia solo l'initial catalog ed, eventualmente, il dato di autenticazione.
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi
Torna su
Stanze Forum
Elenco Threads
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 !