sviluppo-web-qa.it

Non riesci a connetterti a SQL Server utilizzando l'account "sa", cosa mi manca?

Sto tentando di accedere a un'istanza di SQL Server 2005 Express utilizzando il comando seguente:

osql -S .\INSTANCE -U sa -P password

Viene visualizzato l'errore: Accesso non riuscito per l'utente 'sa'.

Posso collegarmi bene usando l'interruttore -E. Devo aggiungere che funziona da mesi. Penso che qualcuno abbia cambiato qualcosa ma non riesco a capire di cosa si tratti.

Questo è quello che ho provato:

  • Accedi utilizzando l'autenticazione di Windows e modificando la password sa:

    sp_password NULL, newpassword, 'sa'

  • Abilitazione dell'accesso "sa":

    ALTER LOGIN sa ENABLE; GO ALTER LOGIN sa WITH PASSWORD = 'newpassword'; PARTIRE

  • Controllato il registro di Windows per assicurarsi che autenticazione mista sia abilitato. Il valore era corretto: LoginMode = 2

Cos'altro dovrei controllare? Grazie in anticipo.

INFORMAZIONI ADDIZIONALI:

Questo è un server Windows 2003. Hanno abilitato alcuni criteri password, ricordo che dovevo cambiare la password "sa" predefinita che la mia applicazione usa quando installa SQL Server su un altro più complesso.

Mi sto collegando usando VNC, quindi non posso davvero usare SSMS

La mia applicazione può connettersi utilizzando un altro accesso a SQL Server, ma nessun "sa"

Infine, se non troviamo una soluzione, rimuoverò questa istanza e la installerò di nuovo, ma mi piacerebbe davvero scoprire qual è il problema. Nel caso in cui accada di nuovo e solo per pura curiosità.

20
JAG

Ok, sono stato in grado di capire cosa stava succedendo (in un certo senso) e ho avuto una soluzione alternativa.

Sembra che una settimana fa stessero giocando con i criteri di sicurezza di Windows. Stavano aggiungendo/rimuovendo permessi ma non possono darmi esattamente quello che hanno fatto perché davvero non lo sapevano (ahi!).

Ad ogni modo, mi sono connesso usando l'autenticazione di Windows (opzione -E) ed ho eseguito la seguente query:

ALTER LOGIN [sa] WITH PASSWORD='newpassword', CHECK_POLICY=OFF
GO
ALTER LOGIN [sa] ENABLE
GO

La chiave qui è CHECK_POLICY = OFF. Questo ha reso il trucco. Spero che questo renderà "sa" immune ai cambiamenti futuri nella loro configurazione del dominio.

Grazie per tutti i tuoi suggerimenti.

12
JAG

Come ha detto @SpaceManSpiff, non dimenticare di verificare se la modalità mista è abilitata. Qualcuno ha cambiato questa impostazione per me e ho avuto lo stesso problema. Ecco come risolverlo:

  1. Accedi a MSSQL Server Management Studio con autenticazione di Windows.
  2. In Esplora oggetti di SQL Server Management Studio, fare clic con il pulsante destro del mouse sul server, quindi scegliere Proprietà.
  3. In Proprietà server, seleziona una pagina di "Sicurezza".
  4. Selezionare l'autenticazione del server come "Modalità di autenticazione di SQL Server e Windows" e fare clic su OK. MSSQL Server Management Database properties
  5. Riavviare i servizi SQL e quindi provare ad accedere con i dettagli "sa".

Fonte: http://forums.eukhost.com/f15/login-failed-user-sa-Microsoft-sql-server-error-18456-a-12544/

24
emmanuel

Cose da controllare

Password su SA

Modalità mista abilitata

L'account SA è disabilitato?

Crea un altro account SQL e provalo (dato che puoi entrare con -E dovresti essere in grado di farlo)

Prova utilizzando una ODBC, puoi creare questa connessione per vedere se SA funziona

Oh, e prendi sempre tutto in Windows, riavvia (sul serio, questo aiuta il mio server SQL di prova dopo aver fatto cose su di esso)

6
SpaceManSpiff

Ho avuto questo problema alcuni anni fa dopo aver installato un ServicePack di Windows (nessun aggiornamento di SQL Server, ma Windows), SQL Server ha rifiutato le connessioni, fino a quando non è stato installato anche il Service Pack di SQL Server! Ho trovato un messaggio nel registro eventi dopo alcune ore.

Penso che lo abbiano fatto, perché sapevano che c'era un grosso buco nella sicurezza e volevano costringere tutti gli amministratori a installare il pacchetto. Tuttavia, poiché è passato qualche tempo fa, non ho le versioni esatte e così via. Consiglierei di ricontrollare il registro eventi e installare tutti i service pack più recenti.

1
Tim Büthe

Se si installa SQL Express 2014, è necessario eseguire alcune operazioni per risolvere questo errore se si tenta di accedere con l'account [sa].

  1. L'account "sa" verrà disabilitato. Quindi dovrai disabilitare l'account da disabilitato ad abilitato nella sezione stato dell'account.

  2. Il server deve avere l'autenticazione Windows e SQL Server abilitata. Per impostazione predefinita, è abilitata solo l'autenticazione di Windows.

  3. Reimposta la password. (vedi il codice qui sotto; ServerFault ha un bug in cui il codice non viene visualizzato allo stesso modo quando si utilizza un elenco ordinato al 6/8/2016)

  4. Riavviare il servizio Windows per SQL Server

=========

ALTER LOGIN sa WITH PASSWORD='password', CHECK_POLICY=OFF;
ALTER LOGIN [sa] ENABLE;
1
MacGyver

l'ho risolto come segue accedi con l'autenticazione di Windows vai a proprietà del server >> Sicurezza e modifica l'autenticazione del server

0

A volte l'accesso è disabilitato a causa di molte password errate o di violazione delle norme. Quindi quello che possiamo fare è semplicemente accedere con l'autenticazione della finestra, cambiare la password e abilitare nuovamente l'accesso.

Accedi al database con l'autenticazione di Windows

Esegui query:

ALTER LOGIN [sa] WITH PASSWORD='newpassword', CHECK_POLICY=OFF 
GO
ALTER LOGIN [sa] ENABLE
GO

L'uso di CHECK_POLICY è obbligatorio in quanto specifica che i criteri password Windows del computer su cui è in esecuzione SQL Server devono essere applicati con questo accesso. Il valore predefinito è ON quando disattivato cambierà la password senza alcuna difficoltà. Più tardi puoi ON

NOTA: cosa ho osservato che quando CHECK_POLICY è sulla GUI le soluzioni SSME per la modifica della password non funzioneranno ogni volta. Non ho il motivo dietro ma che ho osservato.

0
jay patel

Supponendo che Management Studio o Management Studio Express siano installati, è possibile connettere Management Studio all'istanza utilizzando sa?

JR

0
John Rennie

Ti sei assicurato di aver riavviato il servizio SQL Server dopo aver apportato le modifiche al Registro di sistema?

0
David Spillett

Qualcuno ha rimosso il database che era il database predefinito per "sa"?

Se questo è il problema, prova

EXEC sp_defaultdb 'sa', 'New default database'
0
splattne