====== Рекомендации после переезда бази 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
* **Крок 4.2.А** — REBUILD для >30% онлайн (можна з користувачами, повільніше):
ALTER INDEX ALL ON dbo._AccumRg10674
REBUILD WITH (ONLINE = ON)
* **Крок 4.2.Б** — REBUILD для >30% офлайн (тільки без користувачів, швидше)):
ALTER INDEX ALL ON dbo._AccumRg10674
REBUILD