Os procedimentos a seguir são apenas sugestões, antes de qualquer alteração em sua base de dados sugerimos que solicite a análise e aprovação de seu DBA/Desenvolvedor.
O Mecanismo de banco de dados do SQL Server mantém os índices automaticamente sempre que são realizadas operações de entrada, atualização ou exclusão nos dados subjacentes. No decorrer do tempo, essas modificações podem fazer com que as informações do índice sejam dispersadas pelo banco de dados (fragmentadas). A fragmentação ocorre quando os índices têm páginas nas quais a ordem lógica, com base no valor de chave, não corresponde à ordem física do arquivo de dados. Índices com fragmentação pesada degradam o desempenho da consulta e causam lentidão de resposta do aplicativo, podendo gerar até erros em alguns casos. Para obter mais informações, consulte o site da Microsoft.
Você pode solucionar a fragmentação de índice reorganizando ou recriando um índice.
O procedimento a seguir mostra como verificar e desfragmentar índices em uma base MS SQL Server 2008 ou MS SQL Server 2005.
Verificando a fragmentação
Para verificar a fragmentação dos índices rode o seguinte comando SQL (basta definir o nome da base na primeira linha):
USE NomedaBase GO SELECT a.index_id, name, avg_fragmentation_in_percent FROM sys.dm_db_index_physical_stats (DB_ID(DB_NAME()), OBJECT_ID(N'dbo.OCR'), NULL, NULL, NULL) AS a JOIN sys.indexes AS b ON a.object_id = b.object_id AND a.index_id = b.index_id WHERE name <> '' ORDER BY avg_fragmentation_in_percent DESC;
Desfragmentando os índices
Verificando os resultado da query anterior podemos verificar os índices que precisam ser recriados, os índices com o campo ‘avg_fragmentation_in_percent’ maior do que 30% devem ser recriados
Para recriar um índice pelo modo visual do SQL Server Management Studio basta expandir os objetos da base de dados, expandir ‘Tables’, em seguida a tabela desejada, depois ‘Indexes’ e por último clicar com o botão direito do mouse sobre o índice desejado e clicar em ‘Rebuild’ (recompilar). Para índices com fragmentação abaixo de 30% você pode utilizar a opção ‘Reorganize’:
Em seguida podemos verificar o total de fragmentação do índice e basta clicar em ‘OK’ para recriá-lo
Para executar Rebuild em todos os índices da tabela basta seguir os passos acima, porém clique com o botão direito em Indexes e em seguida em ‘Rebuild All’.
Recriar os índices de uma tabela via comando SQL (Basta definir o nome da tabela na primeira linha):
ALTER INDEX ALL ON NomedaTabela REBUILD WITH (FILLFACTOR = 80, SORT_IN_TEMPDB = ON, STATISTICS_NORECOMPUTE = ON); GO
Recriar todos os índices do banco de dados (Definir o nome da base de dados na primeira linha)
Para recriar todos os índices da base de dados pode ser utilizado o seguinte comando SQL (Recomendamos que não seja executado em horário com muitos acessos a base de dados pois os índices ficarão indisponíveis durante o processo):
use NomedaBase GO DECLARE @TableName VARCHAR(255) DECLARE @sql NVARCHAR(500) DECLARE @fillfactor INT SET @fillfactor = 80 DECLARE TableCursor CURSOR FOR SELECT OBJECT_SCHEMA_NAME([object_id])+'.'+name AS TableName FROM sys.tables OPEN TableCursor FETCH NEXT FROM TableCursor INTO @TableName WHILE @@FETCH_STATUS = 0 BEGIN SET @sql = 'ALTER INDEX ALL ON ' + @TableName +' REBUILD WITH (FILLFACTOR = ' + CONVERT(VARCHAR(3),@fillfactor) + ')' EXEC (@sql) FETCH NEXT FROM TableCursor INTO @TableName END CLOSE TableCursor DEALLOCATE TableCursor GO
Veja também
Primeiramente execute o código a seguir para adicionar o grupo de arquivos e um arquivo em seu banco de dados para uso da indexação full text ;
alter database [suabase] add filegroup [suabase_fulltext] go
Agora Execute o código a seguir para criar o Catálogo Full Text de sua base de dados ;
create fulltext catalog [catalogo] on filegroup [suabase_fulltext1] go
Para Verificar se o catálogo foi criado, espanda o nó Storage, Full Text Catalogs sob seu banco de dados .
Para Criar o Índice dê um duplo clique no catálogo, e posteriormente na opção de Tables/Views .
Nesta tela basta verificar qual dos seus objetos deseja criar o índice fulltext e assimilar o mesmo no catálogo. Você terá visível a constraint criada e os campos da tabela selecionada.
Basta marcar qual campo deseja criar o índice e caso necessário selecionar a linguagem de busca, selecionar o tipo de alteração do índice e clicar em OK para finalizar.
Veja também
- Dados de acesso ao MS SQL Server
- Database mail do SQL Server
- Backup da Base MSSQL com Database Publishing Wizard
Każdy akapit był urzekający do przeczytania Dziękuję Tobie złożoną temat dostępną Nadmierną pracę|To post to klejnot Więc cieszę się konfigurowałem to|Ty był uderzony olśniewające umiejętność do pióra angażująca treść|To pismo na najwyższym poziomie zdobyłeś fresh obserwującego|Twój usługa pocztowa był zarówno wnikliwy, jak i cudownie napisany|Jestem zdumiony by jak wiele au fait z tego posta|wykonujesz znaczną pracę To wysłanie jest pozostań o tym} {https://kredytero.pl|kredytero.pl|kredyt|kredyty|kredyt online|kredyty online|kredyt przez internet|kredyty przez internet}!
Każdy akapit był gratify do przeczytania Dzięki Tobie złożoną teza dostępną Pojemną pracę|To post to klejnot Więc cieszę się przyniosłem to|Ty był uderzony olśniewające umiejętność do pisania atrakcyjna treść|To pismo na najwyższym poziomie zdobyłeś unfamiliar obserwującego|Twój kolekcja był zarówno wnikliwy, jak i pięknie napisany|Jestem zdumiony poza jak wiele kulturalnie z tego posta|wykonujesz świetną pracę To post jest ratyfikacją o tym} {pożyczki online|pożyczki|pożyczki pozabankowe|http://pozyczkaland.pl/|pozyczkaland.pl/|pożyczka online|pożyczka|pożyczka pozabankowa}!
I’m impressed with your perspicaciousness of appreciation and expos‚ skill.
Your collection was both insightful and charmingly written bitcoin game simulator.
Your collection is both educational and entertaining A rare find.
This article is a treasure trove of information Show one’s gratitude you play online on sports betting sites.
You’re a extravagant writer This post proves it up till again.
Your insights are invaluable Really cognizant your work blackjackcasinobub.com/.
I’m impressed with your depth of facts and criticism skill.
You father an astonishing adeptness to pen engaging content play online roulette.
Your cleverness to enrapture readers is remarkable Gigantic post.
Your passion for the area of study is contagious Loved reading this slots casino.
Every paragraph was a entrance to read Offer you where to play poker on real money.