Non riesco a far funzionare SQLCMD indipendentemente da ciò che provo


10

Indipendentemente da ciò che faccio, non riesco a far funzionare SQLCMD. Sto cercando di eseguire uno script che ha una dimensione di 200mb + e non può essere eseguito dall'applicazione sql server, quindi devo farlo tramite SQLCMD, tuttavia ogni volta che provo ad accedere o eseguire lo script si chiude immediatamente.

Ho seguito l'utilità sqlcmd di msdn.

Ho provato a aprirlo tramite il comando affidabile SQLCMD -EI ottenere:

Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : Named Pipes Provider: Could not open a connection to SQL Server [2]. .
Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : Login timeout expired.
Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : 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..

Ho provato tramite la dichiarazione esplicita di server, nome utente e password:

C:\Users\MyUserName\Documents>SQLCMD -S DESKTOP-1N3OD6V\SQLEXPRESS -U DESKTOP-1N3OD6V\MyUserName-P MyPassword
Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : Login failed for user 'DESKTOP-1N3OD6V\MyUserName'..

Risposte:


23

SQLCMD, quando viene richiamato senza specificare un nome server, tenta di connettersi a un'istanza predefinita sul computer locale. Se non ne hai uno, mostra il primo errore che stai riscontrando. Utilizzare il -Sparametro per specificare un nome server.

Per utilizzare l'autenticazione di Windows, utilizzare il -Eflag e non è necessario fornire nome utente o password.
Esempio: SQLCMD -Smyserver\myinstance -E

Per utilizzare l'autenticazione di SQL Server, utilizzare i parametri -Ue -Pper fornire le credenziali.
Esempio: SQLCMD -Smyserver\myinstance -UsomeUser -PhisPassword

Se si specifica -Uche non è possibile utilizzare un nome utente di Windows: questo è per gli accessi a SQL Server. Se si desidera impersonare un altro utente di Windows, avviare prima un prompt dei comandi che impersona tale utente.

Esempio:

  1. Apri il prompt dei comandi
  2. genere runas /USER:domain\username cmd
  3. Digita la password per il tuo utente
  4. Correre SQLCMD

Puoi ottenere lo stesso risultato facendo clic con il pulsante destro del mouse sul collegamento per cmd e selezionando "Esegui come utente diverso ..."


Questo mi ha appena salvato una lunga notte di esplorazione di Internet. Grazie!
Rhys Johns,

Passarono anni a cercare di risolverlo. Grazie!
Joel Murphy,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.