Rotinas
- Procedimentos padrões para banco de dados (Tarefa de Manutenção);
CHECK DATABASE INTEGRITY:
Executa verificação de integridade dos bancos. Durante essa task são executados os comandos DBCC CHECKCATALOG, DBCC CHECKTABLE e DBCC CHECKALLOC;
REORGANIZE INDEX:
Reordena os índices em tabelas;
UPDATE STATISTICS:
atualiza as estatísticas de consulta às tabelas;
CLEANUP HISTORY:
Remove histórico de informações do banco MSDB, responsável por gerenciar as atividades de manutenção;
REBUILD INDEX:
Dropa os índices atuais e recria novos;
- Criar usuários específicos por aplicação e suas respectivas permissões;
Usarios: USERSYSTEM, USERAPP, USEREST
- Gerar relatórios mensais dos bancos de dados para controle interno com foco na ProAtividade;
- Taxa de crescimento, Taxa de acesso, Error frequentes, verificação da estatísticas entre outros;
Obs: Em ambientes críticos, envolver a equipe de T.I. interna da empresa para dar suporte os processos;
ANALISE DE INDEX SQLSERVER
|
avg_fragmentation_in_percent value Corrective statement
> 5% and < = 30% ALTER INDEX REORGANIZE
> 30% ALTER INDEX REBUILD WITH (ONLINE = ON)*
SELECT DB_ID() AS [Database ID];
GO
select
object_schema_name(ps.object_id) as ObjectSchema,
object_name (ps.object_id) as ObjectName,
ps.object_id ObjectId,
i.name as IndexName,
'ALTER INDEX ' + i.name + ' ON ' + object_name (ps.object_id) + ' REBUILD ;',
ps.avg_fragmentation_in_percent,
ps.page_count
from sys.dm_db_index_physical_stats(7, null, null, null, null) ps
inner join sys.indexes i
on i.object_id = ps.object_id and
i.index_id = ps.index_id
where
avg_fragmentation_in_percent > 5 -- reorganize and rebuild
and ps.index_id > 0
order by avg_fragmentation_in_percent desc
|
LISTAR INDEX E INFO
|
SELECT
TableName = t.name,
IndexName = ind.name,
IndexId = ind.index_id,
ColumnId = ic.index_column_id,
ColumnName = col.name,
ind.*,
ic.*,
col.*,
'ALTER INDEX ' + ind.name + ' ON ' + t.name + ' REBUILD WITH (ONLINE=ON);',
'ALTER INDEX ' + ind.name + ' ON ' + t.name + ' REBUILD;',
'ALTER INDEX ALL ON' + t.name + ' REBUILD;'
FROM
sys.indexes ind
INNER JOIN
sys.index_columns ic ON ind.object_id = ic.object_id and ind.index_id = ic.index_id
INNER JOIN
sys.columns col ON ic.object_id = col.object_id and ic.column_id = col.column_id
INNER JOIN
sys.tables t ON ind.object_id = t.object_id
WHERE
ind.is_primary_key = 0
AND ind.is_unique = 0
AND ind.is_unique_constraint = 0
AND t.is_ms_shipped = 0
ORDER BY
t.name, ind.name, ind.index_id, ic.index_column_id
|
UPDATE STATISTICAS COMPLETA
|
EXEC sp_updatestats;
|
REBUILD POR TABELA
|
SELECT 'ALTER INDEX ALL ON ' + TABLE_NAME + ' REBUILD;'
FROM information_schema.tables
|
0 comentários:
Post a Comment