Рекомендации после переезда бази 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