28.4 C
Firenze
domenica, Agosto 10, 2025
Home Blog Page 3421

Too many client tasks – Limite JET e ODBC

0

E’ possibile che alcune volte, si possa ricevere l’errore ASP “Too many client tasks”.
Questo errore ha una “doppia faccia” : può essere un errore di ACCESS (client) oppure di MS JET (Server).

ERRORE DI ACCESS :
Microsoft OLE DB Provider for ODBC Drivers error ‘80040e4d’
[Microsoft][ODBC Microsoft Access Driver] Too many client tasks.
/index.asp, line N
(N = numero di riga generante errore)

I database Access, essendo nati come desktop database e non come database legati al web, non offrono le stesse funzionalità e soprattutto le stesse performance dei database prettamenti volti all’interazione con linguaggi lato server, come ASP e php. L’errore sopra riportato significa che Access ha raggiunto il limite delle connessioni contemporanee al database da parte
degli script, che si aggirano da 30 a 40 contemporanee.
L’errore sopra citato può però non essere legato esclusivamente a limitazioni del database, bensì anche ad un codice non correttamente sviluppato.
La prima cosa da controllare è di chiudere tutte le connessioni e le risorse non appena necessarie con il comando : nomeconnessione.Close
e di distruggere gli oggetti per liberare risorse sul server con il comando :  Set nomeconnessione = Nothing
Inoltre è importante ricordarsi di aprire la connessione al database solo se e quando necessaria e mantenerla aperta per il minor tempo possibile.

ERRORE DI MS JET (Server) :
Indipendentemente da ACCESS, l’errore può essere generato anche dalla DLL di JET che, per i troppi database Access presente su un server di Hosting, ha raggiunto il suo limite di operatività. In questo caso, procedere a questo modo (solo per Server Administrator):

– Controllare la versione di JET presente sul server (proprietà sulla dll Msjet40.dll contenuta in System32)
Ricordate che alcune VERSIONI di JET supportano al massimo 10-20 connessioni. Assicuratevi di avere l’ultima versione disponibile, ovvero :
4.0.9025.0 Windows Server 2003 SP1 and Update Rollup 1 for Windows 2000 SP4

– Individuare possibili siti web con maggiore accesso a Database ACCESS.
E’ possibile che sul server ci sia un sito web piuttosto grosso, uno con moltissimi accessi a access (succede in caso di comment form o guestbook non protetti da Captcha) oppure un sito web con molti database Access. Per IDENTIFICARLO usate PROCESS MONITOR.

Microsoft][ODBC Microsoft Access Driver] Too many client tasks.

 

Una volta trovato, se possibile, sospendetelo oppure “migratelo” su un altro server del vostro TEAM.

L’errore Microsoft][ODBC Microsoft Access Driver] Too many client tasks infatti può essere risolto solo con un “alleggerire” il carico di lavoro sulla Msjet40.dll c

IISTRACER – Attenzione alle dimensioni del file di LOG

E’ possibile che, qualche volta, si possa notare un eccessiva lentezza del server o un “accumulo” di ISAPI (Performance Monitor) veramente elevato.
Questa situazione potrebbe dipendere da un sito web che ha pubblicato qualcosa di “molto richiesto” oppure da un attacco che ha generato pagine che vengono “richiamate” continuamente (es PHP mailer, ecc.).

E’ buona regola tenere sotto “controllo” il file di LOG generato da IISTRACER.
Una dimensione eccessiva indica che il server richiede un controllo, in quanto potrebbe verificarsi una delle situazioni descritte sopra

Image2

 

Dimensione_LOG_IIStracer

Assegnare un Application POOL a un sito Web Specifico

0

La riga di comando per Assegnare un Application Pool specifico, è la seguente :

CSCRIPT adsutil.vbs SET w3svc/1/Root/%var%/AppPoolid %var%

dove 1 è l’ID del nostro sito e %var% è il nome del nostro Application Pool

Invio di un messaggio con CDO e gestione dell’errore

Il seguente script in ASP mostra come inviare un messaggio e-mail da un server IIS.
Il messaggio è generato con CDO, utilizza un mailserver esterno (quindi non localhost) e ha una gestione in caso di errore :

<%
On Error Resume Next

set objcdoconf = server.createobject (“cdo.configuration”)
with objcdoconf
.fields(“https://schemas.microsoft.com/cdo/configuration/smtpserver”) = “mail.sito.net”
.fields(“https://schemas.microsoft.com/cdo/configuration/smtpserverport”) = “25”
.fields(“https://schemas.microsoft.com/cdo/configuration/sendusing”) = “2”
.fields(“https://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout”) = “60”
.fields.update
end with

set objmail = server.createobject(“cdo.message”)
set objmail.configuration = objcdoconf

objmail.subject=”CIAO”
objmail.from=”noreply@sito.net”
objmail.to=”destinatario@sito.it”
objmail.textbody=”TEST”
objmail.send()

set objcdoconf = nothing
set objmail = nothing

If Err.Number = 0 Then
Response.write(“OK”)
Else
Response.write(“FAIL”)
End If%>

Utilizzo di Xcacls per RIMUOVER le autorizzazioni NTFS

Secondo la guida di XCACLS ( https://support.microsoft.com/kb/825751/it ) per “rimuovere” un utente da una cartella è necessario utilizzare i parametro /R

Ad esempio :  si ha una cartella con quattro gruppi assegnati: PAOLO, SYSTEM, CREATOR OWNER, e ADMINISTRATORS.
Se vogliamo rimuovere “Paolo” non possiamo utilizzare il comando : xcacls c:\cartella /R “Paolo” perchè in questo modo, stranamente, vengono rimossi tutti TRANNE “Paolo”.

Per rimuovere l’utente quindi è necessario aggiungere il parametro /E che “edita” le proprietà, invece di sostituirle
xcacls c:\cartella /E /R “Paolo”

Cercare FILE per Attributi

0

Potrebbe esserci la necessità di dover cercare tutti i file nascosti o “di sistema” in un percorso Non-Windows con un grande numero di cartelle.
Programmi come Agent-Ransack non sono utili in questo tipo di ricerche.
Personalmente consiglio : SearchMyFiles

IIS e Filtri ISAPI, qual’è l’ordine giusto?

Installando più ISAPI Extension (es. IIS Tracer, DotDefender e UrlScan) potrebbe essere necessario definire un ordine di priorità per il funzionamento delle Stesse.
L’immagine riportata di seguito è la combinazione “corretta” che sono riuscito a trovare dopo molti esperimenti. In altre combinazioni UrlScan non veniva utilizzato o IIS Tracer non funzionava.

Attenzione, queste estensioni ISAPI sono nella ROOT principale e non in Default Web Site 🙂

Image2

dotDefender – An error occured. – Action get update_best_practice rules_configuration

E’ possibile che installando DotDefender si ottenga l’errore : An error occured. Action: get_update_best_practice_rules_configuration Exception: Invalid Response, come da immagine allegata :

An error occured. Action: get_update_best_practice_rules_configuration  Exception: Invalid Response

 

in questo caso è NECESSARIO controllare che sul server non sia installato URLSCAN, perchè se lo fosse non deve bloccare . EXE di DotDefender

2014-01-13 12:16:16  1 POST /dotdefender/dotDefenderWS.exe Rejected extension+not+allowed file+extension .exe –

[catlist id=147]

Disabilitare Scripting.FileSystemObject per ASP

0

Se non si ha intenzione di utilizzare script che lavorano con i file (salva, elimina, ecc.) è sempre consigliabile DISABILITARE la funzione ASP  “File System Object component” in quanto può essere utilizzata anche per causare DANNI a un server.

Per disabilitare questa opzione, utilizzare la chiave di registro

RegSrv32 / u C: WINDOWS systemscrrun.dll

Sarebbe buona norma “disabilitare” questa funzione prima di mettere il server a disposizione di eventuali clienti (in caso di HOSTING) altrimenti dopo potrebbe essere difficile “togliere” questa possibilità, specialmente quando il cliente ha un sito “fatto” e dovrà optare per delle modifiche.

Attenzione : File System Object component non riguarda ASP.NET

Windows Process Activation Service (WAS) is stopping because it encountered an error

0

Modificando alcune informazioni sul server, per l’esecuzione di SYNC tra IIS6 e IIS7 devo inavvertitamente aver “modificato qualcosa” ….e la mia macchina Windows Server 2008 a 64-bit improvvisamente non era più in grado di avviare IIS (Internet Information Server). Il servizio semplicemente non partiva. Ho cominciato a ricevere questo errore :

“Impossibile avviare il servizio W3SVC sul computer”
(Cannot start service W3SVC on Computer)

Cannot start service W3SVC on Computer

Controllando il Registro eventi di sistema, tramite il Visualizzatore eventi in Gestione computer, ho trovato quattro errori:

  • “The World Wide Web Publishing Service service depends on the Windows Process Activation Service service which failed to start because of the following error: The system cannot find the file specified.”
  • “The Windows Process Activation Service service terminated with the following error: The system cannot find the file specified.”
  • “Windows Process Activation Service (WAS) is stopping because it encountered an error. The data field contains the error number.”
  • “The directory specified for the temporary application pool config files is either missing or is not accessible by the Windows Process Activation Service. Please specify an existing directory and/or ensure that it has proper access flags. The data field contains the error number.”

Se IIS non parte …c’è da pensare a qualche servizio di dipendenza e uno è WAS (servizio Attivazione processo Windows…) che non si avvia, ma deve essere attivato per primo.Se si va a anlizzare il servizio WAS  si vede che….non è proprio un eseguibile, ma vive all’interno di un’istanza di svchost.exe, (dove ci sono un sacco di servizi!)

Servizio WAS

Per risolvere questo problema ho utilizzato Process Monitor assieme a dei filtri (filtri sono molto importanti se si vuole evitare di essere sopraffatti rapidamente dal log di procmon!) per mostrare solo i processi svchost.exe. Ancora oggi, ci sono un sacco di processi svchost.exe . Il tasto di scelta rapida per interrompere l’acquisizione in procmon.exe è Ctrl-E. Fondamentalmente si “pulisce” lo schermo, si preme Ctrl-E per catturare e avvio il servizio WAS. Quando quest’ultimo si ferma,blocco la cattura di arresto con Ctrl-E. A questoo punto trovo percorsi che contengono “temp”, “log”, “config” o “app” in Process Monitor come si vede nello screenshot seguito.

Servizio WAS

Sembra che il servizio si aspetta una chiamata cartella c:inetpub tempAppPools e sul mio server questa directory non c’è. Ho creato la cartella, ho ri-attivato o WAS e successivamente IIS è tornato funzionale

Ultime dal Nostro BLog