2014-09-25 6 views
6

in SQL Server 2014, provo a richiamare uno script SQL tramite riga di comando:sql: Errore 997 quando si specifica password nella riga di comando

~ osql U sa -P passwd -i script.sql

e ricevo un messaggio di errore: Accesso non riuscito per l'utente 'sa' OS errore 997 operazione di I/O sovrapposto è in corso.

Tuttavia, quando si esegue il comando in modalità interattiva:

~ osql U sa -i script.sql

chiede la password e il comando ha esito positivo. Qualcuno può aiutarmi come eseguire gli script sql esclusivamente dalla riga di comando senza l'intervento dell'utente?

grazie.

+3

A partire da SQL Server ** 2005 **, si dovrebbe iniziare a usare 'sqlcmd' invece di' osql' o 'isql' .... –

+0

Si sta eseguendo un'operazione di backup in background allo stesso tempo? – CJBS

risposta

3

Ho appena eseguito un errore 997 quando si utilizza osql. Sembra che osql non stia riportando errori correttamente, dando errore 997 invece di un errore più utile. Presumibilmente questo è dovuto al fatto che è deprecato.

Nel mio caso, la causa effettiva era la modalità di autenticazione del server impostata su "Modalità di autenticazione di Windows" anziché su "Modalità di autenticazione di SQL Server e Windows". Questo può essere modificato connettendosi utilizzando SQL Server Management Studio e andando nelle proprietà di livello superiore per la connessione, quindi selezionando la pagina Sicurezza.

Inoltre, dovevo abilitare l'accesso sa, tramite Sicurezza -> Login -> sa -> tasto destro del mouse -> Proprietà sull'Explorer oggetti, quindi impostando il login su Abilitato usando la pagina Stato.

0

Ho anche avuto lo stesso problema. Ho provato sqlcmd invece di osql e mi ha dato un errore più comprensibile, nel mio caso il problema era che stavo usando la password sbagliata per quel particolare database.

Il mio consiglio è che se qualcuno incontra un problema simile, usa sqlcmd che è il successore del comando osql. Utilizzare anche un -o in modo da ottenere un file di testo con l'output del problema.

1

Questo è successo a me, ed è venuto giù per la password sbagliata.

Problemi correlati