Al momento sei offline in attesa che la connessione Internet venga ristabilita

FIX: Una violazione di accesso quando si esegue DBCC UPDATEUSAGE su un database con il numero di oggetti

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: 828699
Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
BUG #: 356457 (RIFERIMENTO)
Sintomi
Se si esegue il comando DBCC UPDATEUSAGE su un database contenente tabelle più di 32.767, il comando genera una violazione di accesso gestito. The connection that was used to run the command is terminated, and a stack that is similar the following is written to the Microsoft SQL Server error log:
* 008FD1AC Module(sqlservr+004FD1AC) (UpdateUsage::Init+00000365)* 008FCDFE Module(sqlservr+004FCDFE) (DbccUpdateUsage+00000033)* 005F45B9 Module(sqlservr+001F45B9) (CStmtDbcc::XretExecute+000013F3)* 0040F403 Module(sqlservr+0000F403) (CMsqlExecContext::ExecuteStmts+000002D9)* 0040EA95 Module(sqlservr+0000EA95) (CMsqlExecContext::Execute+000001B6)* 00410159 Module(sqlservr+00010159) (CSQLSource::Execute+00000331)* 0053C498 Module(sqlservr+0013C498) (language_exec+000003E1)* 00411099 Module(sqlservr+00011099) (process_commands+000000EC)* 41073379 Module(UMS+00003379) (ProcessWorkRequests+0000024A)* 41073071 Module(UMS+00003071) (ThreadStartRoutine+000000BD)* 7800BEA1 Module(MSVCRT+0000BEA1) (beginthread+000000CE)				
This example stack was captured on a computer that is running SQL Server 2000 Service Pack 2 (SP2) build 8.00.534.
Risoluzione

Informazioni sul Service pack

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:
290211Come ottenere il service pack più recente per SQL Server 2000

Informazioni sull'hotfix

La versione inglese di questo aggiornamento rapido (hotfix) presenta gli attributi di file (o successivi) elencati nella tabella riportata di seguito. 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   --------------------------------------------------------------------   31-May-2003  18:45  2000.80.818.0      78,400  Console.exe         25-Jun-2003  01:01  2000.80.818.0      33,340  Dbmslpcn.dll        25-Apr-2003  02:12                    786,432  Distmdl.ldf   25-Apr-2003  02:12                  2,359,296  Distmdl.mdf   30-Jan-2003  01:55                        180  Drop_repl_hotfix.sql   26-Aug-2003  20:16  2000.80.854.0     528,960  Dtspump.dll         23-Jun-2003  22:40  2000.80.837.0   1,557,052  Dtsui.dll           23-Jun-2003  22:40  2000.80.837.0     639,552  Dtswiz.dll          24-Apr-2003  02:51                    747,927  Instdist.sql   03-May-2003  01:56                      1,581  Inst_repl_hotfix.sql   08-Feb-2003  06:40  2000.80.765.0      90,692  Msgprox.dll         01-Apr-2003  02:07                      1,873  Odsole.sql   05-Apr-2003  01:46  2000.80.800.0      62,024  Odsole70.dll        07-May-2003  20:41  2000.80.819.0      25,144  Opends60.dll        02-Apr-2003  21:48  2000.80.796.0      57,904  Osql.exe            02-Apr-2003  23:15  2000.80.797.0     279,104  Pfutil80.dll        04-Aug-2003  18:17                    550,780  Procsyst.sql   22-May-2003  22:57                     19,195  Qfe469571.sql   11-Jul-2003  17:04                  1,084,147  Replmerg.sql   04-Apr-2003  21:53  2000.80.798.0     221,768  Replprov.dll        08-Feb-2003  06:40  2000.80.765.0     307,784  Replrec.dll         13-Aug-2003  16:28                  1,086,797  Replsys.sql   13-Aug-2003  16:28                    986,603  Repltran.sql   29-Jul-2003  20:13  2000.80.819.0     492,096  Semobj.dll          31-May-2003  18:27  2000.80.818.0     172,032  Semobj.rll   05-Aug-2003  21:06                    127,884  Sp3_serv_uni.sql   01-Jun-2003  01:01  2000.80.818.0   4,215,360  Sqldmo.dll          07-Apr-2003  17:44                     25,172  Sqldumper.exe       19-Mar-2003  18:20  2000.80.789.0      28,672  Sqlevn70.rll   02-Jul-2003  00:18  2000.80.834.0     180,736  Sqlmap70.dll        08-Feb-2003  06:40  2000.80.765.0      57,920  Sqlrepss.dll        26-Aug-2003  20:16  2000.80.854.0   7,598,161  Sqlservr.exe        25-Jul-2003  21:44  2000.80.845.0     590,396  Sqlsort.dll         08-Feb-2003  06:40  2000.80.765.0      45,644  Sqlvdi.dll          25-Jun-2003  01:01  2000.80.818.0      33,340  Ssmslpcn.dll        01-Jun-2003  01:01  2000.80.818.0      82,492  Ssnetlib.dll        01-Jun-2003  01:01  2000.80.818.0      25,148  Ssnmpn70.dll        01-Jun-2003  01:01  2000.80.818.0     158,240  Svrnetcn.dll        31-May-2003  18:59  2000.80.818.0      76,416  Svrnetcn.exe        30-Apr-2003  23:52  2000.80.816.0      45,132  Ums.dll             02-Jul-2003  00:19  2000.80.834.0      98,816  Xpweb70.dll
Nota A causa delle dipendenze fra i file, la funzionalità che contiene i file o l'aggiornamento rapido (hotfix) più recente può contenere anche ulteriori file.

È possibile applicare questa correzione solo a un computer in cui è in esecuzione SQL Server 2000 Service Pack 3 (SP3).
Status
Microsoft ha confermato che questo problema riguarda i prodotti Microsoft elencati all'inizio di questo articolo. Questo problema è stato innanzitutto corretto in SQL Server 2000 Service Pack 4.
Workaround
Per aggirare il problema su un database con molti oggetti, eseguire DBCC UPDATEUSAGE separatamente in ogni tabella. Lo script seguente fornisce un esempio di come effettuare questa operazione: c
USE <your_database_name>GODECLARE c CURSOR LOCAL STATIC FOR  SELECT TABLE_NAME, TABLE_SCHEMA   FROM INFORMATION_SCHEMA.TABLES   WHERE TABLE_TYPE = 'BASE TABLE'DECLARE @tblname nvarchar (4000)DECLARE @ownername sysnameDECLARE @dbname sysnameSET @dbname = DB_NAME()OPEN cFETCH NEXT FROM c INTO @tblname, @ownernameWHILE (@@FETCH_STATUS <> -1)BEGIN  SET @tblname = '[' + @ownername + '].[' + @tblname + ']'  RAISERROR ('Running DBCC UPDATEUSAGE on table: %s', 0, 1, @tblname) WITH NOWAIT  DBCC UPDATEUSAGE (@dbname, @tblname)  FETCH NEXT FROM c INTO @tblname, @ownernameENDCLOSE cDEALLOCATE c

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 828699 - Ultima revisione: 02/26/2014 23:33:41 - Revisione: 7.3

Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000 Workgroup Edition, Microsoft SQL Server 2000 Desktop Engine (Windows), Microsoft SQL Server 2000 Enterprise Edition 64-bit

  • kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbqfe kbsqlserv2000presp4fix kbfix kbbug KB828699 KbMtit
Feedback