Spazio di indirizzi di problemi di prestazioni e la coerenza quando determinati moduli vengono caricati in SQL Server

IMPORTANTE: il presente articolo è stato tradotto tramite un software di traduzione automatica di Microsoft ed eventualmente revisionato dalla community Microsoft tramite la tecnologia CTF (Community Translation Framework) o da un traduttore professionista. Microsoft offre articoli tradotti manualmente e altri tradotti automaticamente e rivisti dalla community con l’obiettivo di consentire all'utente di accedere a tutti gli articoli della Knowledge Base nella propria lingua. Tuttavia, un articolo tradotto automaticamente, anche se rivisto dalla community, non sempre è perfetto. Potrebbe contenere errori di vocabolario, di sintassi o di grammatica. Microsoft declina ogni responsabilità per imprecisioni, errori o danni causati da una traduzione sbagliata o dal relativo utilizzo da parte dei clienti. Microsoft aggiorna frequentemente il software e gli strumenti di traduzione automatica per continuare a migliorare la qualità della traduzione.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 2033238
Sintomi
Quando determinati moduli vengono caricati nello spazio di indirizzi del processo di Microsoft SQL Server (Sqlservr.exe), è possibile riscontrare i seguenti sintomi:
  • Report dei vari messaggi di errore relativi al blocco e condizioni (ad esempio, SQL Server dell'utilità di pianificazione messaggio quali 17883, applicazione timeout messaggi, gravi blocco all'interno di SQL Server)
  • Risposta molto lento da SQL Server anche se la quantità di carico simultanea non insolitamente elevata
  • Eccezioni (ad esempio violazioni di accesso), messaggi di errore critico sulla coerenza del database, i messaggi di asserzione o terminazioni impreviste dei processi
  • Utilizzo della CPU al 100% e lunghi tempi di ripristino di database quando si utilizzano tabelle OLTP in memoria in SQL Server
Cause
Questi problemi si verificano poiché le applicazioni o altri software installati in un server che esegue SQL Server può caricare determinati moduli nel processo di SQL Server (Sqlservr.exe). Questa operazione può essere eseguita per ottenere un requisito di logica aziendale specifico, una funzionalità avanzata o monitoraggio delle intrusioni. Questi moduli è possono eseguire attività non supportata che includono modo importante API Win32 e le routine di SQL Server e la chiamata API rischiose. Inoltre, alcuni problemi intrinseci all'interno di questi moduli possono causare il danneggiamento di diverse strutture di memoria necessari per il processo di SQL Server funzionare correttamente.
Workaround
Avviso Questa procedura potrebbe rendere un computer o una rete più vulnerabile agli attacchi di utenti malintenzionati o programmi software dannosi, quali i virus. Si sconsiglia questa soluzione, tuttavia queste informazioni vengono fornite per consentire all'utente di implementarla a propria discrezione. Questa soluzione può essere utilizzata a proprio rischio.

Per risolvere questo problema, attenersi alla seguente procedura:
  1. Identificare il modulo che viene caricato nel processo di SQL Server e che causa il problema.
  2. Per il modulo in questione, effettuare le seguenti operazioni:
    1. Configurare l'applicazione di non caricare il modulo specifico nel processo di SQL Server.
    2. Contattare il fornitore del modulo o dell'applicazione per controllare gli aggiornamenti. Applicare eventuali aggiornamenti disponibili.
    3. In alcuni rari casi, potrebbe essere necessario rimuovere il modulo e il relativo software per ripristinare la stabilità del processo di SQL Server e il sistema associato.
    Nota In alcuni casi, potrebbe essere necessario eseguire tutte queste operazioni.
Informazioni
Team di supporto tecnico clienti Microsoft e servizi (CSS) ha identificato i seguenti moduli che possono causare i sintomi descritti nella sezione "Sintomi". Questo elenco verrà aggiornato in cui vengono individuati nuovi problemi. Questo elenco viene fornito in modo da identificare il processo descritto nella sezione "Risoluzione". Questo processo richiede in genere l'insieme di un set di dati di tracciatura e diagnostica iterativo per tutta la durata del problema.

I seguenti moduli possono causare problemi di stabilità e prestazioni quando vengono caricati nel processo di SQL Server:
  • ENTAPI. DLL
    ENTAPI. DLL viene caricata nel processo di SQL Server se è installato McAfee VirusScan Enterprise su un server che esegue Microsoft SQL Server e quindi configurare il software per il monitoraggio di SQL Server. Quando il modulo viene caricato, importante Win 32 API sono anche detoured all'interno del processo di SQL Server. Se si nota in questo modulo viene caricato nel processo di SQL Server, configurare McAfee VirusScan Enterprise per impedire che diversi avanzate di monitoraggio, come protezione Overflow del Buffer di SQL Server (Sqlservr.exe).
  • HIPI. DLL, HcSQL.dll, HcApi.dll, HcThe.dll
    Se si installa il software di prevenzione delle intrusioni di McAfee Host sullo stesso sistema di SQL Server, i file DLL vengono caricati nel processo di SQL Server. Se si nota in questo modulo viene caricato nel processo di SQL Server, configurare McAfee Host Intrusion prevenzione per escludere di SQL Server (Sqlservr.exe) dall'elenco a monitoraggio.
  • SOPHOS_DETOURED. DLL e SOPHOS_DETOURED_x64. DLL, SWI_IFSLSP_64.dll
    Se si installa il programma Antivirus Sophos su un server che esegue SQL Server, i file DLL vengono caricati nel processo di SQL Server. Se si nota che questo modulo viene caricato nel processo di SQL Server, è possibile configurare il valore AppInit_DLLs nella chiave sottochiave del Registro di sistema per evitare di caricare il modulo nel processo di SQL Server.
  • PIOLEDB. DLL e PISDK. DLL
    Questi file DLL vengono caricati nel processo di SQL Server se si utilizza il provider OLEDB PI per accedere ai dati da un server di pi greco o se si utilizzano stored procedure estese che utilizzano il SDK di pi greco. Se si nota che questi moduli vengono caricati nel processo di SQL Server, contattare il fornitore di questi moduli per configurare il provider OLE DB come un provider out-of-process. Questa configurazione consente di evitare la necessità di caricare i moduli nel processo di SQL Server.
Per ulteriori informazioni su come impostare i criteri di esclusione per Sqlservr.exe nel software applicativo descritto in questo articolo, consultare il manuale del prodotto o contattare il fornitore del software.

Nella tabella seguente fornisce ulteriori informazioni su prodotti o strumenti che automaticamente per verificare questa condizione nell'istanza di SQL Server e nelle versioni di SQL Server su cui viene valutata la regola.

Software di regolaTitolo regolaDescrizione della regolaVersioni del prodotto per la quale viene valutata la regola
System Center AdvisorModuli caricati in SQL Server che possono causare problemi di stabilità di serverSystem Center Advisor determina se l'elenco delle DLL citate in questo articolo viene caricato nel processo di SQL Server. Esaminare le informazioni fornite nella sezione "Le informazioni raccolte" dell'avviso advisor e quindi apportare le modifiche di configurazione necessarie che sono descritti nell'articolo.SQL Server 2008
SQL Server 2008 R2
SQL Server 2012
SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA)Intercettata le chiamate API di WindowsIn SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA) viene fornita una regola per rilevare i moduli caricati all'interno di SQL Server per supportare la protezione di Overflow del Buffer. Se si esegue lo strumento BPA, e viene visualizzato un messaggio di avviso intitolato "Motore - intercettate, chiamate API Windows" all'interno di SQL Server vengono caricati i moduli per il supporto di protezione di Overflow del Buffer. BPA rileva questo cercando tutti i moduli che hanno un nome simile a "% entapi.dll%" come nella vista a gestione dinamica (DMV) di sys.dm_os_loaded_modules.SQL Server 2008
SQL Server 2008 R2
SQL Server 2012
SQL Server 2012 Best Practice Analyzer (BPA di SQL Server 2012)Intercettata le chiamate API di WindowsIl BPA 2012 di SQL Server fornisce una regola per determinare se l'elenco delle DLL citate in questo articolo viene caricato nel processo di SQL Server. Se si esegue lo strumento BPA e si riceve un messaggio di avviso intitolato "Motore - intercettate chiamate API Windows", rivedere le informazioni fornite nell'istruzione "Problema" di BPA e apportare le modifiche di configurazione necessarie vengono illustrate nell'articolo.SQL Server 2012

I prodotti di terze parti descritti in questo articolo sono forniti da società indipendenti da Microsoft. Microsoft esclude ogni garanzia, implicita o esplicita relativa alle prestazioni o all'affidabilità di tali prodotti.

Le informazioni e la soluzione in questo documento rappresentano l'opinione corrente di Microsoft Corporation in relazione alle problematiche trattate alla data di pubblicazione. Questa soluzione è disponibile tramite Microsoft o tramite un provider di terze parti. Microsoft non consiglia specificamente qualsiasi provider di terze parti o una soluzione di terze parti che questo artico potrebbe descrivere. È inoltre possibile che ci siano altri provider di terze parti o soluzioni di terze parti non è descritte in questo articolo. Poiché Microsoft deve rispondere alle mutevoli condizioni del mercato, queste informazioni non devono essere interpretate come un impegno da Microsoft. Microsoft non garantisce circa l'accuratezza delle informazioni o soluzioni presentate da Microsoft o da qualsiasi provider di terze parti menzionato.

Microsoft non offre alcuna garanzia ed esclude tutte le rappresentazioni, garanzie e condizioni esplicite, implicite o per legge. Questi includono ma non sono limitati a rappresentazioni, garanzie o condizioni di titolo, non violazione, condizione soddisfacente, commerciabilità e idoneità per uno scopo particolare, per quanto riguarda qualsiasi servizio, soluzione, prodotto, o qualsiasi altro materiale o informazione. In nessun caso Microsoft sarà ritenuta responsabile per qualsiasi soluzione di terze parti che vengono citate in questo articolo.
Riferimenti
Per ulteriori informazioni sui criteri di supporto di SQL Server, fare clic sui numeri per visualizzare l'articolo della Microsoft Knowledge Base riportato di seguito:

Per ulteriori informazioni sul processo di SQL Server, fare clic sui numeri per visualizzare gli articoli della Microsoft Knowledge Base riportato di seguito:

198891 Modalità di esecuzione di un oggetto COM basato sulle DLL all'esterno del processo di SQL Server
243428 Come spostare extended stored procedure dal processo

Avviso: questo articolo è stato tradotto automaticamente

Eigenschappen

Artikel-id: 2033238 - Laatst bijgewerkt: 08/31/2016 12:07:00 - Revisie: 5.0

Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems, Microsoft SQL Server 2005 Enterprise X64 Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Express Edition with Advanced Services, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Standard X64 Edition, Microsoft SQL Server 2005 Workgroup Edition, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 Express with Advanced Services, Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2008 R2 Express with Advanced Services, Microsoft SQL Server 2012 Analysis Services, Microsoft SQL Server 2012 Business Intelligence, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2012 Web, Microsoft SQL Server 2012 Enterprise Core

  • kbmt KB2033238 KbMtit
Feedback