Fare clic sul pulsante "Start " di Windows e selezionare " Tutti i programmi ". Clicca per aprire The Sims 2
Inserire le seguenti istruzioni SQL nella finestra della console " Console di gestione di SQL . " :
SET NOCOUNT ON ;
DECLARE @ nometabella varchar ( 255) ;
DECLARE @ execstr varchar ( 400 ) ;
DECLARE @ objectid int ;
DECLARE @ IndexID int ;
DECLARE @ frag decimale ;
DECLARE @ maxfrag decimale ;
SELECT @ maxfrag = 30.0 ; ' . '
DICHIARARE tabelle CURSOR FOR
SELECT + TABLE_SCHEMA + NOME_TABELLA
DA INFORMATION_SCHEMA.TABLES
DOVE TABLE_TYPE = ' tabella di base' ;
CREATE TABLE # FragList (
NomeOggetto char ( 255 ) , < br
ObjectId > int , Stati
IndexName char ( 255 ) , Stati
IndexID int , Stati
Lvl int , brevi
CountPages int , Stati
countRows int , Stati
MinRecSize int , Stati
MaxRecSize int , Stati
AvgRecSize int , Stati
ForRecCount int , brevi
Estensioni int , brevi
ExtentSwitches int , brevi
AvgFreeBytes int , Stati
AvgPageDensity int , Stati
ScanDensity decimale , Stati
BestCount int , Stati
ActualCount int , Stati
LogicalFrag decimale , Stati
ExtentFrag decimale) ;
tavoli aperti ;
ANDARE A PRENDERE DOPO
dalle tabelle
INTO @ nome_tabella ;
MENTRE @ @ FETCH_STATUS = 0
BEGIN
INSERT INTO # FragList
EXEC ( ' DBCC SHOWCONTIG ( '' ' + @ nometabella + ''' ) per
CON FAST, TABLERESULTS , ALL_INDEXES , NO_INFOMSGS ');
ANDARE A PRENDERE DOPO
dalle tabelle
INTO @ nometabella ;
END;
tavoli stretti ;
DEALLOCATE tabelle ;
DICHIARARE indici del cursore per i
Seleziona NomeOggetto , ObjectId , IndexID , LogicalFrag
FROM # FragList
DOVE LogicalFrag > = @ maxfrag
E INDEXPROPERTY ( ObjectId , IndexName , ' IndexDepth ') > 0 ;
indici aperti;
ANDARE A PRENDERE DOPO
da indici
INTO nometabella @ , @ objectid , IndexID @ , @ frag ;
MENTRE @ @ FETCH_STATUS = 0
BEGIN
PRINT ' esecuzione di DBCC INDEXDEFRAG ( 0 , ' + RTRIM ( @ nometabella ) + ' , Stati
' + RTRIM ( @ IndexID ) + ' ) - frammentazione attualmente '
+ RTRIM ( CONVERTITO ( varchar ( 15 ) , @ frag ) ) + '% ';
SELECT @ execstr =' DBCC INDEXDEFRAG ( 0 , '+ RTRIM ( @ ObjectID ) + ' , Stati
' + RTRIM ( @ IndexID ) + ' )';
EXEC ( @ execstr ) ;
ANDARE A PRENDERE DOPO
indici
INTO nometabella @ , @ objectid , IndexID @ , @ frag ;
END;
indici CHIUDI
;
DEALLOCATE indici ;
DROP TABLE # FragList ; .
GO
3
Fare clic su " File" e selezionare "Esegui " per deframmentare l'indice del database MSSQL
software © www.354353.com