FIX: xp_enumgroups genera una violazione di accesso quando viene passato un parametro di grandi dimensioni

Traduzione articoli Traduzione articoli
Identificativo articolo: 294338 - Visualizza i prodotti a cui si riferisce l?articolo.
BUG #: 351927 (RIFERIMENTO)
Espandi tutto | Chiudi tutto

Sintomi

xp_enumgroups fornisce un elenco di gruppi locali di Microsoft Windows NT o un elenco dei gruppi globali definiti in un dominio Windows NT specificato, fornito dal parametro.

Se un parametro di grandi dimensioni viene passato alla routine xp_enumgroups memorizzati, viene generata una violazione di accesso e la connessione termina con i messaggi di errore che seguono:
ODBC: Msg 0, livello 19, stato 1
SqlDumpExceptionHandler: Processo 53 generata eccezione irreversibile c0000005 EXCEPTION_ACCESS_VIOLATION. Questo processo verrà terminato.

ODBC: Msg 0, livello 20, stato 1
Funzione stored xp_enumgroups nella libreria 'xplog70.dll' generato una violazione di accesso. 53 Processo verrà terminato.

Connessione interrotti
Se la dimensione della stringa passata come un parametro è molto grande la violazione di accesso interrompe il servizio di SQL Server. Il messaggio di errore che si verifica è simile a:
[Microsoft][Driver ODBC SQL Server][DBMSLPCN]ConnectionCheckForData (CheckforData()).
Server: Messaggio 11, livello 16, stato 1, riga 0
Errore generale di rete. Consultare la documentazione della rete.

Risoluzione

Per risolvere il problema, ottenere il service pack più recente per SQL Server 2000. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
290211INF: Come ottenere il Service Pack più recente per SQL Server 2000

Status

Microsoft ha confermato che questo problema riguarda SQL Server 2000. Il problema è stato risolto nel Service Pack 1 per SQL Server 2000.

Informazioni

Questo problema si verifica solo se la dimensione della stringa che viene chiamata da xp_enumgroups è maggiore di 228 byte. Il testo esatto del messaggio di errore può variare in base la dimensione della stringa passata.

Ad esempio, se la stringa è 229 byte, verrà visualizzato questo messaggio di errore:
Server: Messaggio build, livello 20, stato 1, procedura xp_enumgroups, riga 1

Posizione: dbccdll.cpp:516
Espressione: pElem == ricerca (pElem-> m_DLLName.m_str)
SPID: 51
ID processo: 768

Connessione interrotti
procedura per riprodurre il comportamento

È possibile utilizzare le seguenti operazioni per riprodurre il problema.

  • Per causare una violazione di accesso si verifica, utilizzare questo codice:
    xp_enumgroups 'Scanning directory [C:\*]
    Scanning directory [C:\*]
    Scanning directory [C:\APSETUP\*]
    Scanning directory [C:\APSETUP\*]
    Scanning directory [C:\APSETUP\*]
    Scanning directory [C:\*]
    Scanning directory [C:\cmdcons\*]
    Scanning directory [C:\*]'
    						
  • Per causare una violazione di accesso, e inoltre provocare l'interruzione utilizzo del servizio SQL Server questo codice:
    xp_enumgroups 'Scanning directory [C:\*]
    Scanning directory [C:\*]
    Scanning directory [C:\APSETUP\*]
    Scanning directory [C:\APSETUP\*]
    Scanning directory [C:\APSETUP\*]
    Scanning directory [C:\*]
    Scanning directory [C:\cmdcons\*]
    Scanning directory [C:\*]
    Scanning directory [C:\*]
    Scanning directory [C:\APSETUP\*]
    Scanning directory [C:\APSETUP\*]
    Scanning directory [C:\APSETUP\*]
    Scanning directory [C:\APSETUP\*]
    Scanning directory [C:\APSETUP\*]
    Scanning directory [C:\APSETUP\*]
    Scanning directory [C:\APSETUP\*]
    Scanning directory [C:\APSETUP\*]
    Scanning directory [C:\APSETUP\*]
    Scanning directory [C:\*]
    Scanning directory [C:\cmdcons\*]
    Scanning directory [C:\*]'
    						

Proprietà

Identificativo articolo: 294338 - Ultima modifica: giovedì 6 novembre 2003 - Revisione: 3.2
Le informazioni in questo articolo si applicano a:
  • Microsoft SQL Server 2000 Standard Edition
Chiavi: 
kbmt kbbug kbfix kbsqlserv2000sp1fix KB294338 KbMtit
Traduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 294338
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com