Это старая версия документа!
Рекомендации после переезда бази 1с на другую платфому 1c
- Крок 1 — очистити кеш сервера 1С
- Крок 2 — очистити кеш планів SQL Server
DECLARE @db_id INT = DB_ID('ViatecUT') -- вкажіть точну назву БД
DBCC FLUSHPROCINDB(@db_id)
- Крок 3 — оновити статистику SQL
USE ViatecUT -- замініть на точну назву бази GO EXEC sp_updatestats GO
- Крок 4 — Знайти фрагментовані індекси
SELECT
OBJECT_NAME(i.object_id) AS таблиця,
i.name AS індекс,
ROUND(s.avg_fragmentation_in_percent, 1) AS фрагментація
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'LIMITED') s
JOIN sys.indexes i ON s.object_id = i.object_id
AND s.index_id = i.index_id
WHERE s.avg_fragmentation_in_percent > 30
AND s.page_count > 1000
ORDER BY s.avg_fragmentation_in_percent DESC
- Крок 4.1 — REORGANIZE для 10-30% (можна з користувачами)
-- Генерує команди для реорганізації
SELECT
'ALTER INDEX ' + QUOTENAME(i.name) +
' ON ' + QUOTENAME(OBJECT_NAME(i.object_id)) +
' REORGANIZE;' AS команда
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'LIMITED') s
JOIN sys.indexes i ON s.object_id = i.object_id
AND s.index_id = i.index_id
WHERE s.avg_fragmentation_in_percent BETWEEN 10 AND 30
AND s.page_count > 1000