none
Non riesco ad accedere tramite sqlcmd RRS feed

  • Domanda

  • Buongiorno,

    sto provando ad accedere tramite sqlcmd, con utenza SQL, ad un DB SQL Server presente su un'altra macchina, ma mi dà una serie di errori.

    Premetto che tramite console grafica (Sql Server Managament Studio) accedo senza problemi.

    Il comando che eseguo è il seguente:

    sqlcmd -S xxx.xxx.xxx.xxx\MSSQLSERVER -U sql_username -P sql_password
    
    

    ma mi restituisce i seguenti errori:

    Sqlcmd: Error: Microsoft ODBC Driver 11 for SQL Server : SQL Server Network Interfaces: Connection string is not valid [87]. .
    Sqlcmd: Error: Microsoft ODBC Driver 11 for SQL Server : Login timeout expired.
    Sqlcmd: Error: Microsoft ODBC Driver 11 for SQL Server : A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online..

    Se, invece, lancio il comando direttamente dalla macchina non ho nessun problema.

    mercoledì 16 marzo 2016 10:58

Risposte

Tutte le risposte

  • Poiché MSSQLSERVER è l'istanza predefinita prova a non specificarla, cioè lascia solo l'indirizzo IP e al massimo inserisci protocollo e porta.

    mercoledì 16 marzo 2016 12:31
    Moderatore
  • Se provo con sqlcmd -S xxx.xxx.xxx.xxx,1433 (omettendo volutamente e informazioni di login) mi restitisce questo errore:

    Sqlcmd: Error: Microsoft ODBC Driver 11 for SQL Server : Login failed. The login is from an untrusted domain and cannot be used with Windows authentication..

    In realtà io vorrei connettermi con le credenziali SQL e non con windows authentication. Sarà per quello che fallisce?

    mercoledì 16 marzo 2016 12:50
  • Nelle impostazioni di sicurezza del server remoto è selezionato come metodo di autenticazione "SQL Server and Windows authentication mode"? Con SQL Server Managament Studio accedevi con la Windows authentication?

    Ovviamente come user e password devi utilizzare esclusivamente quelle dell'account di SQL Server.

    mercoledì 16 marzo 2016 13:03
    Moderatore
  • Si, nelle impostazioni è selezionato anche SQL come metodo di accesso e sì, riesco ad accedere entrambi i modi sia da SQL Server Management Studio, sia da script esterni fatti, in questo caso, in python
    mercoledì 16 marzo 2016 14:36
  • Il server SQL a cui stai accedendo è in dominio?
    mercoledì 16 marzo 2016 17:25
    Moderatore
  • Si è in dominio, ma per motivi di policy ho la necessità di accederci solo tramite utenza creata appositamente
    giovedì 17 marzo 2016 09:19
  • Rivedendo i tuoi post precedenti mi è venuto un dubbio: quando ti viene mostrato l'errore "Login failed. The login is from an untrusted domain and cannot be used with Windows authentication" hai lasciato solo l'IP nel parametro -S, ma dopo hai comunque inserito i parametri -U e -P con nome utente e password dell'utenza SQL? Se la risposta è no, l'errore è normale perché non inserendo quei due parametri sqlcmd utilizza automaticamente la Windows authentication e non può funzionare se i computer non si trovano sullo stesso dominio. Se invece sono stati inseriti, nome utente e password contengono caratteri speciali? Hai eseguito per sicurezza sqlcmd da un prompt avviato come amministratore?

    giovedì 17 marzo 2016 10:06
    Moderatore
  • In realtà, riprovando con tutti i parametri (-S, -U, -P) adesso stranamente funziona. E non so spiegarmi il perchè.

    Ad ogni modo grazie per il supporto!

    giovedì 17 marzo 2016 10:20