none
SQL 2008 EXPRESS - Impossibile accedere da un dominio non trusted RRS feed

  • Domanda

  • Ecco l'errore preciso:
    Impossibile eseguire l'accesso. L'accesso proviene da un dominio non trusted e non può essere utilizzato con l'autenticazione di Windows.

    ho configurato il server SQL per poter accederci da la macchina di sviluppo in LAN.
    Da Management Studio riesco ad accedere, ma dalla mia applicazione mi da l'errore indicato.

    Mi sapete dire cosa devo controllare? grazie


    Programamtore ASP.NET
    http://glucolo.wordpress.com
    lunedì 16 gennaio 2012 15:31

Risposte

  • Grazie mille per la dettagliata risposta.

    In teoria tutto giusto. Data l'ora tarda e la stanchezza non mi ero accorto che avevo la sicurezza integrata a true.. ;-)

    Ora la stringa di connessione è questa:

    Data Source=xxx.xxx.xxx.xxx\SQLEXPRESS;
    Initial Catalog=nomeDelDB;
    Integrated Security=False;
    Persist Security Info=False;
    User ID=sa;
    Password=xxxxxxx;
    Connect Timeout=120;
    Trusted_Connection=yes

    come datasource ho usato sia il nome del server, che il suo IP
    come utente ho usato sia "sa" che uno specifico utente per quel database

    Niente, l'errore è sempre lo stesso:

    Impossibile eseguire l'accesso. L'accesso proviene da un dominio non trusted e non può essere utilizzato con l'autenticazione di Windows.

    Non riesco proprio a capire dove è l'inghippo, magari è una cag......ta che sfugge, ma sto diventando matto!!!
    Perché l'errore dice ancora che l'autenticazione usata è quella Windows?
    Bisogna controllare anche il processo? chi è che sta cercando di accedere all'istanza?
    Forse sono queste le domande che ci daranno la risposta?

    Aiutatemi a capire

     


    Programamtore ASP.NET
    http://glucolo.wordpress.com


    Mi sono dimenticato di mettere in evidenza una cosa: nell'esempio di connection string che ho postato avevo rimosso anche quel "Trusted_Security=yes" che dovrebbe essere la causa del tuo problema, dato che lo vedo ancora presente. Se guardi a questo link vedrai che ha lo stesso scopo di Integrated Security.

    Prova a rimuoverlo e vedi se così si risolve.

    Ciao!


    Francesco Milano // .NET & SQL Server Consultant // blog // twitter
    • Contrassegnato come risposta Glauco Cucchiar martedì 17 gennaio 2012 10:39
    martedì 17 gennaio 2012 09:38

Tutte le risposte

  • Ciao!

    che SO hai su macchine server e client? Che connection string usi dall'applicativo?

     


    Francesco Milano // .NET & SQL Server Consultant // blog // twitter
    lunedì 16 gennaio 2012 15:42
  • si,  un server con installato SQL 2008 Express

    un computer in LAN con SQL 2008 R2 Express

    Dal management studio sul client mi collego senza problemi al server, dall'applicazione sul client no. Ecco la ConnString:

    Data Source=SERVER\SQLEXPRESS;Initial Catalog=nomeDelDB;Integrated Security=True;Persist Security Info=False;User ID=xxxx;Password=xxxx;Connect Timeout=120;Trusted_Connection=yes

     


    Programamtore ASP.NET
    http://glucolo.wordpress.com
    lunedì 16 gennaio 2012 16:40
  • si,  un server con installato SQL 2008 Express

    un computer in LAN con SQL 2008 R2 Express

    Dal management studio sul client mi collego senza problemi al server, dall'applicazione sul client no. Ecco la ConnString:

    Data Source=SERVER\SQLEXPRESS;Initial Catalog=nomeDelDB;Integrated Security=True;Persist Security Info=False;User ID=xxxx;Password=xxxx;Connect Timeout=120;Trusted_Connection=yes

     


    Programamtore ASP.NET
    http://glucolo.wordpress.com


    Sul client e sul server che sistemi operativi hai installato? Quando dal client accedi da Management Studio al server, che tipo di autenticazione usi: Autenticazione integrata o Autenticazione di SQL Server?

    Ciao!

     


    Francesco Milano // .NET & SQL Server Consultant // blog // twitter
    lunedì 16 gennaio 2012 17:34
  • sul server c'è win server 2003, il client è un win 7

    accedo con utente sql (sa)


    Programamtore ASP.NET
    http://glucolo.wordpress.com
    lunedì 16 gennaio 2012 18:12
  • sul server c'è win server 2003, il client è un win 7

    accedo con utente sql (sa)


    Programamtore ASP.NET
    http://glucolo.wordpress.com


    SQL Server accetta due tipi di autenticazione: quella integrata e quella classica di tipo SQL Server. Nella prima utilizzi le credenziali del tuo utente corrente di Windows per accedere al server, mentre nella seconda utilizzi la classica combinazione username/password. Ovviamente, se possibile, è preferibile utlizzare l'autenticazione integrata, in quanto offre maggiore sicurezza. E' possibile configurare quale tipo di connessioni l'istanza debba accettare, se l'integrata, quella classica, o entrambe (in quest'ultimo caso si parla di mixed mode). Maggiori info le puoi trovare qui: http://msdn.microsoft.com/it-it/library/ms144284.aspx.

    Nel tuo caso particolare, quando accedi da Management Studio stai utilizzando la SQL Authentication, mentre da client stai cercando di utilizzare quella integrata (Integrated Security=true). Se non sei in dominio o non puoi/vuoi abilitare l'autenticazione di tipo integrato devi per forza di cose cambiare la tua stringa di connessione in questo modo, dove lo User ID che utilizzerai sarà un utente SQL Server:

    Data Source=SERVER\SQLEXPRESS;Initial Catalog=nomeDelDB;Integrated Security=False;Persist Security Info=False;User ID=xxxx;Password=xxxx;Connect Timeout=120

    Ovviamente, in questo caso, sarebbe opportuno creare un utente SQL ad-hoc per la connessione da applicativo e nascondere informazioni sensibili quale la password di connessione crittografando il file di configurazione, come descritto in queste guidelines: http://msdn.microsoft.com/it-it/library/89211k9b(v=VS.100).aspx

    Ciao!


    Francesco Milano // .NET & SQL Server Consultant // blog // twitter
    lunedì 16 gennaio 2012 19:15
  • Grazie mille per la dettagliata risposta.

    confermo che l'autenticazione è mixed mode, a parte la criptazione dei dati, ma la connessione avviene tramite utente sql

    In teoria tutto giusto. Data l'ora tarda e la stanchezza non mi ero accorto che avevo la sicurezza integrata a true.. ;-)

    Ora la stringa di connessione è questa:

    Data Source=xxx.xxx.xxx.xxx\SQLEXPRESS;
    Initial Catalog=nomeDelDB;
    Integrated Security=False;
    Persist Security Info=False;
    User ID=sa;
    Password=xxxxxxx;
    Connect Timeout=120;
    Trusted_Connection=yes

    come datasource ho usato sia il nome del server, che il suo IP
    come utente ho usato sia "sa" che uno specifico utente per quel database

    Niente, l'errore è sempre lo stesso:

    Impossibile eseguire l'accesso. L'accesso proviene da un dominio non trusted e non può essere utilizzato con l'autenticazione di Windows.

    Non riesco proprio a capire dove è l'inghippo, magari è una cag......ta che sfugge, ma sto diventando matto!!!
    Perché l'errore dice ancora che l'autenticazione usata è quella Windows?
    Bisogna controllare anche il processo? chi è che sta cercando di accedere all'istanza?
    Forse sono queste le domande che ci daranno la risposta?

    Aiutatemi a capire

     


    Programamtore ASP.NET
    http://glucolo.wordpress.com
    martedì 17 gennaio 2012 09:33
  • Grazie mille per la dettagliata risposta.

    In teoria tutto giusto. Data l'ora tarda e la stanchezza non mi ero accorto che avevo la sicurezza integrata a true.. ;-)

    Ora la stringa di connessione è questa:

    Data Source=xxx.xxx.xxx.xxx\SQLEXPRESS;
    Initial Catalog=nomeDelDB;
    Integrated Security=False;
    Persist Security Info=False;
    User ID=sa;
    Password=xxxxxxx;
    Connect Timeout=120;
    Trusted_Connection=yes

    come datasource ho usato sia il nome del server, che il suo IP
    come utente ho usato sia "sa" che uno specifico utente per quel database

    Niente, l'errore è sempre lo stesso:

    Impossibile eseguire l'accesso. L'accesso proviene da un dominio non trusted e non può essere utilizzato con l'autenticazione di Windows.

    Non riesco proprio a capire dove è l'inghippo, magari è una cag......ta che sfugge, ma sto diventando matto!!!
    Perché l'errore dice ancora che l'autenticazione usata è quella Windows?
    Bisogna controllare anche il processo? chi è che sta cercando di accedere all'istanza?
    Forse sono queste le domande che ci daranno la risposta?

    Aiutatemi a capire

     


    Programamtore ASP.NET
    http://glucolo.wordpress.com


    Mi sono dimenticato di mettere in evidenza una cosa: nell'esempio di connection string che ho postato avevo rimosso anche quel "Trusted_Security=yes" che dovrebbe essere la causa del tuo problema, dato che lo vedo ancora presente. Se guardi a questo link vedrai che ha lo stesso scopo di Integrated Security.

    Prova a rimuoverlo e vedi se così si risolve.

    Ciao!


    Francesco Milano // .NET & SQL Server Consultant // blog // twitter
    • Contrassegnato come risposta Glauco Cucchiar martedì 17 gennaio 2012 10:39
    martedì 17 gennaio 2012 09:38
  • perfetto, avevo interpretato male il significato di "trusted connection".

    Ora funziona, grazie millissime


    Programamtore ASP.NET
    http://glucolo.wordpress.com
    martedì 17 gennaio 2012 10:39
  • perfetto, avevo interpretato male il significato di "trusted connection".

    Ora funziona, grazie millissime


    Programamtore ASP.NET
    http://glucolo.wordpress.com

    Ottimo, ciao! :)
    Francesco Milano // .NET & SQL Server Consultant // blog // twitter
    martedì 17 gennaio 2012 10:42