FIX: Lettura di una traccia di Profiler con il:: fn_trace_gettable Function e 1000 SPID potrebbe causa errori

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.

325197
Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
BUG #: 360090 (RIFERIMENTO)
Sintomi
Se si utilizza il : fn_trace_gettable funzione per leggere una traccia di SQL Profiler, una violazione di accesso o vari altri messaggi di errore può verificarsi quando vengono soddisfatte tutte le condizioni seguenti:
  • Il file di traccia contiene gli eventi per l'ID processo del server (SPID) 1000.
  • Il primo evento per 1000 SPID precede gli eventi per SPIDS superiori a 1000.
  • La traccia acquisita una o più delle seguenti colonne:
    • nomeserver
    • NTUserName
    • NTDomainName
    • LoginName
    • LoginSid
    • a ClientProcessID
    • ApplicationName
    • HostName
Di seguito è una query di esempio che potrebbe causare una violazione di accesso, se vengono soddisfatte tutte le condizioni nell'elenco:
select * from ::fn_trace_gettable(<trace_file>, 1)	
perché il bug fa sì che la routine di scrivere oltre i limiti della matrice, dispone della possibilità di sovrascrivere strutture di dati utilizzati da altre connessioni; di conseguenza, è possibile che tali connessioni sperimentare diverse condizioni di errore.
Cause
Gli eventi elencati sono eventi ripetibili. I valori registrati per tutte le colonne è sempre lo stesso per la durata di connessione della tale SPID. Un'ottimizzazione è posto in cui il server invia solo questi valori una sola volta, successivamente, fa riferimento al valore di colonna ripetute.

Durante la lettura il file di traccia :: fn_trace_gettable deve mantenere una matrice di questi valori in modo che può essere prodotta nel set di risultati per tutte le righe successive. Si è verificato un errore nel quella che questa matrice viene ridimensionata durante l'elaborazione di un evento per 1000 SPID.

Risoluzione
Per risolvere il problema, ottenere il service pack più recente per Microsoft 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
Nota : il seguente aggiornamento rapido è stato creato prima del rilascio di Microsoft SQL Server 2000 Service Pack 3.

La versione in lingua inglese di questa correzione presenta gli attributi di file elencati nella tabella seguente (o successivi). Date e ore per questi file sono indicati nella coordinated universal time (UTC). Quando si visualizzano le informazioni sul file, viene convertito in ora locale. Per calcolare la differenza tra ora UTC e l'ora locale, utilizzare la scheda fuso orario dello strumento Data e ora del Pannello di controllo.
   Date         Time   Version         Size             File name   -----------------------------------------------------------------   18-Jan-2002  04:45  2000.80.568.0      29,244 bytes  Dbmslpcn.dll        19-Nov-2002  19:50  2000.80.703.0   7,471,185 bytes  Sqlservr.exe        18-Jan-2002  04:45  2000.80.568.0      29,244 bytes  Ssmslpcn.dll     				
Nota : causa delle dipendenze fra i file, la funzionalità che contiene i file o l'aggiornamento rapido (hotfix) più recente può contenere anche file aggiuntivi.


Workaround
Aprire il file di traccia con SQL Profiler. Se si desidera caricare la traccia in una tabella, utilizzare la funzionalità di Salva . Per utilizzare la funzionalità Salva con nome dal menu file , fare clic su Salva con nome e quindi per selezionare la Tabella di traccia .

Si noti che se il file di traccia contiene SPIDS superiore a 1023, è necessario utilizzare SQL Server 2000 Service Pack 1 o versione successiva, versione degli strumenti client:
272737FIX: SQL Profiler genera errori quando la lettura del file di traccia che superano 1023 SPID
Status
Microsoft ha confermato che questo problema riguarda i prodotti Microsoft elencati all'inizio di questo articolo.

Questo problema è stato innanzitutto corretto in Microsoft SQL Server 2000 Service Pack 3.

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 325197 - Ultima revisione: 01/17/2015 05:46:49 - Revisione: 6.3

  • Microsoft SQL Server 2000 Standard Edition
  • kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbsqlserv2000sp3fix kbsqlserv2000presp3fix kbfix kbqfe kbbug kbpending KB325197 KbMtit
Feedback