Software  
 
Conhecimento computador >> Software >> Software de banco de dados >> 
Como desfragmentar um banco de dados MSSQL
A fragmentação do banco de dados ocorre quando a ordem lógica do índice de banco de dados não coincide com a alocação física dos dados no disco. Como as alterações de dados no banco de dados , as tabelas de índice do banco de dados tornam-se espalhados por todo o disco. Ele aumenta o tempo necessário para acessar os dados , resultando em um desempenho aplicações diminuiu . Os comandos do console de banco de dados MSSQL permitem reconstruir ou desfragmentação índices. Você precisa usar a instrução DBCC DBEREINDEX para desfragmentar um índice de banco de dados MSSQL . Instruções
1

Clique no botão " Iniciar" do Windows e selecione "Todos os Programas". Clique para abrir a
2

Digite os seguintes comandos SQL na janela do console " Console de Gerenciamento de SQL. " :

SET NOCOUNT ON ;

DECLARE @ nometabela varchar ( 255);

varchar DECLARE @ execstr (400 );

DECLARE @ objectid int;

DECLARE @ indexid int;

DECLARE @ frag decimal ;

DECLARE @ MaxFrag decimal;

SELECT @ MaxFrag = 30,0 ;

DECLARE tabelas CURSOR PARA

Selecione TABLE_SCHEMA + '.' + TABLE_NAME

de information_schema.tables

ONDE TABLE_TYPE = ' BASE TABLE' ;

CREATE TABLE # fraglist (

ObjectName char ( 255),

ObjectId int,

IndexName char ( 255),

IndexId int,

Lvl int,

CountPages int,

CountRows int,

MinRecSize int,

MAXRECSIZE int,

AvgRecSize int,

ForRecCount int,

Extensões int ,

ExtentSwitches int,

AvgFreeBytes int,

AvgPageDensity int,

ScanDensity decimal ,

BestCount int,

ActualCount int,

LogicalFrag decimal ,

ExtentFrag decimal );

mesas abertas;

FETCH NEXT

de tabelas

INTO @ nometabela ;

ENQUANTO @ @ FETCH_STATUS = 0

BEGIN

INSERT INTO # fraglist

EXEC (' DBCC SHOWCONTIG ( '' ' + @ nometabela +'' ')

COM RÁPIDO, TABLERESULTS , ALL_INDEXES , NO_INFOMSGS ');

FETCH NEXT

de tabelas

INTO @ nometabela ;

END;

mesas próximas;

tabelas DEALLOCATE ;

DECLARAR índices CURSOR PARA

Selecione ObjectName , ObjectId , IndexId , LogicalFrag

DE # fraglist

ONDE LogicalFrag > = @ MaxFrag

E INDEXPROPERTY ( ObjectId , IndexName , ' IndexDepth ')> 0;
índices

aberta;

FETCH NEXT

DE índices

INTO @ tablename , @ objectid , @ indexid , @ frag ;

ENQUANTO @ @ FETCH_STATUS = 0

BEGIN

PRINT ' A execução de DBCC INDEXDEFRAG (0,' + RTRIM ( @ tablename ) + ' ,

' + RTRIM ( @ indexid ) + ') - fragmentação atualmente 'em

+ RTRIM ( CONVERT ( varchar ( 15) , @ frag ) ) +' % ';

SELECT @ execstr =' DBCC INDEXDEFRAG (0, ' + RTRIM ( @ objectid ) + ' ,

' + RTRIM ( @ indexid ) + ')' ;

EXEC ( @ execstr );

FETCH NEXT

DE índices

INTO @ tablename , @ objectid , @ indexid , @ frag ;

END ;

índices próximos;

índices DEALLOCATE ;

DROP TABLE # fraglist ;

GO
3

Clique em "Arquivo " e selecione " Executar" para desfragmentar o índice do banco de dados MSSQL
< . br>

Anterior :

Próximo : No
  Os artigos relacionados
·Como Aplicar Arquivos de isolamento 
·Como assinar um banco de dados Lotus 
·Como converter um calendário gregoriano data para um J…
·Como publicar Intelligent Cubes no MicroStrategy 
·Como cancelar o registro de um banco de dados no Oracle…
·Como substituir Tabs da Oracle Output 
·Como ler um teste de Tukey em Minitab 
·Como configurar o Gerenciador de SQL para acesso remoto…
·Como inserir árabe no Oracle 
·Como adicionar muitos registros em um banco de dados Or…
  Artigos em destaque
·Como Adicionar Video Music campo no iTunes 
·Tipos de arquivo Paradox 
·Como gravar um DVD usando o Sonic RecordNow 
·Como aparar todos os dados no lado esquerdo do Valor 
·Como fazer backup de um disco rígido externo 
·Como descompactar arquivos Zip no Windows 
·Como fazer backup de todas as configurações para o MS…
·Como remover um vírus de um NTFS 
·Como fazer backup de um 360 com PowerISO 
·Como gravar arquivos em um CD DTS 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados