Come cancellare un errore 15404 dopo un riavvio del DB (oltre al riavvio)


9

Ogni tanto (ad es. ~ Mesi) un processo orario di SQL Server Agent inizia a segnalare un errore 15404 e continua a farlo fino a quando non interviene.

[298] Errore SQL Server: 15404, impossibile ottenere informazioni sul gruppo / utente di Windows NT "DOMAIN_NAME \ SomeDomainAccount", codice di errore 0x6e. [SQLSTATE 42000] (ConnIsLoginSysAdmin)

A volte il primo errore si verifica immediatamente dopo un riavvio manuale dei servizi di SQL Server Engine e SQL Server Agent. Il problema può essere risolto riavviando la macchina.

Il proprietario del processo è il nome elencato nel messaggio di errore ed è un amministratore di SQL Server.

L'account del servizio motore di SQL Server sembra essere un account di servizio (credo che sia l'account di installazione predefinito (un livello migliore rispetto al NetworkService generico per prevenire interferenze tra istanze di Engine / Agent):

   NT Service\MSSQL$INSTNAME

Sarebbe una cosa se il lavoro fallisse sempre, ma poiché il lavoro ha esito positivo dopo un riavvio, mi viene da pensare che un account di servizio come dovrebbe funzionare e che ci sia qualche problema di tempistica A / D o forse un bug. Quando viene chiesto all'IT in merito alla configurazione A / D, la risposta è in genere "non è cambiato nulla".

  • Il riavvio del motore e dei servizi dell'agente può causare errori nel processo.
  • Un riavvio del computer risolve il problema.
  • Un successivo riavvio immediato del motore e dell'agente non causa più l'interruzione del lavoro.

Collegamento: come risolvere un errore di SQL Server 8198


Aggiornamento, questo è successo altre due volte dal post.
crokusek,

Possibilmente correlato, abbiamo anche un intermittente (settimanale) che non può generare problemi SSPI su due server diversi.
crokusek,

Aggiungo solo che ho appena ricevuto casualmente questo errore da uno script SQL che funzionava ieri. Nessuna modifica allo script, stessa macchina identica, nessun errore evidente nei registri di Windows. La linea offensiva di SQL era un'istruzione CREATE ASSEMBLY, AUTHORIZATION [dbo], PERMISSION_SET = EXTERNAL_ACCESS;
redcalx

Ulteriori informazioni. Il riavvio di SQL Server non ha risolto il problema, ma è stato riavviato il computer. Probabilmente un log-off / on lo avrebbe fatto, poiché sospetto che sia un problema sottile nel mio account di dominio. Nota che non ho cambiato la mia password di recente.
redcalx

Risposte:


4

Non è una soluzione, ma puoi aggirare il problema trasformando il proprietario del lavoro in un account SQL.

Ogni volta che viene avviato un processo, SQL Server verifica l'identità del proprietario del processo e verifica che disponga dell'autorizzazione per eseguire il processo. Se il proprietario è un account Windows, il motore deve eseguire una query su Active Directory. Se per qualsiasi motivo non riesce, il lavoro non verrà eseguito. È possibile che il server AD sia occupato, inattivo o interrotto dalla rete o che l'account del servizio SQL Server non disponga di diritti.

Poiché funziona immediatamente dopo il riavvio, ciò mi fa pensare che potrebbe avere qualcosa a che fare con le credenziali memorizzate nella cache. Windows salverà le credenziali che cerca per un uso successivo. Quella cache viene cancellata al riavvio. Forse qualcosa sta corrompendo la cache.


Credo che tu abbia ragione, si tratta di credenziali memorizzate nella cache, il riavvio impone un accesso al server di directory attiva. Ricevo questo errore sui diagrammi DB Quando sono disconnesso dalla rete aziendale, mi collego ad esso e nessun errore. Disconnetti e il mio permesso è perso. Posso interrogare, creare ecc - semplicemente non posso diagramma. 15404 errore.
StixO

0

Ho avuto un problema con un'istanza spostata dal dominio A al dominio B e ho controllato le autorizzazioni ovunque e mi è stato concesso il controllo completo ovunque. Account di servizio modificato, proprietà del lavoro, creazione di un nuovo lavoro ... Niente ha funzionato. Trovato lo stesso nome dell'utente di servizio B \ sqlservice e A \ sqlservice esistente come accesso su SQL Server Dopo aver eliminato l'accesso A \ sqlservice, tutto ha iniziato a funzionare correttamente. Ciò significa che alcuni puntatori di Windows erano errati


Per chiarire, hai riscontrato questo errore e l'errore ha segnalato che B\sqlserviceera l'account per il quale non è stato possibile ottenere informazioni?
RDFozz,
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.